自动打铃器设计单片机课程设计_第1页
自动打铃器设计单片机课程设计_第2页
自动打铃器设计单片机课程设计_第3页
自动打铃器设计单片机课程设计_第4页
自动打铃器设计单片机课程设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计单片机系统课 程 设 计成绩评定表设计课题 自动打铃器设计 学院名称 : 电气工程学院 专业班级 : 测控0901 学生姓名 : 李永超学 号 : 200948770102 指导教师 : 臧海河 设计地点 : 31-630 设计时间 : 2011-11-282011-12-11 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称: 自动打铃器设计 专 业 班 级 : 测控0901 学 生 姓 名 : 齐会云 学 号 : 200948770132 指 导 教 师 : 臧海河 课程设计地点: 31-630 课程设计时间: 2011-11-282011-12-11

2、 单片机系统 课程设计任务书学生姓名李永超 专业班级测控0901学号200948770102题 目 自动打铃器设计课题性质工程设计课题来源老师拟定指导教师 臧海河主要内容(参数)基于51单片机设计的自动打铃器,实现以下功能:1根据自己的需要设定打铃时间,到设定时间会自动打铃;28位led动态显示时间,实现表24小时制计时和显示的功能;3能设置当前时间;4可随时更改打铃时间;任务要求(进度) 第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。 第5-6天:软件设计

3、,编写程序。 第7-8天:实验室调试。 第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)m北京:国防工业出版社,20042 周润景,袁伟亭,景晓松.proteus在mcs-51系统中的应用。电子工业出版社,2006 3 伟福lb6000系列单片机仿真实验系统指导书。南京伟福实业有限公司4 中国电子网http:/www.21ic.com审查意见系(教研室)主任签字: 年 月 日 目 录1 引言32 总体方案设计52.1硬件组成52.2 方案论证52.3 总体方案

4、83 硬件电路设计83.1 复位电路83.2 时钟电路113.3 按键电路163.4 相关控制电路183.4.1 控制打铃电路183.4.2 数码显示电路184 系统软件设计254.1 主程序设计254.2 中断服务程序设计284.3 部分主要子程序的设计305 系统调试与总结355.1 系统功能测试365.2 总结37参考文献37附录a 系统原理图39附录b 源程序401 引言单片机自1976年由intel公司推出mcs-48开始,迄今已有三十多年了。由于单片机集成度高,功能强,可靠性高,体积小,功耗低,使用方便,价格低廉等一系列优点,目前已渗透到人们工作和生活的方方面面,几乎无处不在。单片

5、机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、pc机外围以及网络通讯等广大领域。为方便人们的日常生活,优化学校,机关等单位的计时系统,采用以单片机为基础设计的一种自动打铃器。此次设计利用了单片机89c51的定时和计数功能,来完成时间的计时和校时功能。用led显示器显示时,分,秒。选用led的亮灭来模拟现实的电铃实现打铃,程序去控制单片机引脚电平的高低从而驱动代替电铃的led和led显示。其中计时和定时功能是软件为主,硬件为辅。而校时功能是以软件为辅,由外部按键控制,实现加一与减一的操作。本系统有七个按键,分别是设置键,校准时间键,调时键,调分

6、键,调秒键,以保证时钟与标准时间相吻合,打铃时间键,停止响铃键,可随时调整打铃时间,方便快捷。用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点。它可以进行时钟校准和定点打铃,可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间,这样方便了广大师生。2 总体方案设计2.1硬件组成键盘电路at89c51显示电路时钟电路蜂鸣器驱动电路 复位电路图2.1 硬件方框图它可以作为时钟电路来显示时间,进行设置,定时打铃。本系统主要有主控模块89c51,时钟模块,显示模块,键盘接口模块等部分组成。通过外部产生中断,从而驱动蜂鸣器工作。2.2 方案论证单片机内部

7、存储器设三个字节58h、59h、5ah分别存放秒、分、时信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分值加1;若分值达到60,则将其清零,并将相应的时值加1;若时值达到24,则将其清零。转换到相应的位输出显示50h-57h,接下来进行校准和打铃时间设定,有关校准键或设置打铃时间键按下后,调用相应的子程序,进行时间的调整。倘若打铃时间已设定,那么当主程序检测到有分仅为标志时,便开始比较当前时间与设定打铃时间是否相同,如果相同,则进行打铃,不相同则返回主程序。2.3 总体方案总体框图如图2.1所示。图2.1总体框图3 硬

8、件电路设计3.1复位电路上电复位电路是一种简单的复位电路,只要在rst复位引脚接一个电容到vcc,接一个电阻到地就可以了。上电复位是指在系统上电时,复位电路通过电容加到rst复位引脚一个短暂的高电平信号,这个复位信号随vcc对电容的充电过程而回落,故rst引脚复位的高电平维持时间取决于电容的充电时间。为保证系统安全可靠的复位,rst引脚的高电平信号必须维持足够长时间。电路图如图3.1所示。图3.1复位电路3.2时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地工作。因此时钟频率直接影响单片机的速度,时钟电路的质量也影响单片机系统的稳定性。常用时钟电路有两种方式:

