毕业设计(论文)基于单片机AT89C51的简易电子琴系统

上传人:仙*** 文档编号:80308717 上传时间:2022-04-25 格式:DOC 页数:42 大小:385.51KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于单片机AT89C51的简易电子琴系统_第1页
第1页 / 共42页
毕业设计(论文)基于单片机AT89C51的简易电子琴系统_第2页
第2页 / 共42页
毕业设计(论文)基于单片机AT89C51的简易电子琴系统_第3页
第3页 / 共42页
资源描述:

《毕业设计(论文)基于单片机AT89C51的简易电子琴系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机AT89C51的简易电子琴系统(42页珍藏版)》请在装配图网上搜索。

1、长沙航空职业技术学院毕业设计(论文)(专科2008届) 院(系):电子电气工程系 课 题: 基于单片机的简易电子琴 专 业:生产过程自动化 班 级:自动化0502 学生姓名: 指导老师: 学 号: 日 期:2008年04月20日长沙航空职业技术学院2008届毕业设计(论文)开题报告(2008届)学 院、系: 电子电气工程系 专 业: 生产过程自动化 学 生 姓 名: 班 级: 0502 学号 46 指导教师姓名: 职称 副教授 2007年 12月题目:基于单片机原理的简易电子琴系统 一、课题研究的意义 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率

2、的组合,即可构成我们所想要的音乐了,这些方面对于单片机来说就非常的方便。我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,对于一首歌我们只要把这首歌的音阶对应的频率关系弄正确即可得到节拍。基于单片机原理的电子琴大大简化了以前传统的音乐产生电路,使得元件得到减少,生产成本降低而且性能也得到了提高,并且耗能也降低了。我通过收集、查阅与发声原理、声音的产生电路有关的文献资料以及仿真调试软件的使用使我对单片机的应用前景有了深刻的了解。二.要研究或解决的问题、拟采用的方法或技术路线:一) 要解决的问题: 1)发声原理与声音的产生电路设计 2)喇叭放声放大电路的设计和制作 3)源程序的编写二)拟

3、采用的方法或路线:(1) 基本功能:1能够发出1.2.3.4.5.6.7等七个音符。2自选一首歌曲,按下启动键后,能自动演奏完该乐曲。 (2)方法或路线:该简易电子琴通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.将某一首音乐的简谱变换成

4、为常数表,计算机顺序调入时间常数并以中断方式执行,从P1.7来输出方波驱动喇叭,发出不同音节的声音,节拍的控制可通过调用200Ms延时子程序的次数来实现.单片机的晶振频率为12Hz,乐谱中的音符,频率及定时常数的关系:T0=216-1/2f*ti;其中f为音符对应的频率;ti为内部计时一次所用时间.例如:音调1对应的频率524Hz,其半周期T/2=1/2f=0.95Ms,用定时器T0方式1定时是器定时常数计算公式得到定时常数为16进制的FE25. 三、成果预测: 自选一首歌曲,按下启动键后,能自动演奏完该乐曲。1能够发出1.2.3.4.5.6.7等七个音符。2自选一首歌曲,按下启动键后,能自动

5、演奏完该乐曲。四、时间进度计划:12007年11月14日: 任务书下达日期 22007年12月30日:仔细阅读设计任务书,明确设计任务与要求,收集设计资料,准备设计工具。32008年1月1日2008年2月15日:确定控制方案,写出指令程序清单;设计控制系统的硬件接线图。42008年2月15日2008年2月20日:整合与完善。5. 2008年2月20日2008年3月1日:上机调试并编写设计说明书,准备答辩。指导教师意见。指导教师: 年 月 日说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经

6、导师审查后签署意见生效。(根据需要自行调整开题报告的页面)目 录摘要Abstract 第一章 绪论61. 1 课题背景61. 2 本文所做的主要工作7第二章 系统方案设计及主控芯片介绍 82. 1主体方案8 2. 1 电子琴的总体框图8 22 主控芯片AT89C51的结构与原理102.2.1 AT89C51单片机的结构10 2.2.2 AT89C51单片机的工作原理 15 第三章 硬件电路设计17 3. 1发声电路173. 2 数码管显示电路19 3. 3 电源电路设计2034 键盘设计21第四章 乐曲声音算法2341音乐频率的实现2342音乐节拍的实现24第五章 系统软件设计2851系统程序

