电子时钟电路_第1页
电子时钟电路_第2页
电子时钟电路_第3页
电子时钟电路_第4页
电子时钟电路_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

电子时钟电路山东师范大学第1页,课件共12页,创作于2023年2月山东师范大学本次设计中单片机晶振为12MHz,那么定时器的计数频率为1MHz,由于选择工作方式1,那T值为T=216-x(x为计数次数,T为计数初值),下表列出了不同音符在该例中的计数初值:音符频率(Hz)T值中DO52364580中RE58764684中MI65964777中FA69864820中SO78464898中LA88064968中XI98865030可以建立一个表格,有助于单片机通过查表的方式来获得相应的数据.TABLEDW64580,64684,64777,64820,64898,64968,65030第2页,课件共12页,创作于2023年2月山东师范大学2.硬件电路单片机P2口为输入接口,接有一组7个按键.这7个按键S1~S7通过排阻,分别按顺序与单片机的P2.1~P2.7相接,按键另一端接地,共同组成整个电路的按键控制部分,为整个电路提供输入信号.单片机P1口为输出端,连接着整个电路的发声放大部分.这部分是整个电路的关键所在,脉冲电压信号通过电解电容(因为本例单片机所产生的信号频率较低,所以选用相对容量较大的电解电容)和反向放大器相连.输入电阻,运算放大器和反馈电阻共同组成反向放大器.电压信号经过输入电阻,流入运算放大器的反向输入端,输出信号经过反馈电阻,反馈到反向输入端,同时接入闭环保护电阻,也可防止共模电压超出极限值.集成运放将放大的信号经过电解电容传给喇叭,以驱动喇叭发声.第3页,课件共12页,创作于2023年2月山东师范大学第4页,课件共12页,创作于2023年2月山东师范大学对于理想闭环特性,当运算放大器的开环增益→∞时,就可以得到理想的闭环增益为:Aideal=limA=-R2/R1其中R2为反馈电阻阻值,R1为输入电阻阻值.这就是说,闭环增益还是仅决定于外部电阻的阻值,所以可以直接通过电阻分压来设置增益,且输出阻抗都很小.本例中根据实际需要所选定的元件参数如下:反馈电阻R2为10K,输入电阻R1为1K,闭环增益A为10.单片机P1.7接入一个按键和一个分压电阻,组成放歌按钮,来控制整个电路运行扩展功能(播放一段音乐).第5页,课件共12页,创作于2023年2月山东师范大学3.软件设计3.1流程图开始T0初始化并开中断允许T0中断按键并判断是否成功识别按键功能根据按键功能,装入音符T值到T0中启动T0工作判断按键释放是否成功停止T0工作NNYYT0中断入口重装TH0\TL0初值P1.0取反中断返回T0中断子程序图主程序流程图第6页,课件共12页,创作于2023年2月山东师范大学3.2设计思路音符通过定时器T0产生,然后通过键盘不断的扫描,根据按键功能,将不同按键所对应的频率信号发送到集成运放中放大,最后送给喇叭发出对应的音符以发出相应的声音.在主程序流程图中,T0初始化以后,首先要通过扫描键盘,判断是否有按键按下.若没有,则继续扫描,不断重复循环过程,直到发现按键按下,程序才能根据按键的功能,将相对应的音符T值装入到T0后,T0开始启动.程序随后继续扫描按键,若按键保持按下状态,则T0继续保持工作状态,直到按键松开,T0停止工作,返回初始状态,等待下一次扫描按键结果.在中断子程序中,程序先保存现场,并重装TH0\TL0的初值,然后将P1.0按位取反,重新送入P1.0,最后中断返回.第7页,课件共12页,创作于2023年2月山东师范大学3.3示例程序1(产生按键音符方案1)ORG 0000HLJMP MAINORG 000BHLJMP BREAKMAIN: MOVTMOD,#01H ;设置定时器0的工作方式 SETBEA SETBET0 ;设置定时器0中断 SETBTRO ;启动定时器0WAIT1: LCALLKEY ;调用KEY子程序,判断是否有键按下?第几个? CLREA ;屏蔽中断 CJNER3,#00H,WAIT1 ;如果R3=0,表示有键按下 MOVA,22H ;将22H里存放的按键号送给A RLA ;因为查表里都是字,所以乘2查得数据 MOVDPTR,#TABLE ;指向表头 MOVCA,@A+DPTR ;查表 MOVTH0,A ;将数据高位送TH0 MOV21H,A ;将高位备份 MOVA,22H ;将22H里存放的按键号送给A RLA ;因为查表里都是字,所以乘2查得数据 INCA ;取低位数据 MOVCTL0,A MOV20H,A第8页,课件共12页,创作于2023年2月山东师范大学WAIT2: LACLLKEY SETBA CJNER3,#00H,WAIT1 JMPWAIT2KEY: MOVR3,#00H ;KEY子程序,判断是否有键按下,第几个? MOVR1.#0FFH MOVR0,#00H MOVA,R1 MOVP2,A MOVA,P2 CLRC CLRC ;利用标志位C来判断哪个键按下 MOVR2,#08HWAIT3: RLCA ;移位判断 JNCSTORE INCR0 DJNZR2,WAIT3STORE: MOV22H,R0 ;将按键号存22H,R3=0有键按下 MOVR3,#00H RETBREAK: PUSHACC ;中断产生方波,从P1.0口输出 PUSHPSW MOVTL0,20H MOVTH0,21H CPLP1.0 POPPSW POPACC RET1TABLE: DW65030,64968,64898,64820,64777,64684,64580;7,6,5,4,3,2,1, END第9页,课件共12页,创作于2023年2月山东师范大学3.4示例程序2(带扩展功能的程序设计)让整个电路不是单单只能发出单个音符,还能演奏出一小段音乐(生日快乐).ORG 0000HJMP MAINORG 000BHJMP TT0MAIN: MOVTMOD,#01H ;设置定时器0的工作方式 MOVIE,#82H ;设置中断MAIN0: MOV30H,#00HNEXT: MOVA,30H MOVDPTR,#TABLE ;设置中断 MOVCA,@A+DPTR MOVR2,A JZSTOP ANLA,#0FH JNZSINGCLR TR0JMP W1SING: DECA MOV22H,A RLA第10页,课件共12页,创作于2023年2月山东师范大学 MOVDPTR,#TABLE1 ;查表 MOVCA,@A+DPTR MOVTH0,A MOV21H,A MOVA,22H RLA INCA MOVCA,@A+DPTR MOVTL0,A MOV20H,A SETBTR0W1: CALLDELAY INC30H JMPMAIN0TT0: PUSHACC ;中断服务程序 PUSHPSW MOVTL0,20H MOVTH0,21H CPLP1.0 POPPSW POPACC RETIDELAY: MOVR7,#2 ;延时187msW2: MOVR4,#187第11页,课件共12页,创作于2023年2月山东师范大学W3: MOVR3,#248 DJNZR3,$ DJNZR4,W3 DJNZR7,W2 DJNZR5,DELAY RETTABLE1: DW64260,64400,64524,64580 ;音符计数值 DW64684,64777,64820,64898 DW64968,65030,65058,65110 DW65157,65178,65217TABLE: DB82H,01H,81H,94H,84H ;节拍表 DB0B4H,0A4H,04H DB82H,01H,81H,94H,84H DB0C4H,0B4H,04H DB82H,01H,81H,0F4H,0D4H DB0B4H,0A4H,94H DB0E2H,01H,0E1H,0D4H,0B4H DB0C4H,0B4H,04H DB82H,

温馨提示

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

评论

0/150

提交评论