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

下载本文档

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

文档简介

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

2、计数器1 1、定时器、定时器0 0和定时器和定时器1 1(1 1)定时)定时/ /计数器的组成框图计数器的组成框图图4-1 8051定时器/计数器逻辑结构图 P3.4P3.5任务任务1 1 音乐门铃音乐门铃 第4页/共39页 由图4-1可知,8051单片机定时器/计数器由定时器0(T0)、定时器1(T1)、定时器方式寄存器TMOD和定时器控制寄存器TCON组成 。 16位的加1计数器(高8位、低8位)T0、T1 TMOD-定时/计数器方式寄存器,工作方式设置; TCON-定时/计数器控制寄存器,启动、停止及设置溢出标志。 任务任务1 1 音乐门铃音乐门铃 第5页/共39页(2 2)定时)定时/

3、 /计数器的工作原理计数器的工作原理 由TMOD中的控制位(CT)来决定T0和T1是工作在定时器方式还是计数器方式。1.1. 定时功能定时功能-计数脉冲信号:内部振荡电路经12分频后输出的脉冲进行加1计数。计数频率是振荡频率的1/12 fc=1/12*fosc。2. 2. 计数功能计数功能-计数脉冲信号:来自外部输入引脚-(T0为P3.4,T1为P3.5)的负跳变信号进行加1计数 fc=1/24*fosc 。任务1 音乐门铃的分析与仿真第6页/共39页(3 3)定时)定时/ /计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器1 1) )定时/计数器控制寄存器TCON(88H)D7D

4、6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0中断请求标志触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动任务任务1 1 音乐门铃音乐门铃 第7页/共39页2)2)工作方式控制寄存器TMOD(89H)T1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE 门控位。门控位。 GATE = 0 启动由启动由TR0(或(或TR1)一位控制;)一位控制; GATE = 1 启动受启动受 TR0和和/INT0 (或或TR1TR1和和 /INT1 )两位)两位控制。控制。 C/T 外部计数器外部计数器

5、/ 定时器方式选择位定时器方式选择位 C/T = 0 定时方式;定时方式; C /T = 1 计数方式。计数方式。 M1 M0 工作模式选择位(编程可决定四种工作模式)工作模式选择位(编程可决定四种工作模式)。 任务1 音乐门铃的分析与仿真第8页/共39页M1 M0工工 作作 方方 式式功功 能能 说说 明明 0 0方 式 013位位计数器 0 1方 式 116位位计数器 1 0方 式 2自动再装入8位位计数器 1 1方 式 3定时器0:分成两个8位位计数器定时器1:停止计数表4-1 定时器方式选择任务任务1 1 音乐门铃音乐门铃 第9页/共39页(1) 方式013位方式 TF0T0TR0GA

6、TEINT011&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器中断中断TCON定时时间:定时时间:t=(213-定时器初值)定时器初值)12/fosc (s)2 2、定时器计数器的工作方式、定时器计数器的工作方式任务任务1 1 音乐门铃音乐门铃 第10页/共39页(2) 方式116位方式 定时时间:定时时间:t=(216-定时器初值)定时器初值)12/fosc (s)振荡器1/12TL0 TH0TF011&T0TR0GATEINT0C/T=0C/T=18位8位16位计数器中断中断任务任务1 1 音乐门铃音乐门铃 第11页/共39页(3) 方式28位自动

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

8、时定时/计数器计数器固定为定时器固定为定时器任务任务1 1 音乐门铃音乐门铃 第13页/共39页二者的定时时间分别是:二者的定时时间分别是:TL0:t=(28-TL0初值)初值)12/fosc (s)TH0:t=(28-TH0初值)初值)12/fosc (s) 此时定时器此时定时器T1仍然可设置成方式仍然可设置成方式0、1或或2,但,但TR1和和TF1被定时器被定时器T0占用,一般用作串行口波特率发生器或不占用,一般用作串行口波特率发生器或不需要中断的场合。需要中断的场合。任务任务1 1 音乐门铃音乐门铃 第14页/共39页例4-1 假设晶振频率是12MHz,用定时器1方式0实现1s的延时。解

9、:因方式0采用13位计数器,其最大定时时间为: 213131s =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 (TH1)= 63H (TL1)=18H2、TMOD:0000 0000-00H任务任务1 1 音乐门铃音乐门铃 第15页/共39页可编得1s延时子程序如下: void delay1s()/1s延时函数延时函数-定时器定时器5m

10、s,循环,循环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-5000)%32; TR1=1; /启动启动T1 while(!TF1); /TF1由由0变为变为1,定时时间到,定时时间到 TF1=0; /50ms定时时间到定时时间到,将将TF1清零清零 任务任务1 1 音乐门铃音乐门铃 第16页/共39页DELAY:MOV R3 , #14H ;(;

11、(20) MOV TMOD ,#10H ;设;设T1工作于方式工作于方式1定时定时 MOV TL1 ,#0B0H ;装入计数值低;装入计数值低8位位 MOV TH1 ,#3CH ;装入计数值高;装入计数值高8位位 SETB TR1 ;启动定时器;启动定时器 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)

12、= 3CH (TL1)=B0H2、TMOD:0001 0000-10HM0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7T1控制T0控制定时时间:定时时间:t=(216-定时器初值)定时器初值)12/fosc (s)第17页/共39页可编得1s延时子程序如下: void delay1s() /1s延时函数延时函数-定时器定时器50ms,循环循环20次次 uchar i; /设置为字符型变量设置为字符型变量 TMOD=0 x10;/T1为工作方式为工作方式1-M1M0=10 for(i=0;i0 x14;i+)/循环循环20次次 TH1=(65536-50000)/25

