单片机用定时器设计的门铃.pdf
*大 学 课 程 设 计 说 明 书 课程设计名称:单片机课程设计 专 业:机械设计制造及其自动化 学 号:学 生 姓 名:*指 导 教 师:*目录 1 设计任务.1 2 系统总体设计.1 3 硬件系统设计.1 4 程序流程图.2 5 程序.2 6 软件仿真.4 7 设计总结.4 参考文献.5 1 设计任务 用定时器设计的门铃,通过定时器控制门铃声响的系统设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。要求是按下开关的时候开启中断,定时器溢出进入中断后,在软件以标志位i来判断门铃声音呢,开始响铃。先是“叮”,标志位i 加1,延时后接着是“咚”,标志位i 加1,然后是关中断。检测铃响脉宽也是以标志位i 来识别“叮咚”。当i为0时给示波器A通道高电平,i 为2时,给示波器B通道高电平。2 系统总体设计 1.针对本课题的设计任务,进行分析得到,本次设计是利用单片机实现对扬声器发省的,控制采用按钮操作,c51 单片机进行控制,最终使扬声器发出“叮咚”声音。2.绘制电路原理图,编写程序,并进行仿真,基本实现对输出频率的控制,用扬声器的管理。其中有两个声音“叮”、“咚”,因此有两个输出的频率对应于两个不同扬声器声音的输出。最终利用单片机实现对扬声器发声的控制,采用按钮操作,c51 单片机进行控制,最后使扬声器发出“叮咚”声音。3.本设计能模拟基本的扬声器发出声响的系统,是采用中断的方式定时控制不同频率的输出。定时/计数器工作方式寄存器,定时器采用 T0 定时器工作于模式 0,位数:13 位。计数范围:0-8192;中断设置每次定时器中断执行两个不同频率的输出。3 硬件系统设计 单片机设计的门铃系统,可用单片机直接控制输出频率变化来实现门铃声响可以广泛的应用到现实门铃的设计中。据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上图所示。因为它能够准确地划分成时钟频率,与 UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器 1 被用作波特率发生器时,波特率工作于方式 1 和方式 3 是由定时器 1 的溢出率和 SMOD 的值(PCON.7-双倍速波特率)决定。4 程序流程图 5 程序 ORG 0000H ;规定汇编的起始地址为0000H LJMP MAIN ;把 MAIN 函数进行长转移 ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#00H ;定义工作方式寄存器TMOD 用于选择定时器/计数器的 工作模式和工作方式 MOV IE,#82H MOV TH0,#HIGH(8192-700);定义定时器/计数器 0(高字节)的地址 MOV TL0,#LOW(8192-700);定义定时器/计数器 0(低字节)的地址 MOV R2,#0 MOV R3,#0 LOOP:JB P2.0,$SETB TR0 JNB P2.0,$;直接寻址位为零则转移 SJMP LOOP T0ISR:CPL P2.3 ;对 P2.3 取反 LCALL ADDP LCALL CMPP JNZ T01 MOV TH0,#HIGH(8192-700)MOV TL0,#LOW(8192-700)RETI ;从中断返回 T01:DEC A ;累加器减 1 JNZ T02 MOV TH0,#HIGH(8192-1000)MOV TL0,#LOW(8192-1000)RETI T02:CLR TR0 MOV R2,#0 MOV R3,#0 RETI ADDP:MOV A,R2 ADD A,#1 ;把立即数 1 加上累加器中的数寄存到累加器 A中 MOV R2,A MOV A,R3 ADDC A,#0 ;把立即数加到累加器 MOV R3,A RET CMPP:CLR C MOV A,R2 SUBB A,#90H MOV A,R3 SUBB A,#1 JC CMPP0 CLR C ;清进位位 MOV A,R2 SUBB A,#20H ;累加器减去立即数 20H MOV A,R3 SUBB A,#3 JC CMPP1 MOV A,#2 RET CMPP1:MOV A,#1 RET CMPP0:MOV A,#0 RET ;从子程序中返回 END 6 软件仿真 7 设计总结 这次课程设计使我得到了不小的收获,发现了自己的很多不足,知识体系上的漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还需很大提高。首先拿到这个题目,我就开始收集大量的资料,包括C51单片机的原理,人的听力范围等等与课程设计相关的各类知识,了解了很多之前并未注意的知识。通过这次课程设计,开阔了我们的视野,提高了我们的兴趣。在今后的学习中我们仍可以进行这方面的尝试,开拓自己的眼界和操作能力,提高自己的动手制作能力,在动手中学习,在动手中收获。参考文献 1 楼然苗.李光飞 51 系列单片机设计实例M.北京航空航天大学出版社,2001.2 王东峰等.单片机 C语言应用 100 例M.电子工业出版社,2009.3 刘守义等.单片机技术基础M.西安电子科技大学出版社,2007.