音乐演奏器设计学习教案_第1页
音乐演奏器设计学习教案_第2页
音乐演奏器设计学习教案_第3页
音乐演奏器设计学习教案_第4页
音乐演奏器设计学习教案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1第一页,共39页。项目(xingm)四 音乐演奏器设计 第1页/共39页第二页,共39页。定时或延时功能实现的一般方法: 1.软件定时:程序 2.不可编程的硬件定时:时基电路555, 外接定时部件(bjin)-电阻和电容 3.可编程的定时器任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第2页/共39页第三页,共39页。循循环环(xnhun)程程序序设设计计1S1S延时程序延时程序(chngx(chngx) )程序程序(chngx):void delay1s()/子函数体子函数体uint i,j; /定义局部变量定义局部变量for(i=1000;i0;i-) /i=1000,

2、即延时约即延时约1000ms=1s for(j=110;j0;j-);任务任务1 1 音乐门铃音乐门铃 第3页/共39页第四页,共39页。相关知识:相关知识:定时定时/计数器计数器1 1、定时器、定时器0 0和定时器和定时器1 1(1 1)定时)定时/ /计数器的组成计数器的组成(z chn(z chn) )框图框图图4-1 8051定时器/计数器逻辑(lu j)结构图 P3.4P3.5任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第4页/共39页第五页,共39页。 由图4-1可知,8051单片机定时器/计数器由定时器0(T0)、定时器1(T1)、定时器方式寄存器TMOD和定时

3、器控制(kngzh)寄存器TCON组成 。 16位的加位的加1计数器(高计数器(高8位、低位、低8位)位)T0、T1 TMOD-定时定时/计数器方式寄存器,工作方式设置;计数器方式寄存器,工作方式设置; TCON-定时定时/计数器控制寄存器,启动、停止计数器控制寄存器,启动、停止(tngzh)及及设置溢出标志。设置溢出标志。 任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第5页/共39页第六页,共39页。(2 2)定时)定时/ /计数器的工作计数器的工作(gngzu)(gngzu)原理原理 由TMOD中的控制位(CT)来决定T0和T1是工作(gngzu)在定时器方式还是计数器方式。

4、1.1. 定时功能定时功能-计数脉冲计数脉冲(michng)(michng)信号信号: :内部振荡电路经内部振荡电路经1212分分频后输出的脉冲频后输出的脉冲(michng)(michng)进行加进行加1 1计数。计数。计数频率是振荡计数频率是振荡频率的频率的1/121/122.2. fc=1/12 fc=1/12* *foscfosc。2. 2. 计数功能计数功能-计数脉冲信号:来自外部输入引脚-(T0为P3.4,T1为P3.5)的负跳变信号进行加1计数 fc=1/24*fosc 。任务1 音乐门铃的分析与仿真第6页/共39页第七页,共39页。(3 3)定时)定时/ /计数器的方式计数器的方

5、式(fngsh)(fngsh)寄存器和控制寄存器寄存器和控制寄存器1)1)定时定时(dn sh)/(dn sh)/计数器控制寄存器计数器控制寄存器TCONTCON(88H88H)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0中断请求标志(biozh)触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动任务任务1 1 音乐门铃音乐门铃 第7页/共39页第八页,共39页。2)2)工作方式工作方式(fngsh)(fngsh)控制寄存器控制寄存器TMODTMOD(89H89H)T1控制(kngzh)T0控制(kngzh)M0M1C/TGATE

6、M0M1C/TGATED0D1D2D3D4D5D6D7GATE 门控位。门控位。 GATE = 0 启动由启动由TR0(或(或TR1)一位控制;)一位控制; GATE = 1 启动受启动受 TR0和和/INT0 (或或TR1TR1和和 /INT1 )两位)两位控制。控制。 C/T 外部计数器外部计数器 / 定时器方式选择位定时器方式选择位 C/T = 0 定时方式;定时方式; C /T = 1 计数方式。计数方式。 M1 M0 工作模式选择位(编程可决定四种工作模式)工作模式选择位(编程可决定四种工作模式)。 任务1 音乐门铃的分析与仿真第8页/共39页第九页,共39页。M1 M0工工 作作