9、一种是内部时钟方式,另一种是外部时钟方式。本文采用的是内部时钟方式。电路图如3.2所示。图3.2时钟电路3.3按键电路按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的i/o口形成一个负脉冲。闭合和释放过程都会有抖动现象,要采取措施消除抖动。本文采用独立式按键,直接用i/o口线构成单个按键电路,每个按键占用一条i/o口线,每个按键的状态不会产生互相影响。其电路图如3.3所示。图3.3键盘电路本系统共7只按键,调整时间选择键、调秒键、调分键、调时键、中断选择键、调响铃时间键、停止响铃键调整时间选择键:p1.0;关中断后,再按下此键,即可进行时间的调节调秒键:p1.1;用于校准

10、或设定打铃时间时,秒值的改变调分键:p1.2;用于校准或设定打铃时间时,分值的改变调时键:p1.3;用于校准或设定打铃时间时,时值的改变中断选择键:未按下此键时,表正常走,按下此键,中断调响铃时间键:调节此键,可进行响铃时间的设定停止响铃键:按下此键,响铃强制关闭3.4相关控制电路3.4.1控制打铃电路p1.7口控制电铃工作。当时钟当前的时间和当前所执行的时间一致时,相应位置1,p1.7口输出高电平,启动电铃进行打铃。打铃一定时间,标志位置0,p1.7输出低电平电铃停止工作。电路图如3.4.1所示。图3.4.1打铃电路(led代替电铃)3.4.2显示电路数码管工作原理数码管是由8个发光二极管构

11、成的显示器件。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。本文用到的八个数码管均是共阴极的,采用动态显示方式,在片选信号和段选信号的控制下,数码管分别正确显示十时,时,十分,分,十秒,秒。电路图如图3.4.2所示。图3.4.2显示电路3.5自动打铃器硬件总图如图3.5所示。图3.5自动打铃器硬件总图4系统软件设计系统软件分为主程序、中断服务程序和子程序三部分。4.1 主程序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。本系统上电或复位时,根据有没有按键按下以及有键按下时按下的是哪个键,

12、分为以下几种状态:1.设置键按下时,看设置时间键和设置打铃时间键是否按下,若设置时间键按下,则进行校准当前时间;若设置打铃键按下,则进行打铃时间的设定。2秒键按下时,进行秒值的调整,前提是设置键已按下,再根据是设置时间键还是设置打铃时间键按下来判定是校准时间还是设定打铃时间。3. 分值键按下时,进行分值的调整,前提是设置键已按下,再根据是设置时间键还是设置打铃时间键按下判定是校准分值还是设置打铃秒值。4. 时值键按下时,进行时值的调整,前提是设置键已按下,再根据是设置时间键还是设置打铃时间键按下来判定是校准时间还是设置打铃时间。5.没有键按下时,表处于正常运行状态。定时溢出10次,秒值加1,秒

13、值加到60,清零,分值加1,分值加到60,清零,时值加1,当加到24时,清零。按照上述分析,主程序流程图如图4.1所示。图4.1 主程序流程图4.2 中断服务程序设计图4.2 中断服务程序流程图设置键按下后进入中断,当设置时间键按下时,若加时键按下,那么时加1,若加分键按下时,分加1,若加秒键按下后,秒加1,返回键按下时,中断返回;当设置打铃时间键按下时,若加时键按下,则定时时加1,若加分键按下时,定时分加1,若加秒键按下时,定时秒加1,若返回键按下时,中断返回。4.3 部分主要子程序的设计系统主要子程序包括显示子程序、键处理子程序等。(1)显示子程序的设计显示采用的是动态显示,显示的字形代码

14、是共阴的显示代码,位选端低电平有效。显示子程序的第一部分是拆字,显示缓冲区是50h-57h;第二部分是查字形码,输出段选和位选信号,由于采用的是动态显示,所以每输出一位段选和位选信号都要延时一定的时间,使led显示器显示的字符达到稳定。图3.4.2中,显示器共有8个led数码管,其段选口的地址是0bfffh,位选口的地址是7fffh。分配at89c51内部ram 50h57h共8个单元作显示缓冲区,显示缓冲区与led的对应关系列于表4.1。系统采用共阴极led,利用程序译码。表4.1 显示缓冲区与led的对应关系表缓冲区地址50h51h52h53h54h55h56h57h对应的ledled1l

15、ed2led3led4led5led6led7led8(2)键处理子程序的设计本系统有七个按键,分别是设置键,设置时间键,调时键,调分键,调秒键,以保证时钟与标准时间相吻合,打铃时间键,停止响铃键,可随时调整打铃时间,方便快捷。按键判断程序在编写时要注意按键的去抖动,该系统采用的是延时去抖动的方法,延时是通过调用子程序来实现的,每个按键按下后要等待释放后再返回。5 系统调试与总结5.1 系统功能测试系统上电后,显示正常,进行了以下测试。1.正常运行功能测试。2.校准时间测试。3.设置打铃时间测试。4.停止响铃功能测试。上述测试结果基本和预期相符,只有跳过时间跳出中断的瞬间显示一个乱码,之后正常