7、流程2852 键盘扫描程序流程图29总结 30 致谢 31 参考文献 32 附录1 33 程序34 40摘 要 在现代各种生活中,电子琴作为一种音乐型玩具 ,广泛用于与人们的日常生活中。市场上有各种各样的电子琴。特别是日本产的,音质优美,它是有专门的音乐控制芯片制造的。由于其价格较贵,无法大面积普及,且功能单一。用89c51作为主控中心,研制一种简易的微型电子琴,尽可能地体现较好的音质来,是一种可做的尝试。以单片机为核心设计的简易电子琴系统,由按键扫描电路、声音产生驱动电路、复位电路、等模块组成的,是一种比较实用、廉价的电子玩具。本论文所设计的简易电子琴,它分为两大部分,硬件电路的设计和软件的

8、设计。硬件电路的设计以AT89S51单片机为控制主板,辅以外围的扩展设备蜂鸣器、矩阵键盘、共阳数码管,形成一个可被控制的显示系统。软件设计通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.主要实现 1能够发出1.2.3.4.5.6.7等七个

9、音符。2能自动演奏完,自选的一首歌曲两种功能。关键字:简易电子琴 单片机 矩阵键盘 定时器AbstractIn the modern variety of life, the flower as a musical toys, widely used and peoples daily life. There are all kinds of market flower. Japan is particularly middle, sounding, it is a dedicated music control of the chip maker. Because of its expens

10、ive price, not a popular area, and single function. 89 c51 used as a control centre, the development of a simple micro-organ, as far as possible, to reflect a better quality, is an attempt to do. MCU core design for a simple flower, from the button scanning circuit, a driver circuit voice, reset cir

11、cuit, such as modules, is a more practical and inexpensive electronic toys. In this paper the design of simple flower, which are divided into two parts, hardware circuit design and software design. Hardware circuit design to AT89S51 microcontroller for the control board, supported by the expansion o

12、f the external equipment buzzer, matrix keyboard, a total of Yang digital form can be controlled by a display system. SCM software designed to control the internal timer T0 to produce different frequency square wave, driving a different syllable speakers voice. Reuse delayed to control the length of

13、 pronunciation, pitch in to control the beat. Notation in the notes converted to thecorresponding frequency timing constant, corresponding to the beats of the time constant transformation, and then make tables stored in memory, table look-up procedures are regularly by the constant and delay constan

14、t, a timer were used to control the square wave The frequency square-wave frequency and duration. constant when the delay time, a note to check the timing of constant delays and constant. were out of the question, can perform really pleasant to hear music. main one can be issued 1.2.3.4.5.6 .7 seven

15、 notes. 2 can automatically perform End, the one-on-demand songs two functions. Key word :Simple flower MCU Matrix keyboard Timer 绪论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化

16、、汽车电子、PC机外围以及网络通讯等广大领域。按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种地址访问方式、多种跳转、乘除法运算、状态监测、中断处理等,增强了实时性。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿(Princeton)结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。单片微型计

17、算机自从问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高,处理功能强,可靠性高,系统结构简单,价格低廉等优点,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、

18、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼

19、容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲,本设计中按键一次,会发出50个脉冲,松开后随之延时10个脉冲,但在延时的10个脉冲期间继续检测键盘,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。 我们知道,

20、声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。1.2 本文所做的主要工作本次设计的简易电子琴在其功能上能用单片机控制蜂鸣器发声,拟合出乐曲曲调。能够相应按键,进行简单的乐曲弹奏。本次设计是以单片机为基础,在论文中大概讲述了一下单片机的原理。 在此次设计中,简易电子琴的外围设备主要有以下二个部分:1、发声器件的选择:发声器件比较多,例如喇叭、蜂鸣器、电铃等。这次发声元件采用蜂鸣器,蜂鸣器价格便宜,控制简单,

21、广泛用于各种电子产品和玩具。本设计为保证声音的响亮,通过三极管进行电流放大,增加声音的响度。2、按键部分的设计:在本电路的按键接口设计,考虑到按键数量比较多,为了节省I/O口资源,采用矩阵式键盘。通过软件实现4*4间盘扫描。3、数码管显示电路:为指示出当前演奏的曲目标号和显示当前按下的键号,我们采用1位数码管作为显示部件,为了节省成本,采用I/O口直接驱动数码管。这样设计充分利用了单片机的资源,使此设计才功能上很丰富、完善。 系统方案设计及主控芯片介绍按照系统的设计功能要求,初步确定设计系统由主控模块、发声模块,显示模块,键盘接口模块4个部分组成,电路系统构成图2.1所示。主控芯片使用80C5