13、6; /延时延时50ms的初值的初值-3CB0H TL1=(65536-50000)%256; TR1=1; while(!TF1); /TF1由由0变为变为1,定时,定时时间到时间到 TF1=0;/查询方式时,查询方式时,TF*必须由软件必须由软件清零清零 任务任务1 1 音乐门铃音乐门铃 第18页/共39页例4-2 假设晶振频率是12MHz,用定时器1方式2实现1s延时。解:因为方式2是8位计数器,其最大定时时间为:2561s = 256s,为实现1s延时,可选择定时时间为250s,再循环4000次。1 1、 (2 28 8-X-X)12/12=25012/12=250 X=256-250

14、X=256-250 =6= =6=0000 01100000 0110 B B (TH1)= 06H (TL1)=06H2、TMOD:0010 0000-20H任务任务1 1 音乐门铃音乐门铃 第19页/共39页可编得1s延时子程序如下: 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

15、=0;i4000;i+) /循环循环4000次次 TR1=1; /启动启动T1while(!TF1); /TF1由由0变为变为1,定时时间到,定时时间到TF1=0; /250us定时时间到定时时间到,将将TF1清清零零 任务任务1 1 音乐门铃音乐门铃 第20页/共39页1. 方式013位方式 定时器使用时定时时间:定时器使用时定时时间: t=(213-定时器初值)定时器初值)12/fosc (s)2. 方式116位方式 t=(216-定时器初值)定时器初值)12/fosc (s)3. 方式28位自动装入时间常数方式 t=(28-定时器初值)定时器初值)12/fosc (s)4. 方式32个8

16、位计数器方式 TL0:t=(28-TL0初值)初值)12/fosc (s)TH0:t=(28-TL1初值)初值)12/fosc (s)任务任务1 1 音乐门铃音乐门铃 第21页/共39页3 3、定时器计数器的编程和应用、定时器计数器的编程和应用5000us5000us5000us5000us定时时间:定时时间:t=(216-定时器初值)定时器初值)12/fosc (s)1、 (216-X)12/12=5103 X=60536=1110 1100 0111 1000B (TH0)= 0ECH (TL0)=78H2、TMOD:0000 0001 -01H任务任务1 1 音乐门铃音乐门铃 第22页/

17、共39页/*- 定时器中断子程序定时器中断子程序-*/void Timer0(void) interrupt 1 using 1 TH0=(65536-5000)/256; /重新赋值重新赋值 12M晶振计算,指令周期晶振计算,指令周期1uS, TL0=(65536-5000)%256; /10mS方波半个周期方波半个周期5000uS,即定时,即定时5000次次 /溢出然后输出端取反溢出然后输出端取反 OUT=OUT; /用示波器可看到方波输出用示波器可看到方波输出 任务任务1 1 音乐门铃音乐门铃 第23页/共39页/*- 名称:定时器名称:定时器0 内容:通过定时产生内容:通过定时产生10

18、mS方波方波-方式方式1、中断方式、中断方式-*/#include /包含头文件包含头文件sbit OUT=P30; /定义定义OUT输出端口输出端口/*- 主程序主程序-*/main() TMOD = 0 x01; /使用模式使用模式1,16位定时器,位定时器, EA=1; /总中断打开总中断打开 ET0=1; /定时器中断打开定时器中断打开 TR0=1; /定时器开关打开定时器开关打开 while(1);任务任务1 1 音乐门铃音乐门铃 第24页/共39页编程方法计算计数器的计数初值: 编程时将计数初值送THi、 TLi(i=0或i=1); 可编程器件T0T0、T1T1在使用前需要进行初始

19、化:确定TMOD控制字:编程时将控制字送TMOD; (如果使用中断方式)开中断: 编程时置位EA、ETi (如果使用查询方式)观察TFi TRi位置位控制定时器的启动和停止。任务任务1 1 音乐门铃音乐门铃 第25页/共39页1. 方式013位方式 计数器使用时:计数器使用时: 定时器初值定时器初值= 213-计数值计数值2. 方式116位方式 3. 方式2、38位方式 定时器初值定时器初值= 216-计数值计数值定时器初值定时器初值= 28-计数值计数值任务任务1 1 音乐门铃音乐门铃 第26页/共39页itfT212016知识拓展:定时器发声原理知识拓展:定时器发声原理第27页/共39页音

20、符音符( (低音低音) )频率/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(65178)5 S

21、O392FB04(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)方式方式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定时器定时时间定时器定时时间(半个周期)半个

22、周期)定时器发声原理定时器发声原理第28页/共39页曲调值曲调值1/41/4拍时间拍时间(msms)1/81/8拍时间拍时间(msms)调调4/412562调调3/418794调调2/4250125定时器发声原理定时器发声原理第29页/共39页相关知识:键盘相关知识:键盘1 1、键盘工作原理、键盘工作原理 (1 1)按键的分类)按键的分类1)按键按照结构原理可分为两类: 触点式开关按键,如机械式开关、导电橡胶式开关等; 无触点开关按键,如电气式按键,磁感应按键等。 前者造价低,后者寿命长。目前,单片机系统中最常见的是触点式开关按键。 2)按键按照接口原理可分为: 编码键盘。编码键盘主要是用硬件

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

温馨提示

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

评论

0/150

提交评论