16、。5.2 总结经过一个学期的学习,使我们对单片机有了一定的认识,了解一些软件编程的技巧。通过本次课程设计,使我们将书本上的知识付诸实践,并且在设计过程中学到了课本上学不到的知识,对单片机又有了更深的认识,掌握单片机的设计步骤,知道这门课在工作中的重要性。在这不足两个星期的时间里,从拿到题目到查找资料,方案论证,到硬件电路的设计、制作与调试,再到软件设计,以及最后的软硬件调试,途中遇到了种种困难,但是经过齐会云、陈生生我们三人团结协作,尤其是他们俩人,以及其他同学的指点下,我们基本上完成了设计任务。通过这次设计,我们充分认识到了,理论与实际之间的距离,理论很好,不一定能把东西做出来,要发挥自学的

17、重要性,自己去思考问题,提出问题,解决问题,在图书馆以及网络上查阅大量资料,同时也认识到图书馆和网络资源的重要作用,同学们之间的团结协作、互相探讨也自关重要!在今后的学习过程中,应该多去图书馆看一些太业方面的书籍,多在网络上了解电子行业的最新动态,多与同学进行交流,以丰富自己的知识。本实验的有三处不足,一是于按键过多,容易造成混淆,可把调时调分调秒这三个键用两个加一键和减一键来代替;二是在中断中调整打铃时间会给时间带来很大误差,尽管我们可以在调整打铃时间后重新设置时间,但仍是不方便;三是跳出中断一瞬间显示一个乱码,我们不知道问题出在哪里。通过这次课程设计我们认识到了自己的缺点和不足,我们不会为

18、自己完成任务而骄傲也不会因为有缺陷而气馁,我们会再接再砺,努力解决我们现在解决不了的问题,踏踏实实的掌握单片机的应用技术与开发。参考文献 1 张迎新单片微型计算机原理、应用及接口技术(第2版)m北京:国防工业出版社,20042 周润景,袁伟亭,景晓松.proteus在mcs-51系统中的应用。电子工业出版社,20063 伟福lb6000系列单片机仿真实验系统指导书。南京伟福实业有限公司4 中国电子网http:/www.21ic.com附录a 系统原理图附录b 源程序 org 0000h ajmp main org 0013h ajmp settime org 0030hmain:mov sp,

19、#6fh mov ie,#85h mov tmod,#01h mov th0,#3ch mov tl0,#0b0h clr p1.7 mov b,#10 setb tr0time:mov r4,#10 mov a,59h;判断打铃cjne a,69h,secondsmov a,5ahcjne a,6ah,secondsmov a,58hcjne a,68h,secondssetb p1.7 close:jb p1.6,seconds;关闭闹铃 clr p1.7 seconds:jb tf0,dssdlcall dissjmp seconds dssd:clr tf0 mov th0,#3ch

20、mov tl0,#0b0h djnz r4,close inc 58h mov a,58h div ab mov 50h,b mov 51h,a mov b,#10 cjne a,#6,time inc 59h mov 58h,#0 mov 51h,#0 mov 52h,#0 mov a,59h div ab mov 54h,a mov 53h,b mov b,#10 cjne a,#6,time inc 5ah mov 59h,#0 mov 54h,#0 mov 53h,#0 mov a,5ah cjne a,#24,re mov 5ah,#0 mov 56h,#0 mov 57h,#0re

21、:div ab mov 57h,a mov 56h,b mov b,#10 sjmp time dis:mov 52h,#0ah mov 55h,#0ah mov r0,#50h mov r6,#7fh lp:mov a,r6 mov dptr,#7fffh movx dptr,a mov a,r0 mov dptr,#tab movc a,a+dptr mov dptr,#0bfffh movx dptr,a lcall delay1ms inc r0 mov a,r6 rr a mov r6,a cjne r0,#58h,lp retdelay1ms:mov r3,#20 djnz r3,

22、$ rettab:db 3fh,06h db 5bh,4fhdb 66h,6dhdb 7dh,07hdb 7fh,6fh db 40hsettime: acall dis;重置时间 lpp: jnb p1.0,ready jnb p1.4,ready1 lcall dis ljmp lppready:jnb p1.0,$;调整时间 sett:lcall dis jnb p1.0,rst jnb p1.1,ss jnb p1.2,mm jnb p1.3,hh sjmp sett rst:jnb p1.0,$ retiss: mov b,#10 jnb p1.1,$ inc 58h mov a,5

23、8h div ab mov 51h,a mov 50h,b cjne a,#6,sett mov 58h,#0 mov 51h,#0 mov 50h,#0 sjmp sett mm: mov b,#10 jnb p1.2,$ inc 59h mov a,59h div ab mov 54h,a mov 53h,b cjne a,#6,sett mov 59h,#0 mov 54h,#0 mov 53h,#0 sjmp sett hh: mov b,#10 jnb p1.3,$ inc 5ah mov a,5ah div ab mov 57h,a mov 56h,b mov a,5ah cjne a,#24,sett mov 5ah,#0 mov 57h,#0 mov 56h,#0 sjmp s

温馨提示

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

评论

0/150

提交评论