22、1系列单片机。发声模块使用的是蜂鸣器,低成本,配以放大电路,可以发出响亮的声音。 21主体方案本文就是从单片机AT89C51入手,通过使用AT89C51的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。该简易电子琴通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时

23、,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐。 其电路图见附录1所示。显示电路(89C51)主控模块键扫描电路发声电路2.2 主控器AT89C51的结构及工作原理2.2.1 AT89C51单片机的结构一、 单片机的主要性能特点ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,欲先进工艺制造,并带有非易失性FLASH程序储存器。它是一它是一种高性能,低功耗的8位CMOS微处理芯片,。主要性能特点有:8KB Flash ROM,可以擦除1000次以上。数据保存10年,256字节内部RAM 电源控制模式:时钟可停止和恢复;空闲模式;掉电模式。6个中

24、断源4个中断优先级4个8位I/O 口全双工增强型UART3个16位定时/计数器,T9,T1和增加的T2全静态工作方式:024MHz二 、单片机的引脚功能89C51单片机的引脚图见图2.2所示,其中有2条主电源引脚,2条外接晶体引脚,4条控制或其他电源复用引脚,32条I/O引脚。下面分别叙述这些引脚的功能。 图2.2 89C51单片机的引脚图VCC(40脚):接电源+5V。VSS(20脚):接地 也就是 GND。XTAL1 (19 脚) 和 XATL2(18 脚):接振荡电路,单片机是一种时序电路 必须有脉冲信号才能工作 在它的内部有一个时钟产生电路。PSEN(29 脚):片外 ROM 选通信号

25、,低电平有效.他同样可以驱动8个LSTTL输入。ALE/PROG(30 脚):地址锁存信号输出端/EPROM 编程脉冲输入端。为了使地址与数据不混淆,通常是先送地址再传送数据。ALE将P0口输出的低8位地址锁存,从而实现低位地址与数据的分离。RST/VPD(9 脚):复位信号输入端/备用电源输入端。当振荡器运行时,在此引脚上出现两个机器周期以上的高电平,将使单片机复位。VCC掉电期间,此引脚可以接上备用电源,以保存内部RAM的数据不丢失;当VCC低于规定水平时,VPD向内部RAM提供备用电源。EA/VPP(31):内/外部 ROM 选择端。当EA端保持高电平时,不管是否有内部程序存储器,只访问

26、外部程序存储器。当EA端保持低电平时,访问内部程序存储器。P0 口(P0.0P0.7共8个引脚,既39-32 脚):双向 三态I/O 口。在访问外部存储器时,可分别用低8位地址线和8位数据线;P0口可以驱动8个LSTTL P1输入。P1 口(P1.0P1.7共8个引脚,既1-8 脚)P1口是一个带有内部上拉电阻的8位双向I/0 口,在EPROM编程和程序验证时,它接受低8位地址,能驱动4个LSTTL输入。P2 口(P2.0P2.7共8个引脚,既21-28 脚):P2口是一个带有内部上拉电阻的8位双向I/0 口, 在EPROM编程和程序验证时,它接受高8位地址,能驱动4个LSTTL输入。P3 口

27、 (P0.0P0.7共8个引脚,既10-17 脚):P3口是一个带有内部上拉电阻的8位双向I/0 口。他是个多用途口。在这8个引脚里,其中P3.2的第二功能是外部中断0申请输入端;P3.3的第二功能是外部中断1申请输入端;P3.4的第二功能是定时器0申请输入端。三 、单片机内部结构及组成结构单片机是由中央处理器(CPU)、片内数据存储器(RAM)、片内程序存储器(ROM)和输入输出接口(I/O口)四大部分组成: CPU是单片机的核心部分。其作用是读入和分析每条指令,根据指令要求控制各个部件执行相应的操作,它包括运算器和控制器两大部分:一是运算器包括算术逻辑部件(ALU)、累加器A、暂存寄存器、

