ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:333.10KB ,
资源ID:13824465      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13824465.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AT89C51单片机LED数字倒计时器课程设计论文.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

AT89C51单片机LED数字倒计时器课程设计论文.docx

1、AT89C51单片机LED数字倒计时器课程设计论文课 题: AT89C51单片机LED数字倒计时器专 业: 班 级: 学 号: 姓 名: 指导教师: 设计日期: 成 绩:重庆大学城市科技学院电气学院目录一、设计目的作用 1二、设计要求 1三、设计的具体实现 11、设计原理 1(1)系统设计方案 1(2)功能模块 2(3)工作原理: 2 2、系统设计 2(1)显示模块 2(2)晶振模块 3(3)复位电路: 3(4)按键模块: 4(5)报警模块: 53、系统实现 6(1)实物图 6(2)分析 6四、总结 6五、附录 8附录1: 8附录2: 9附录3: 9六、参考文献 16 LED数字倒计时器设计报

2、告一、设计目的作用1、掌握51单片机最小系统的设计;2、掌握按键电路设计、LED数码管的使用;3、掌握C51的编程方式。二、设计要求 基于AT89C51单片机的LED数字倒计时器主要具有如下功能,具体要求如下: 1、LED数码管显示倒计时时间。 2、倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出2s的报警声音。(K1设置小时,K2设置分钟,K3设置秒钟,K4完成退出) 3、通过按键可以对倒计时设定处置。倒计时初值范围在24:00:0000:00:60之间,设置成功后复位初始值为成功设定值。三、设计的具体实现1、设计原理(1)系统设计方案:基于AT89C51单片机的数码管显示模块显示

3、的倒计时器。主要是以单片机来控制,用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。图1 LED数字倒计时器设计框图(2)功能模块:倒计时器的总体包括显示电路,按键电路,复位电路,晶振电路和报警电路等五个模块。显示模块显示计数与灭灯,复位模块控制电路完成计数的直接清零,暂停/连续技术,用按键模块来设定倒计时初始时刻的值,报警模块实现定时时间到报警等功能。(3)工作原理:以AT89C51单片机为核心控制器,P0口接LED数码显示模块,P1口接按键,通过按键输入

4、来控制显示器的显示。在上电时LED显示器开始显示时间,在按键电路中设置了七个按键,通过检测第5个按键开始倒计时,通过检测第1,2,3个按键按下的次数来实现小时,分和秒的调时的加减,检测第4个按键实现闹钟的定时,检测6,7个按键按下的次数来实现闹钟的小时和分钟的调时的加减,再由LED显示器显示时,分,秒的改变。 2、系统设计(1)显示模块显示电路采用了3个二为一体的LED数码管,单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路。图2 数码管显示电路(2)晶振模块 单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时

5、钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。采用110592MHz晶振,电容选22pF或30pF均可。图3 晶振模块原理图 (3)复位电路: 系统上电时提供复位信号,直至系统电源稳定后撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分,合工程中引起的抖动而影响复位。如图所示,复位键接于AT89C51芯片的人RST接口,用于控制倒数计时器的复位操作。计时器运行时按下复位键,计时器停止计数,或计数完成后按复位键进入下一轮计数工作。图4 复位电路图 (4)

6、按键模块:在上电时LED显示器开始显示时间,在按键电路中设置了七个按键,通过检测第5个按键开始倒计时,通过检测第1,2,3个按键按下的次数来实现小时,分和秒的调时的加减,检测第4个按键实现闹钟的定时,检测6,7个按键按下的次数来实现闹钟的小时和分钟的调时的加减,再由LED显示器显示时,分,秒的改变。图5 按键模块原理图(5)报警模块:报警模块实现定时时间到报警等功能。图6 复位及报警模块原理图3、系统实现(1)实物图(2)分析 设计结果为:三个LED显示器以小时、分钟、秒数逐一递减,即呈现倒计时现象,最终设计成功。 在整个实物焊接及接线过程中,必然出现众多问题,如:焊接错误导致元件无法使用、接

7、线错误导致最终结果不出现、排线错误导致LED显示不完全等等,这需要我们不断的检测和实验,需要我们耐心的寻找问题所在,从而解决问题,整个过程中,忙碌但快乐,繁琐却充实。四、总结 在做本次课程设计的过程中,我们充分掌握了各模块电路的工作原理。从课题入手到中间过程的修改设置、到使用Proteus 8 Professional电路仿真测试,再到最后的实物电路焊接。每个过程都是小组的三个成员共同完成的,并使用Keil uVision4编写了全部的驱动程序,在编写程序的过程中我们遇到很多的问题,翻阅了很多资料,也向老师请教了很多,最终写出了程序,画出了电路图,完成了本次课程设计。 在整个仿真过程中,免不了