7、方方 式式功功 能能 说说 明明 0 0方 式 013位位计数器 0 1方 式 116位位计数器 1 0方 式 2自动再装入8位位计数器 1 1方 式 3定时器0:分成两个8位位计数器定时器1:停止计数表4-1 定时器方式(fngsh)选择任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第9页/共39页第十页,共39页。(1) 方式(fngsh)013位方式(fngsh) TF0T0TR0GATEINT011&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器中断中断(zhngdun)TCON定时定时(dn sh)时间:时间:t=(213-定时定时(d

8、n sh)器初器初值)值)12/fosc (s)2 2、定时器计数器的工作方式、定时器计数器的工作方式任务任务1 1 音乐门铃音乐门铃 第10页/共39页第十一页,共39页。(2) 方式(fngsh)116位方式(fngsh) 定时定时(dn sh)时间:时间:t=(216-定时定时(dn sh)器初值)器初值)12/fosc (s)振荡器1/12TL0 TH0TF011&T0TR0GATEINT0C/T=0C/T=18位8位16位计数器中断中断任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第11页/共39页第十二页,共39页。(3) 方式(fngsh)28位自动装入时

9、间常数方式(fngsh) TF0振荡器1/1211&T0TR0GATEINT0C/T=0C/T=1TL0 TH0中断中断(zhngdun)定时定时(dn sh)时间:时间:t=(28-定时定时(dn sh)器初值器初值)12/fosc (s)任务任务1 1 音乐门铃音乐门铃 第12页/共39页第十三页,共39页。(4) 方式(fngsh)32个8位计数器方式(fngsh) 仅T0可以工作在方式3此时T0分成2个独立(dl)的计数器TL0和TH0 :前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。INT0TF0T0TR0GATE11&C/T

10、=1振荡器1/12C/T=0TL0中断中断振荡器1/12TF1TH0中断中断TR1(P3.4)(P3.2)定时定时(dn sh)/计数器计数器固定为定时器固定为定时器任务任务1 1 音乐门铃音乐门铃 第13页/共39页第十四页,共39页。二者的定时二者的定时(dn sh)时间分别是:时间分别是:TL0:t=(28-TL0初值)初值)12/fosc (s)TH0:t=(28-TH0初值)初值)12/fosc (s) 此时定时器此时定时器T1仍然仍然(rngrn)可设置成方式可设置成方式0、1或或2,但,但TR1和和TF1被定时器被定时器T0占用,一般用作串行口波特率发生占用,一般用作串行口波特率

11、发生器或不需要中断的场合。器或不需要中断的场合。任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第14页/共39页第十五页,共39页。例4-1 假设(jish)晶振频率是12MHz,用定时器1方式0实现1s的延时。解:因方式0采用13位计数器,其最大定时时间为: 2131s =81921s = 8.192ms,因此,可选择定时时间为5ms,再循环200次。 1 1、 (2 21313- -X X)12/12=512/12=510103 3 X=8192-5000X=8192-5000 =3192= =3192=0110 00110110 0011 1100011000 B B (TH

12、1)= 63H (TL1)=18H2、TMOD:0000 0000-00H任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第15页/共39页第十六页,共39页。可编得1s延时子程序如下(rxi): void delay1s()/1s延时函数延时函数(hnsh)-定时器定时器5ms,循环,循环200次次 uchar i; /设置为字符型变量设置为字符型变量 TMOD=0 x00;/T0为工作方式为工作方式0-M1M0=00 for(i=0;i0 xc8;i+) /循环循环200次次 TH1=(8192-5000)/32; /延时延时50ms的初值的初值6318H TL1=(8192-5

13、000)%32; TR1=1; /启动启动T1 while(!TF1); /TF1由由0变为变为1,定时时间到,定时时间到 TF1=0; /50ms定时时间到定时时间到,将将TF1清零清零 任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第16页/共39页第十七页,共39页。DELAY:MOV R3 , #14H ;(;(20) MOV TMOD ,#10H ;设;设T1工作工作(gngzu)于方式于方式1定时定时 MOV TL1 ,#0B0H ;装入计数值低;装入计数值低8位位 MOV TH1 ,#3CH ;装入计数值高;装入计数值高8位位 SETB TR1 ;启动定时器;启动定时

14、器 LP1:JBC TF1 , LP2 ;查询计数溢出查询计数溢出 SJMP LP1 LP2: MOV TL1 ,#0B0H ;重装初值;重装初值 MOV TH1 ,#3CH DJNZ R3, LP1 RET 1、 (216-X)12/12=50103 X=65535-50000=15536=0011 1100 1011 0000B (TH1)= 3CH (TL1)=B0H2、TMOD:0001 0000-10HM0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7T1控制T0控制定时定时(dn sh)时间:时间:t=(216-定时定时(dn sh)器初值)器初值)12/

15、fosc (s)第17页/共39页第十八页,共39页。可编得1s延时子程序如下(rxi): void delay1s() /1s延时函数延时函数-定时器定时器50ms,循环,循环20次次 uchar i; /设置为字符型变量设置为字符型变量 TMOD=0 x10;/T1为工作方式为工作方式(fngsh)1-M1M0=10 for(i=0;i0 x14;i+)/循环循环20次次 TH1=(65536-50000)/256; /延时延时50ms的初值的初值-3CB0H TL1=(65536-50000)%256; TR1=1; while(!TF1); /TF1由由0变为变为1,定时时间,定时时间

