资源描述:
《电子设计开题报告(王琴) 电子钟》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、单片机电子钟摘要:文中设计了一个显时、调时、定时以及具有整点报时功能的电子钟。电子钟使用12MHZ晶振与AT89C51单片机相连,通过软件编程的方法实现了24小时为一个周期,同时显时、分钟和秒的要求,而且有三组定时计数功能。在定时时间到时有蜂鸣报警。该电子钟设有五个按键按钮S1、S2、S3、S4和S5键,使之具备了按时、定时和复位功能。同时,电子钟还设计了掉电保护电路,当电源断电时能保存时钟当前定时设计的全部数据。为了美化时钟接口,在单片机外围设置冷跑马电路。通过AT89C51电子时钟的设计,对51单片机系列有了更加深刻的认识,对其各个引脚功能掌握得更透彻。也再次认识到
2、单片机应用具有使用范围广的特点,对各个行业的技术改造和产品智能化的更新换代骑着重要的推动作用。关键词:电子钟;AT89C51;晶振;掉电保护电路;跑马电路一、设计任务:(1)基本要求:本次课程设计的电子时钟电路由AT89C51时钟电路动态数码管显示电路组成,以实现动态数码管显示。(2)电路组成、工作原理及总框架图:利用AT89C51单片机P1口控制数码的位显示,P2口控制数码管的断显示,P3口与按键相连,用于时间的校正。二、系统硬件电路设计及芯片介绍(1)AT89C51介绍:AT89C51是一个低电压,高性能CMOS8位单片机,兼容MCS-51系统,片内置通用8位中央处
3、理器,所有说AT89C51是一个功能强大的单片机。AT89C51是一个低功耗高性能单片机,它有40个引脚,32个外部双向输入/输出埠,同时内含2个外断口,2个16位可编程定时计数器,AT89C51可以按照常规方法进行编程,也可以在线编程。同时AT89C51的时钟频率可以为零,即具备可用软件设置的睡眠省电功能。(2)数码管部分:显示器是单片机应用系统常用的设备,包括LED、LCD等。LED显示器由若干个发光二极管组成。七段LED通常构成字型“8”,还有一个发光二极管用来显示小数点。每段LED数码管的名为a、b、c、d、e、f、g、dp,其中dp是小数点。当发光二极管导通时
4、,相应的一个笔划或一个点就发光。控制相应的二极管导通,就能显示出对应字符。七段LED显示器如图所示三、数字时钟程序流程图主程序流程图键输入流程图显示程序流程图延时程序流程图中断程序流程图分>59?秒加1秒>59秒消0,分加1分清0,时加1小时>23?小时清0四、程序清单org0000hljmpmainorg000bhljmpdsqorg0030hmain:movr0,#0;计数movr1,#0;时movr2,#0;分movr3,#0;秒movth0,#3Chmovtl0,#0B0hmovtmod,#01hsetbet0setbeasetbtr0movdptr,#tabl
5、op:lcalldispajmplopdsq:movth0,#3Chmovtl0,#0B0hincr3cjner3,#20,fhmovr3,#0incr0cjner0,#60,fhmovr0,#0incr1cjner1,#60,fhmovr1,#0incr2cjner2,#24,fhmovr2,#0fh:retidisp:mova,r2movb,#10divabmovca,@a+dptrmovp2,amovp1,#01hlcalldlymovp1,#0mova,bmovca,@a+dptrmovp2,amovp1,#02hlcalldlymovp1,#0movp2,#0
6、bfhmovp1,#04hlcalldlymovp1,#0mova,r1movb,#10divabmovca,@a+dptrmovp2,amovp1,#08hlcalldlymovp1,#0mova,bmovca,@a+dptrmovp2,amovp1,#10hlcalldlymovp1,#0movp2,#0bfhmovp1,#20hlcalldlymovp1,#0mova,r0movb,#10divabmovca,@a+dptrmovp2,amovp1,#40hlcalldlymovp1,#0mova,bmovca,@a+dptrmovp2,amovp1,#80hlc
7、alldlymovp1,#0retdly:movr7,#30dly1:movr6,#100djnzr6,$djnzr7,dly1rettab:db0c0h,0f9h,0a4h,0b0h,99hdb92h,82h,0f8h,80h,90hend五、调试部分(1)硬件调试:在keil(单片机汇编)C51软件中编写好的程序,将程序放入单片机仿真软件中,结合硬件电路进行调试与运行。通过按键对时间进行调整。如显示时间为14-30-22,既是14点30分22秒,通过以下调整则可实现。①按动S-SET键,将秒调到22;②按动M-SET键,将分调到30;