单片机歌曲演奏的设计Word文档下载推荐.docx
- 文档编号:8366592
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:31
- 大小:889.37KB
单片机歌曲演奏的设计Word文档下载推荐.docx
《单片机歌曲演奏的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机歌曲演奏的设计Word文档下载推荐.docx(31页珍藏版)》请在冰点文库上搜索。
绪论
近年来,科学技术得到了前所未有的提高,可以说,在过去的100年里的发明创造大于之前人类已经取得的发明总和。
其中最重要的是电子行业,尤其是计算机。
计算机的出现和使用,使人们进入了一个崭新的时代。
而单片机,作为一种微型计算机,它的发展与进步,使电子产品能更微小,更精密,更节约和高效。
而在单片机上,我们可以让它实现各种各样的功能,以下就介绍用单片机进行音乐演奏的功能设计。
1概述
随着信息技术革命的深入和计算机技术的飞速发展,单片机的应用越来越广泛,并逐渐发展成为一门关键的技术学科。
单片机具有一些突出优点:
体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度快、抗干扰能力强、可靠性高,所以在通信、家电、工业控制、仪器仪表、汽车等产品中都可以看到单片机的身影。
目前国内单片机的应用仍以8051系列为主。
1.1单片机的产生和发展
(1)什么是单片机
计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展,从而出现了单片微型计算机。
所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处理器CPU、存储器ROM和RAM、输入/输出(I/O)接口电路等集成在一块集成电路芯片上的微型计算机,简称单片机。
总体来讲,单片机可以用以下”表达式”来表示单片机=CPUROMRAMI/O功能部件。
1.2单片机的发展史及发展趋势
单片机的发展历史可划分为3个阶段:
第一阶段(1974-1976)为单片机初级阶段。
因受工艺和集成度的限制,单片机采用双片形式。
第二阶段(1976-1978)为低性能单片机阶段。
单片机由一块芯片构成,但性能低、品种少。
第三阶段(1978以后)为高性能单片机阶段。
在这一阶段出现了很多新型单片机,这些新型单片机不仅有功能很强的CPU,较多I/O口种类和数量,而且具有容量较大的ROM和RAM及种类繁多的功能部件。
随着继承工艺的不断发展,单片机一方面向集成度高、体积更高、功能更强、功耗更低的方向发展;
另一方面向32位以上及双CPU方向发展。
1.3单片机的特点及应用
(1)单片机的特点
随着现代科技的发展,单片机的集成度越来越高,CPU的位数也越来越高,已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有以下特点:
a.体积小,功耗低,价格便宜,重量轻,易于产品化。
b.控制功能强,运行速度快,能针对性地解决从简单到复杂的各类控制问题,满足工业控制要求,并有很强的位处理和接口逻辑操作等多种功能。
c.抗干扰能力强,适用温度范围宽。
由于许多功能部件集成在芯片内部,受外界影响小,故可靠性高。
(2)单片机的应用
单片机的应用具有面广量大的特点,目前它广泛的应用于国民经济各个领域,对技术改造和产品的更新起着重要作用。
主要表现在以下几个方面:
a.单片机在智能化仪器、仪表中的应用:
由于单片机有机算计的功能,它不仅能完成测量,还既有数据处理、温度控制等功能,易于实现仪器、仪表的数字化和智能化。
b.单片机在实时控制中的应用:
单片机可以用于各种不太复杂的实时控制系统中,如一般性的温度控制、液面控制、电镀顺序控制等。
将测量技术、自动控制技术和单片机技术相结合,充分发挥单片机的数据处理和实时控制功能,使系统工作于最佳状态。
c.单片机在机电一体化中的应用:
单片机有利于机电一体化技术的发展,已广泛应用于数控机床、医疗设备、汽车设备等。
d.单片机在多机系统中的应用:
单片机在多机系统中的应用是将来单片机发展的主要模式,它可以提高单片机的可靠性,使系统运行速度更快。
单片机在计算机外围设备中的应用:
单片机广泛应用于打印机、绘图机等多种计算机的外围设备,特别是用于智能终端,可大大减轻主机负担,提高系统的运行速度。
2STC89C52单片机的结构与原理
2.1STC89C52内部组成结构
STC89C52是低功耗化、高性能化CMOS8位的微控制器,拥有片内集成了8KB的Flash存储器。
使用宏晶公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在线可编程,也适于常规编程器。
在单芯片上,具有灵活的8位微处理器(CPU)和在线可编程Flash,使得STC89C52在众多嵌入式控制应用系统中得到广泛应用。
STC89C52的简单组成结构如图1所示:
STC89C52的内部结构图1
由上图可知,STC89C52单片机由一个时钟OSC、一个程序存储器ROM、一个数据存储器RAM和一个定时器/计数器组成。
时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。
时钟振荡器是单片机的时钟源,时钟发生器对振荡器的输出信号进行二分频,关断控制信号/PD和/IDL用于单片机的功耗管理。
程序和数据存储器分为不同的逻辑空间,使可用8位地址来访问数据存储器(ROM),这样可提高8位微处理器(CPU)的存储和处理速度。
2.2STC89C52引脚组成
其引脚组成如下图2所示;
图2:
STC89C52的引脚图
2.3STC89C52硬件组成
2.3.1引脚功能部件和特性
(1)8位微处理器(CPU);
(2)数据存储器(128BRAM);
(3)程序存储器(4KBFlashROM);
(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);
(5)1个全双工的异步串行口;
(6)2个可编程的16位定时器/计数器;
(7)1个看门狗定时器;
(8)中断系统具有5个中断源、5个中断向量;
(9)特殊功能寄存器(SFR)26个;
(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;
(11)3个程序加密锁定位。
2.3.2芯片简介
STC89C52芯片片上Flash允许程序存储器(ROM)在线可编程,也适用于常规编程。
在单芯片上,拥有灵活的8位微处理器(CPU)和在系统可编程Flash,使得STC89C52芯片成为了为众多嵌入式控制系统提供更灵活、高效的解决方案。
STC89C52芯片具有以下突出优点:
①增加了在线可编程功能,灵活的在线编程方式(字节和页编程)使现场程序调试和修改更加灵活方便;
②数据指针增加到两个,方便了对片外RAM的访问过程;
③新增了看门狗定时器,提高了系统的抗干扰能力;
④增加了掉电标志;
⑤增加了掉电状态下的中断恢复模式。
2.3.3引脚功能
(1)并行I/O口引脚
P0口:
8位,漏极开路的双向I/O口
①当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。
②P0口也可用作通用的I/O口,需加上拉电阻,这时为准双向口。
作为通用I/O输入,应先向端口写入1,可驱动8个LS型TTL负载。
P1口:
8位,准双向I/O口,具有内部上拉电阻。
①准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。
P1口可驱动4个LS型TTL负载。
②P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。
P2口:
①当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。
②P2口也可作为普通的I/O口使用。
当作为通用I/O输入时,应先向端口输出锁存器写1。
P2口可驱动4个LS型TTL负载。
P3口:
①可作为通用的I/O口使用。
作为通用I/O输入,应先向端口输出锁存器写入1。
可驱动4个LS型TTL负载。
②P3口还可提供第二功能,功能表如表1所示:
表1:
P3口第二功能定义
引脚
第二功能
说明
P3.0
RXD
串行数据输入口
P3.1
TXD
串行数据输出口
P3.2
INT0
外部中断0输入
P3.3
INT1
外部中断1输入
P3.4
T0
定时器0外部计数输入
P3.5
T1
定时器1外部计数输入
P3.6
WR
外部数据存储器写选通输出
P3.7
RD
外部数据存储器读选通输出
综上所述,P0口可作为总线口,为双向口。
作为通用的I/O口使用时,为准双向口,这时需加上拉电阻。
P1口、P2口、P3口均为准双向口。
(2)控制引脚
RST:
(RESET,9脚)复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。
正常工作,此脚电平应≤0.5V。
当看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平。
ALE/PROG:
(AddressLatchEnable/PROGramming,30脚)
ALE:
为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。
此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。
可用作外部定时或触发信号。
注意,每当AT89S51访问外部RAM时(执行MOVX类指令),要丢失一个ALE脉冲。
如需要,可将特殊功能寄存器AUXR(地址为8EH)的第0位(ALE禁止位)置1,来禁止ALE操作,但执行访问外部程序存储器或外部数据存储器指令“MOVC”或“MOVX”时,ALE仍然有效。
即ALE禁止位不影响对外部存储器的访问。
PROG:
引脚第二功能,对片内Flash编程,为编程脉冲输入脚。
PSEN:
程序储存允许输出是外部FlashROM的读选通信号,当STC89C52由外部程序存
储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器时,输出脉冲负跳沿作为读外部FlashROM的选通信号。
该端可驱动8个LS型TTL负载。
EA/VPP:
EA是引脚第一功能,外部FlashROM访问允许控制端。
①EA=1,在PC值不超出0FFFH(即不超出片内4KBFlash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH(即超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。
②EA=0,只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。
VPP是引脚第二功能,对片内Flash编程,接编程电压。
(3)时钟引脚
①XTAL1:
片内振荡器反相放大器和时钟发生器电路输入端。
用片内振荡器时,该脚接外部石英晶体和微调电容;
外接时钟源时,该脚接外部时钟振荡器的信号。
②XTAL2:
片内振荡器反相放大器的输出端。
当使用片内振荡器,该脚连接外部石英晶体和微调电容;
当使用外部时钟源时,本脚悬空。
2.3.4单片机工作的最小化配置
单片机的最小化系统包含最基本的复位电路、晶振电路及微机本身,此最小系统主要是负责程序的存储与运行,如图2-4所示。
本设计采用的是STC89C52芯片,它内部自带8K的Flash程序存储器,这8K的存储空间足够使用,所以将STC89C52芯片的第31脚(EA)固定接高电平,只用芯片内部的8K程序存储器,单片机的晶振电路由一个12M的晶振和两个30PF的瓷片电容组成,使单片机的工作时间精度为1微秒。
下图3给出了STC89C52的最小化系统
图3:
STC89C52的最小化系统
2.3.5复位电路
复位主要是在单片机进入系统的正常初始化之后,由于程序运行错误或操作错误使系统处于死锁状态,为摆脱死锁状态,通过按键复位使RST引脚低电平重新启动单片机工作,属于电平复位。
复位电路是单片机最小系统的一部分,通常复位电路有两种:
上电复位和外部按键复位,本设计系统用的是外部按键复位。
该复位电路由一个轻触开关、一个10微法电解电容和一个10K电阻组成。
其电路图如下图4。
图4:
复位电路图
2.2.6晶振电路
晶振电路主要用于产生单片机工作时所必需的时钟控制信号。
单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器(简称晶振)和微调电容,就构成一个稳定的自激振荡器。
电路中的电容C1和C2典型值通常选择为30PF,对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性,此晶振为12MHz,晶振的频率越高,则系统的时钟频率也越高,单片机的运行速度也越快,但反过来运行速度快对存储器的速度要求就高:
晶振和电容应该是尽可能安装得与单片机芯片靠近些,以减小寄生电容,更好地保证振荡器稳定、可靠地工作。
晶振电路如图5所示:
图5:
晶振电路
2.4STC89C52中断系统
2.4.1中断的概念
当CPU正在处理某项事务的时候,如果外界或内部发生了更紧急的事件,要求CPU暂停正在处理的工作转而去处理这个紧急事件,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。
能够实现中断处理功能的部件称为中断系统。
向CPU提出中断请求的源称为中断源,STC89C52单片机共有5个中断源。
中断源向CPU提出的处理请求,称为中断请求或中断申请。
CPU同意处理该请求称为中断响应,处理中断请求的程序称为中断服务子程序。
当CPU暂时终止正在执行的程序,转去执行中断服务子程序时,除了硬件自动把断点地址(16位程序计数器PC的值)压入堆栈之外,用户应注意保护有关的工作寄存器、累加器、标志位等信息,这称为保护现场;
在完成中断服务子程序后,恢复有关的工作寄存器、累加器、标志位的内容,称为恢复现场;
最后执行中断返回指令RETI,从堆栈中自动弹出断点地址PC,继续执行被中断的程序,称为中断返回。
其中断响应过程如图6所示
图6:
中断响应图
2.4.2STC89C52中断系统
A.中断请求源
STC89C52单片机的中断系统有5个中断源,其入口地址是固定的,见表2-1,同时具有2个中断优先级,分别为高优先级和低优先级,可实现2级中断服务程序嵌套。
中断系统结构示意表如下表2所示
中断源
并口数址
外部中断0(INT0)
0003H
定时/计并器T0
000BH
外部中断1(INT1)
0013H
定时/计并器T1
001BH
串行口S
0023H
表2:
中断系统结构表
(1)INT0-外部中断请求0,由INT0(P3.2)引脚输入,中断请求标志为IE0(定时器/计数器控制寄存器TCON的D1位)。
(2)INT1-外部中断请求1,由INT1(P3.3)引脚输入,中断请求标志为IE1(定时器/计数器控制寄存器TCON的D3位)。
(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0(定时/计数器控制寄存器TCON的D5位)。
(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1(定时/计数器控制寄存器TCON的D7位)。
(5)串行口中断请求,中断请求标志为TI或RI(分别为串行口控制寄存器SCON的D1和D0位)。
b.中断请求标志所在特殊功能寄存器
CPU在每个机器周期的S5P2时刻采样5个中断源的中断标志IE0、IE1、TF0、TF1、TI和RI,这些中断请求源的中断请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁定。
(1)定时器控制寄存器TCON
定时器控制寄存器TCON如下表3所示,其中TF1和TF0为定时器中断标志位,TR1和TR0为定时器的启动控制位,在几节中已经介绍过,现介绍与中断有关的低4位的功能。
表3
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0-选择外部中断请求INT0(P3.2)为边沿触发方式或电平触发方式的控制位。
IT0可由软件置“1”或清“0”。
当IT0为0时,为电平触发方式,INT0低电平有效。
外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入线的电平变化而变化,这能提高CPU对外部中断请求的响应速度。
当外部中断源被设定为电平触发方式时,在中断服务子程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。
所以电平触发方式适合于外部中断以低电平输入,而且中断服务子程序能清除外部中断请求源的情况。
当IT0为l时,INT0为边沿触发方式,INT0输入脚上的电平从高到低的负跳变有效。
外部中断申请触发器能锁存外部中断输入线上的负跳变。
即便是CPU暂时不能响应,中断申请标志也不会丢失。
在这种方式时,如果相继连续两次采样,一个周期采样到外部中断输入为高,下个周期采样为低,则置“1”中断申请触发器,直到CPU响应此中断时才清0。
这样不会丢失中断,但输入的负脉冲宽度至少保持12个振荡周期,才能被CPU采样到。
外部中断的边沿触发方式适合于以负脉冲形式输入的外部中断请求。
如ADC0809的A/D转换结束标志信号EOC为正脉冲,再反相连到8031的INT0引脚,就可以中断方式读取A/D的转换结果。
IE0:
外部中断0的中断申请标志位。
当(IT0)=0即电平触发方式时,每个机器周期的S5P2采样INT0,若INT0为低电平,则(IE0)置“1”,否则(IE0)清“0”;
当(IT0)=l,即INT0程控为边沿触发方式时,当第一个机器周期采样到该引脚为低电平时,则置(IE0)“1”(INT1),(IE0)为1表示外部中断0正在向CPU申请中断。
当CPU响应中断,转向中断服务子程序时,由硬件自动清“0”IE0。
ITl:
选择外部中断请求INT1(P3.3)为边沿触发方式或电平触发方式的控制位,其意义和IT0类似。
lEl:
外部中断1的中断申请标志位,其意义和IE0类似。
当MCS-51单片机复位后,TCON被清0,关闭中断,所有中断请求被禁止。
c.串行口控制寄存器SCON
SCON为串行口控制寄存器,字节地址为98H,可位寻址。
其低2位锁定串行口的发送中断和接收中断的中断请求标志TI和RI,格式如表4所示。
表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 歌曲 演奏 设计