16、到到 TF1=0;/查询方式查询方式(fngsh)时,时,TF*必须由必须由软件清零软件清零 任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第18页/共39页第十九页,共39页。例4-2 假设晶振频率是12MHz,用定时器1方式2实现(shxin)1s延时。解:因为方式2是8位计数器,其最大定时时间为:2561s = 256s,为实现(shxin)1s延时,可选择定时时间为250s,再循环4000次。1 1、 (2 28 8-X-X)12/12=25012/12=250 X=256-250X=256-250 =6= =6=0000 01100000 0110 B B (TH1)=

17、06H (TL1)=06H2、TMOD:0010 0000-20H任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第19页/共39页第二十页,共39页。可编得1s延时子程序如下(rxi): void delay1s() /1s延时函数延时函数-定时器定时器250us,循环,循环4000次次 uint i; /设置为整型变量,范围为设置为整型变量,范围为0-65535 TMOD=0 x20; /T1为工作方式为工作方式2-M1M0=10 TH1=6; /延时延时250us的初值的初值-6 TL1=6; /放在放在for循环之外循环之外 for(i=0;i4000;i+) /循环循环

18、4000次次 TR1=1; /启动启动T1while(!TF1); /TF1由由0变为变为1,定时时间,定时时间(shjin)到到TF1=0; /250us定时时间定时时间(shjin)到到,将将TF1清零清零 任务任务1 1 音乐音乐(ynyu)(ynyu)门铃门铃 第20页/共39页第二十一页,共39页。1. 方式(fngsh)013位方式(fngsh) 定时器使用定时器使用(shyng)(shyng)时定时时间:时定时时间: t=(213-定时器初值)定时器初值)12/fosc (s)2. 方式(fngsh)116位方式(fngsh) t=(216-定时器初值)定时器初值)12/fosc

19、 (s)3. 方式28位自动装入时间常数方式 t=(28-定时器初值)定时器初值)12/fosc (s)4. 方式32个8位计数器方式 TL0:t=(28-TL0初值)初值)12/fosc (s)TH0:t=(28-TL1初值)初值)12/fosc (s)任务任务1 1 音乐门铃音乐门铃 第21页/共39页第二十二页,共39页。3 3、定时器计数器的编程和应用、定时器计数器的编程和应用(yngyng)(yngyng)5000us5000us5000us5000us定时定时(dn sh)时间:时间:t=(216-定时定时(dn sh)器初值)器初值)12/fosc (s)1、 (216-X)12

20、/12=5103 X=60536=1110 1100 0111 1000B (TH0)= 0ECH (TL0)=78H2、TMOD:0000 0001 -01H任务任务1 1 音乐门铃音乐门铃 第22页/共39页第二十三页,共39页。/*- 定时定时(dn sh)器中断子程序器中断子程序-*/void Timer0(void) interrupt 1 using 1 TH0=(65536-5000)/256; /重新赋值重新赋值 12M晶振计算,指令周期晶振计算,指令周期1uS, TL0=(65536-5000)%256; /10mS方波半个周期方波半个周期5000uS,即定时,即定时(dn

21、sh)5000次次 /溢出然后输出端取反溢出然后输出端取反 OUT=OUT; /用示波器可看到方波输出用示波器可看到方波输出 任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第23页/共39页第二十四页,共39页。/*- 名称:定时名称:定时(dn sh)器器0 内容:通过定时内容:通过定时(dn sh)产生产生10mS方波方波-方式方式1、中断方式、中断方式-*/#include /包含头文件包含头文件sbit OUT=P30; /定义定义OUT输出端口输出端口/*- 主程序主程序-*/main() TMOD = 0 x01; /使用模式使用模式1,16位定时位定时(dn sh

22、)器,器, EA=1; /总中断打开总中断打开 ET0=1; /定时定时(dn sh)器中断打开器中断打开 TR0=1; /定时定时(dn sh)器开关打开器开关打开 while(1);任务任务(rn wu)1 (rn wu)1 音乐门铃音乐门铃 第24页/共39页第二十五页,共39页。编程方法(fngf)计算(j sun)计数器的计数初值: 编程时将计数初值送THi、 TLi(i=0或i=1); 可编程器件T0、T1在使用(shyng)前需要进行初始化:确定TMOD控制字:编程时将控制字送TMOD; (如果使用中断方式)开中断: 编程时置位EA、ETi (如果使用查询方式)观察TFi TRi

