基于单片机控制的可调电子数字钟

基于单片机控制的可调电子数字钟

ID:36798259

大小:616.90 KB

页数:10页

时间:2019-05-15

基于单片机控制的可调电子数字钟_第1页
基于单片机控制的可调电子数字钟_第2页
基于单片机控制的可调电子数字钟_第3页
基于单片机控制的可调电子数字钟_第4页
基于单片机控制的可调电子数字钟_第5页
资源描述:

《基于单片机控制的可调电子数字钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、单片机原理与应用学号:学生所在学院:学生姓名:任课教师:教师所在学院:航空制造工程学院2014年6月13y8基于单片机控制的可调电子数字钟陈成龙南昌航空大学航制学院摘要:单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最普遍的应用手段。设计单片机应用系统时,在完成硬件系统设计之后,必须配备相应的应用软件。Proteus软件的应用使单片机可以直接在基于原理图进行虚拟模拟上,并和μVision共同编程,编译,仿真调试,使单片机学习的学习过程变得直观形象。关键词:单片机ProteusμVision仿真调试1.功能要求利用89C51单片机内的定时

2、器,设计一台可调数字钟,能通过按键进行时、分、秒的调整,采用8位LED数码管以24小时方式进行显示。2.硬件电路设计可调数字钟的硬件电路如图1所示。89C51单片机的P0口通过三态总线收发器74LS245接到8位共阴极LED数码管的数字输入端,单片机的P3作为数码管的数位控制,从P0口输出显示字符段码,从P3口输出循环扫描控制位,利用人眼的视觉暂留功能,达到8位数码管同时显示的效果。单片机的P1.0-P1.2引脚通过三个按钮开关接地,通过判断P1.0-P1.2引脚电平的高低,决定是否进行数字钟的时、分、秒调整。3.软件程序设计本设计利用89C51单片机内定时器T0中断来实现数字

3、钟功能,T0定时时间设为50ms,每隔50ms产生一次中断,如果中断20次即到达1秒。程序设计时预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元到达60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时单元清零,又从头开始计时。可调数字钟的程序流程图如下图2、图3.图1.可调数字钟硬件图图2.主程序流程图图3.中断服务程序流程图软件的控制程序如下:S_SETBITP1.0;数字钟秒控制位M_SETBITP1.1;分控制位H_SETBITP1.2;时控制位SECONDEQU30HMINUTEEQU

4、31HHOUREQU32HTCNTEQU34HORG0000H;单片机复位入口地址SJMPSTARTORG000BH;定时器T0中断服务程序入口地址LJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0;时、分、秒单元清0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0MOVTMOD,#01H;设置T0为16位定时器工作方式MOVTH0,#3CH;=12MHZ,定时器50msfoscMOVTL0,#0B0HMOVIE,#82H;开中断SETBTR0;启动定时器T0A1:LCALLDISPLAY;调用显示子程序JNBS_SET,S1;

5、判断是否有键按下JNBM_SET,S2JNBH_SET,S3LJMPA1S1:LCALLDELAY;去抖动JBS_SET,A1INCSECOND;调整秒值加1MOVA,SECONDCJNEA,#60,J0;判断是否调整到60秒MOVSECOND,#0LJMPK1S2:LCALLDELAYJBM_SET,A1K1:INCMINUTE;调整分钟值加1MOVA,MINUTECJNEA,#60,J1;判断是否调整到60分MOVMINUTE,#0LJMPK2S3:LCALLDELAYJBH_SET,A1K2:INCHOUR;调整小时值加1MOVA,HOURCJNEA,#24,J2;判断是

6、否调整到24小时MOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0LJMPA1J0:JBS_SET,A1;等待按键抬起LCALLDISPLAYSJMPJ0J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2INT_T0:MOVTH0,#3CH;定时器中断服务程序MOVTL0,#0B0H;装入T0的初值INCTCNTMOVA,TCNTCJNEA,20,RETUNE;判断1秒定时到否INCSECOND;秒单元加1MOVTCNT,#0;50ms单元清0MOVA,SECONDCJNEA,#60,R

7、ETUNE;判断60秒定时到否INCMINUTE;分单元加1MOVSECOND,#0;秒单元清0MOVA,MINUTECJNEA,#60,RETUNE;判断60分定时到否INCHOUR;时单元加1MOVMINUTE,#0;分单元清0MOVA,HOURCJNEA,#24,RETUNE;判断24小时定时到否MOVHOUR,#0;时、分、秒、50ms单元清零MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETIDISPLAY:MOVA,SECOND;显示子程序M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。