8、各种问题的频频出现,比如:程序编写出现错误导致电路仿真错误、保存程序的路径方式错误导致电路无法导入程序、导入程序之后却又无法进行加载仿真等等。在实物电路焊接时,由于操作不熟悉,导致焊锡融化与电路板相连。这次课程设计让我受益匪浅,无论从知识上还是其他的各个方面。上理论课时从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味的书面知识,但在实践过程中真真切切的尝试了单片机及其系统的仿真和应用,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。除此之外,我还体会团结的重要性及力量之强大,设计过程让我们处理事情更加有条理,思路更清晰明了,发现、提出、分析、解决问题和实践能力的提高都

9、将受益于我以后的工作、学习和生活中。五、附录 附录1:元件清单元件名称型号数量单片机最小开发板STC89C521电阻10K1按键5数码管2位一体共阳3集成块74LS245三极管90151蜂鸣器1电阻1K2电阻1001电阻2.7K4电阻3308集成块74LS071AC/DC(5V/1A)电源1单排插针 402双排插针 4029X15cm万用板(3连孔)1杜邦线30附录2:完整的连接图附录3:程序编程#include#include#define uchar unsigned char #define uint unsigned int /*七段共阴和显示定义*/此表为LDE的字模,共阳数码管0-

10、9uchar code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /段码控制/*定义并初始化变量*/uchar seconde=15; /秒uchar minite=0; /分uchar hour=0; /时uchar mstcnt=0; /定时器计数,定时50ms,mstcnt满20,秒加1uchar shi=0; /闹铃功能uchar fen=0;uchar bjcs ; / 报警次数uchar c;sbit P10=P10; /second调整定义sbit P11=P11; /minite调整定义sbit P1

11、2=P12; /hour调整定义sbit P15=P15; /整点报时sbit P13=P13; /闹铃功能,调整时间sbit P16=P16; /调整时sbit P17=P17; /调整分sbit P14=P14; /关闭闹铃/*延时子程序 */void delay (uint k)uchar j;while(k-)!=0) for(j=0;j59) seconde=59; minite-; if(minite59) minite=59; hour- ; if(hour23) hour=0; minite=0; seconde=0; /*定时闹钟*/void dingshi(void) if

12、(P13=0) /按信P13不松,显示闹铃设置界面,分别按住P16、P17设置闹铃时间 P2=0Xfb; P0=dispcodeseconde%10; /秒个位 delay(1); P2=0Xf7; P0=dispcodeseconde/10; /秒十位 delay(1); P2=0Xef; P0=dispcodefen%10; /分个位 delay(1); P2=0Xdf; P0=dispcodefen/10; /分个位 delay(1); P2=0Xbf; P0=dispcodeshi%10; /时个位 delay(1); P2=0Xd7f; P0=dispcodeshi/10; /时十位

13、 delay(1); if(P16=0) /设定时 delay(30); if(P16=0) shi+; if(shi=24) shi=0; delay(250); if(P17=0) /设定分 delay(30); if(P17=0) fen+; if(fen=60) fen=0; delay(250); if(hour=shi)&(minite=fen)&(seconde=0) /闹铃时间到,报警十次 for(bjcs=0;bjcs2;bjcs+) P15=0; delay(10); jian(); P15=1;/ delay(500); /*整点报警*/void zhengdian (v

14、oid) if(seconde=0)&(minite=0) /整点报时 P15=0; delay(10); jian(); P15=1; /*主函数*/void main(void) P0=0xff; TMOD=0X11; /time0为定时器,方式1 TH0=0X3C; /预置计数初值,50msTL0=0XB0; EA=1; /总中断开 ET0=1; /允许定时器0中断 TR0=1; /开启定时器0 while(1) keyscan(); /按键扫描 dingshi(); /定时闹钟 zhengdian(); /整点报时 jian(); display(); /显示时间 void timer0(void) interrupt 1 /定时器0方式1,50ms中断一次 TH0=0X3C; /手动加载计数脉冲次数 TL0=0XB0; c+;/ mstcnt+; /用于计算时间,每隔50ms加1/ if(mstcnt=20) /mstcnt满20即为一秒/ / seconde+; /秒加1/ time(); /时间处理/ mstcnt=0; /对计数单元的清零,重新开始计数/ 六、参考文献1李群芳,肖看,张士军单片微型计算机与接口技术电子工业出版社第四版2钟富昭等8051单片机典型模块设计与应用M人民邮电出版社20073陈海宴51单片机原理及应用M北京航空航天大学出版社2010

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2