23、位置位控制定时器的启动和停止。任务任务1 1 音乐门铃音乐门铃 第25页/共39页第二十六页,共39页。1. 方式(fngsh)013位方式(fngsh) 计数器使用计数器使用(shyng)(shyng)时:时: 定时器初值定时器初值= 213-计数值计数值(shz)2. 方式116位方式 3. 方式2、38位方式 定时器初值定时器初值= 216-计数值计数值定时器初值定时器初值= 28-计数值计数值任务任务1 1 音乐门铃音乐门铃 第26页/共39页第二十七页,共39页。itfT212016知识拓展:定时器发声知识拓展:定时器发声(f shn)(f shn)原原理理第27页/共39页第二十八

24、页,共39页。音符音符( (低音低音) )频率/Hz定时初值音符音符( (中音中音) )频率/Hz定时初值音符音符( (高音高音) )频率/Hz定时初值 1 DO262F88C(63628) 1 DO523FC44(64580) 1 DO1046FE22(65058) 2 RUI294F95B(63835) 2 RUI587FCAC(64684) 2 RUI1175FE56(65110)3 MI330FA15(64021)3 MI659FD09(64777)3 MI1318FE85(65157)4 FA349FA67(64103)4 FA698FD34(64820)4 FA1397FE9A(6

25、5178)5 SO392FB04(64260)5 SO784FD82(64898)5 SO1568FEC1(65217)6 LA440FB90(64400)6 LA880FDC8(64968)6 LA1760FEE4(65252)7 XI494FC0C(64524)7 XI988FE06(65030)7 XI1976FF03(65283)方式方式(fngsh)1 :(216-X)*12/12=956us X=64580-FC44H (TL0=44H TH0=0FCH)中音中音DO:T=(1/523) =1.912ms 方波:方波: 1.912ms /2=0.956ms=956us定时器定时时间

26、定时器定时时间(shjin)(半个周期)(半个周期)定时器发声原理定时器发声原理第28页/共39页第二十九页,共39页。曲调值曲调值1/41/4拍时间拍时间(msms)1/81/8拍时间拍时间(msms)调调4/412562调调3/418794调调2/4250125定时器发声定时器发声(f shn)(f shn)原理原理第29页/共39页第三十页,共39页。相关知识:键盘相关知识:键盘1 1、键盘、键盘(jinpn)(jinpn)工作原理工作原理 (1 1)按键)按键(n jin)(n jin)的分类的分类1)按键按照结构原理可分为两类: 触点式开关按键,如机械式开关、导电橡胶式开关等; 无触

27、点开关按键,如电气式按键,磁感应按键等。 前者造价低,后者寿命长。目前,单片机系统中最常见的是触点式开关按键。 2)按键按照接口(ji ku)原理可分为: 编码键盘。编码键盘主要是用硬件来实现对键的识别。 非编码键盘。非编码键盘主要是由软件来实现键盘的定义与识别。 任务任务2 2 音乐演奏器音乐演奏器第30页/共39页第三十一页,共39页。任务任务(rn wu)二二 音乐演奏器的设计与实现音乐演奏器的设计与实现(2 2)键输入)键输入(shr)(shr)原理原理1) 键盘接口的基本功能 键扫描:监测有无键按下。判别是否有键按下的方式有中断方式和查询方式两种: 中断方式:当键按下时,就向CPU发

28、出中断请求。CPU响应后,对键盘扫描,进行识别,取出键值,作相应处理。 查询方式:每隔一定时间,CPU扫描键盘一次,查询有无键按下。若有键按下,则再查键值,作相应处理。 去抖动: 一个电压信号通过机械触点(ch din)的开/关过程中,由于机械触点(ch din)的弹性作用,在开关瞬间均有抖动过程,会出现一系列的负脉冲, 图4-2 机械触点的开/关过程 第31页/共39页第三十二页,共39页。任务二任务二 音乐演奏器的设计音乐演奏器的设计(shj)与实现与实现a)硬件去抖 硬件消抖可以采用R-S触发器或单稳电路构成去抖电路,分别如图4-18所示。 硬件消抖因为要增加硬件开销, 造成电路复杂,除了(ch le)在数字电路里使用外,在单片机系统中不太采用。 b)软件去抖 在检测到有键按下时,执行一个10ms的延时程序后,再确认该键是否保持闭合状态。另外一种方法是连续判断按键所在线路的电平,如果连续100次(甚至更多)都出现低电平(一般按键都是低电平表示按下),就认为按键已经稳定,可以进行识别,这是企业实际开发产品中常用的方法。 图4-3 硬件(yn jin)去抖电路 第32页/共39页第三十三页,共39页。任务二任务二

温馨提示

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

评论

0/150

提交评论