28、寄存器B、程序状态寄存器(PSW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。二是控制器包括时钟发生器,定时控制逻辑,指令寄存器,指令译码器,程序计数器PC,程序地址寄存器,数据指令寄存器DPTR和堆栈指针SP等。控制器是用来统一指挥和控制计算机进行工作的部件。 单片机存储器,单片机在物理上有4个存储空间:片内程序存储器和片外程序存储器, 片内数据存储器和片外数据存储器.8051片内有4KB的程序存储器和256B数据存储器。下面分别介绍程序存储器和数据存储器。程序存储器用于存放编好的程序、表格和常数。8051单片机内部有4KB的片内ROM和64KB的片外ROM,两者是统一

29、编址的。数据存储器8051内部有256B RAM,片外最多可以扩展64KB RAM。片内256 KB RAM按其功能划分两部分:低128B位片内数据RAM区,地址空间为00H7FH;高128B位特殊功能寄存器的区域.地址空间为80HFFH。内部数据存储器低128单元,8051内部低128B RAM是真正的RAM,可用于暂存运算结果及标志位等.按其用途可以分为三部分:工作寄存器区;位寻址区;用户RAM区。内部RAM的高于128单元是供给特殊功能寄存器使用,因此称特殊功能寄存器: 指令寄存器IR和指令译码器ID。指令寄存器是存放指令代码的地方。当执行指令时,CPU把从程序存储器中读取的指令代码送入

30、指令寄存器,然后指令译码器译码后由定时控制电路发生相应的控制信号,最终完成指令所规定的操作。 程序计数器PC是一个16位的计数器。用于存放将要执行的指令地址,CPU每读取指令的一个字节PC便自动加1,指向本指令的下一个字节或下一条指令地址,PC可以寻址64KB范围ROM。 累加器是一个最常用的8位特殊功能寄存器,它可以用于存放操作数,也没有用于来存放运算结果。 寄存器B是一个8位寄存器,主要用于乘法和除法的运算, 状态字寄存器PSW是8位寄存器,用于存放程序运行状态信息,其格式如下图2.3所示 。 图2.3 程序状态字PSWCY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果

31、最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。AC(PSW.6):辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。F0(PSW.5):用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。OV(PSW.2):溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了运算结果是否溢出。P(PSW.0):奇偶标志位。MCS-51单片机采用的是偶校验。当累加器A中“1”的个数为奇数时,P置“1”,否则P置

32、“0”。此位反映累加器A中内容“1”的奇偶性,它常常用于机间通信。RS1(PSW.4)、RS0(PSW.3):工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变RS1 、RS0的内容来选择当前工作寄存器区。 堆栈指针SP 数据指针寄存器DPTR是一个16位寄存器,由高位字节DPH和低位字节DPL组成,用来存放16位数据存储器的地址,以便对外部数据存储器RAM数据进行读写。 工作寄存器MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区: 当 R

33、S1 RS000时,0区为工作区, RS1RS001时,1区为工作区 RS1RS010时,2区为工作区 RS1RS011时,3区为工作区这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。 00H07H为0区,分别对应R0R7 08H0FH为1区,分别对应R0R7 10H17H为2区,分别对应R0R7 18H1FH为3区,分别对应R0R7这32个单元为内部数据存储器(即片内RAM)的00H1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的通用寄存器只有名称,不占有RAM空间,因此只有名字,没有对应的地址;而MCS-51单片机的工作寄存器R

34、0R7既可以用名字也可以用它的地址来表示。其中R0、R1寄存器除做工作寄存器外还常做间址寻址的地址指针单片机的输入/输出端口C51中有4个位并行输入/输出端口记为P0、P1、P2、P3共32根线。每个并行I/O口都可以用作输入/输出,所以称它们为双向I/O口。P0口有位, P0口有两个用途,一是作为普通I/O口使用;二是作为地址/数据总线使用。P0口作为普通I/O口使用: 当控制线C=0时, MUX开关向下, P0口作通用I/O口。这时与门输入为0,场效应管VT1截止。P0口作为分时复用的地址/数据总线: P0口一般是作为地址/数据总线,这时控制线C=1,MUX开关向上,使数据/地址经反向器与

35、场效应管VT2接通,当数据输入时,数据信号从引脚通过输入缓冲器2进入内部总线。P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出。P1口的驱动部分与P0口不同,内部有上拉电阻。P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。P3口也是一个8位准双向I/O口,不但可以作通用I/O口使用,还具有第二功能。当工作在第二功能时,每位都具有新的功能,当P3口作通用I/O口时,与P1口相同。2.2.2单片机的工作原理一、 振荡器与时钟电路时钟电路用于产生单片机工作所需要的时钟信号。AT89C51的时

36、钟产生方法有以下两种: 内部时钟方式 利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图2.4(在图中的外接线,上面的外接线接引脚XTAL1,下面的外接线接引脚XTAL2)外接晶振时,C1和C2的值通常选择我30pF左右;外接陶瓷谐振器时C1和C2的值大约为47pF。C1、C2对频率有微调作用,晶体或陶瓷谐振器的频率范围可在1.212MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。 图2.4 单片机外接振荡电路外部时钟方式 此方式是

37、利用外部振荡脉冲接入XTAL1或 XTAL2。CHMOS(互补金属氧化物HMOS)是CMOS和HMOS(高密度沟道MOS工艺)的结合,除了保持HMOS高速度和高密度之外,还有CMOS低功耗的特点.两类器件的功能是完全兼容的,区别在CHMOS器件具有低功耗的特点.它所消耗的电流比HMOS器件少很多,主要在于其采用了两种降低功耗的方式:空闲方式和掉电方式.CHMOS器件在掉电方式(CPU停止工作,片内RAM的数据继续保持)下时,消耗的电流可低于10A.采用CHMOS的器件在编号中用一个C来加以区别: 如80C51,80C31等. 外部时钟信号通过一个二分频的触发器而成为内部的时钟信号,要求高、低电

38、平的持续时间都大于20ns,一般为频率低于12Hz的方波。这种方式适用于多块芯片同时工作,便于同步。片内时钟发生器就是上述的二分频触发器,它向芯片提供了一个2节拍的时钟信号。 根据以上两种方式的特点,在次设计中从而采用了第一种方式。第一种方式比第二种更简洁为次设计而变的简单化。其图2.5就是本次设计中时钟信号产生的外部电路图。其中电容值所选用的是30Pf,为了提高秒计时的精确度,采用12MHZ的晶振。二、 单片机的工作方式单片机有三种工作方式:复位方式、程序执行方式以及节电工作方式。单片机复位方式:单片机复位方式有上简单复位电路和采用专用复位电路芯片构成复位电路两种。简单复位电路有上电复位和手

39、动复位。不管那种方式都要保证在RESET引脚上提供10ms以上的稳定高电压。本次设计中采用的是按键式复位电路。程序执行方式:(a)连续执行方式(b)单步执行方式节电工作方式:(a)HMOS单片机的掉电工作方式(b)CHMOS单片机的节电工作方式三 、单片机外部并行扩展原理单片微机是通过芯片的引脚进行系统扩展的。80C51系列带总线的单片微机芯片引脚可以构成图81所示的三总线结构即地址总线(AB)数据总线(DB)和控制总线(CB)。具有总线的外部芯片都通过这三组总线进行扩展。(1)地址总线(AB)地址总线由单片微机P0口提供 低8位地址A0A7,P2口提供高8位地址A8A15。P0口是地址总线低

40、8位和8位数据总线复用口,只能分时用作地址线。故P0口输出的低8位地址A0A7必须用锁存器锁存。锁存器的锁存控制信号为单片微机ALE引脚输出的控制信号。在ALE的下降沿将P0口输出的地址A0A7锁存。P0、P2口在系统扩展中用做地址线后便不能作为一般I/O口使用。由于地址总线宽度为16位,故可寻址范围为64 KB。(2)数据总线(DB) 数据总线由P0口提供,用D0D7表示。P0口为三态双向 口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有

41、一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。 (3)控制总线(CB) 控制总线包括片外系统扩展用控制线和片外信号对单片微机的控制线。MCS51系列中有5个中断源(或6个中断源),如图所示。它们可分为2个优先级其中每一个中断源的优先级都可以由程序排定。5个中断源的中断要求是否会得到响应,受允许中断寄存器IE中各位的控制;它们的优先级分别由中断优先级寄存器IP的各位确定;同优先级内的各中断源同时要求中断时,还要靠内部的查询逻辑来确定响应的次序,不同的中断源有不同的中断向量。52子系列的中断系统与此类同,只不过增加了一个中断源。1.允许中断寄村器IE(1)

42、EA(IE7总允许位。EA=0禁止一切中断。EAl,则每个中断源是允许还是禁止,分别由各自的允许位确定。(2)一(IE 6)保留位。 (3)ET2(IE5)定时器2中断允许位。ET20,禁止定时器2中断。 (4)ES(IE.4)串行口中断允许位。ES0,禁止串行口中断。 (5)ETl(IE.3)定时器1中断允许这。ET10,禁止定时器1中断。 (6)EXl(IE.2)外部中断l允许位。EX10,禁止外部中断1。 (7)ET0(IE.1)定时器0中断允许位。ET00,禁止定时器0中断。 (8)EX0(IE .0)外部中断0允许位。EX00,禁止外部中断02.中断优先级寄存器IP MCS51的中断

43、分为2个优先级。每个中断源的优先级都可以通过中断优先级寄存器IP中的相应位来设定。其中:(1)一(IP.7)保留位。 、(2)一(IP .6)保留位。(3)PT2(IP.5)定时器2中断优先级设定位。PT2l,设定为高优先级。(4PS(1P.4)串行口中断优先级设定位。PS1,设定为高优先级o(5)PT1(1P.3)定时器1中断优先级设定位。PTl1设定为高优先级。(6)PXl(IP.2)外部中断1优先级设定位。PXl1,设定为高优先级。(7)PT0(IP.l)定时器0中断优先级设定位。PT01,设定为高优先级。(8)PX0(1P0)外部中断0优先级设定位。PX01,设定为高优先级。3.优先级

44、结构靠IP寄存器把各中断源的优先级分为高低两级。它们遵循这样两条基本规则:(1)低优先级中断可被高优先级中断所中断,反之不能;(2)一种中断(不管是什么优先级)一旦得到响应,与它同级的中断不能再中断它。 为了实现这两条规则,中断系统内部包含两个不可寻址的“优先级激活”触发器。其中一个触发器指示某高优先级的中断正在得到服务,所有后来的中断都被阻断。另一个触发器指示某低优先级的中断正得到服务,所有同级的中断都被阻断,但不阻断高优先级的中断。 当同时收到几个同一优先级的中断要求时,哪一个要求得到服务,取决于内部的查询顺序,相当于在每个优先级内,还同时存在另一个辅助优先结构。如;中断源 同级内的优先权

45、外部中断0 最高定时器/计数器0溢出外部中断1定时器/计数器1溢出串行口定时器/计数器2溢出 最低在每一机器周期中,所有中断源都顺序地被检查一遍;这样到任一周期的S6状态时,找到了所有已激活的中断请求,并排好了优先权。在下一机器周期的S1状态,只要不受阻断就开始响应其中最高优先级的中断请求。若发生下列情况,中断响应会受到阻断:(1)同级或高优先级的中断已在进行中;(2)正在执行的指令,尚未完成其最后一个机器周期(换言之,正在执行的指令完成前,任何中断请求都得不到响应); (3)正在执行的是一条RETI或者访问专用寄存器IE或IP的指令(换言之,在RETI或者读写IE或IP之后,不会马上响应中断

46、请求,而至少在执行一条其他指令之后才会响应)。若存在上述任一种情况,中断查询结果就被取消。否则在紧接着的下一个机器周期,中断查询结果变为有效。4.中断响应协议 当某中断源提出中断请求后,作为应答,CPU首先使相应的“优先级激活”触发器置位,以阻断同级和低级的中断。然后,根据中断源的类别,在硬件的控制下,程序转向相应的向量单元,执行中断服务子程序。 硬件中断服务子程序调用时,把当时程序计数器PC的内容压入堆栈(在MCS5l中,PC是16垃的,占用了2个字节,没有自动保存程序状态字PSW的内容),同时还根据中断的来源,把相应的向量单元地址装入PC中。这些向量地址是: 中断源 向量单元 外部中断0

47、0003H 定时器0溢出 000BH 外部中断1 00l3H定时器1溢出 001BH串行口 0023H定时器2溢出或T2EX端出现负跳变 002BH中断服务子程序的最后一条指令应是RETI(中断返回)。RETI指令将清除”优先级激活”触发器(该触发器在响应中断时被置位)。然后由堆栈弹出两个字节(下一条指令地址)装入到PC中。5.外部中断 外部中断的激活方式分为两种:一种是电平激活另一种是边沿激活。这两种方式可以靠TCON寄存器中的中断方式位ITI或IT0来控制。若ITX0(X为0或l,后文中用到类同的符号,其含意相似),则采用电平激活方式:在引脚上检测到低电平,将触发外部中断。若ITx1则采用边沿激活方式:在相继的两个周期中,对引脚进行连续两次采样,若第一次采样值为高,第二次为低,则TCON寄存器中的中断请求标志IEx被置1,以请求中断。由于外部中断引脚每个机器周期被采样一次,为确保采样,由引脚输入的信号应至少保持一个机器周期,即12个振荡器周期。如果外部中断为边沿激活方式,则引脚处的高电平和低电平值至少各保持一个机器周期,才能确保CPU检测到电平的跳变,而把中断请求标志IEx置1。如果采用电平激活外部中断方式,外部中断源应一直保持中断请求有效直至所请求的中断得到响应时为止。6

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!