数字电子钟说明书.doc

上传人:来看看 文档编号:5022886 上传时间:2020-01-29 格式:DOC 页数:17 大小:100KB
返回 下载 相关 举报
数字电子钟说明书.doc_第1页
第1页 / 共17页
数字电子钟说明书.doc_第2页
第2页 / 共17页
数字电子钟说明书.doc_第3页
第3页 / 共17页
数字电子钟说明书.doc_第4页
第4页 / 共17页
数字电子钟说明书.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数字电子钟说明书.doc》由会员分享,可在线阅读,更多相关《数字电子钟说明书.doc(17页珍藏版)》请在三一文库上搜索。

1、数字电子钟说明书姓名:学号:指导老师:时间:2011年12月7日星期三数字电子钟说明书一、电子钟功能介绍可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。(1)、“P.”状态,依靠上电或者复位键进入,在此状态下,按B、C、D键均无效,按A键有效,进入运行状态;(2)、运行状态,按奇数次A键进入,在此状态下,按B、C、D键均无效,只有按A键有效,按下A键后,退出运行状态,进入调整状态;(3)、调整状态,按偶数次A键进入,在此状态下,按B、C、D键均有效,如按下A键,则推出调整状态,进入运行状态;B、C、D分别为调时、分、秒,分别使之加1;调整后,按A键退出调整状态。二、实现时

2、钟计时的基本方法(1)计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒。假设使用T/CO,方式1,50ms定时,fosc=12MHz。则初值X满足(2)采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3)从秒到分和从分到时是通过累计加和数值比较实现。三、电子钟的时间显示电子钟的时钟时间在六位数码管上显示,因此,在内部RAM中设置显示缓冲区共8个单元。LED8LED7LED6LED5LED4LED3LED2LED137H36H35H34H33H32H31H30H时十位时个位分隔分十位分个位分隔秒十位秒个位四、电子钟的启、停及时间调整电子

3、钟设置4个按键,通过程序控制来完成电子钟的启、停及时间调整。A键控制电子钟的启、停;B键调整时;B键调整分;B键调整秒。五、电子钟电路仿真图:六、电子钟元件清单:元件名称规格型号数量(个)单片机AT89C521显示驱动芯片74LS24528位一体的共阳LED显示器7SEG-MPX8-CA-BLUE1晶振12MHz1无极电容1nF2有极电容1n1按键BUTTON5电阻1K1电阻10K4限流电阻10K8排阻RESPACK-81万能板小1七、电子钟程序流程框图1、主程序流程图:开始系统初始化p.显示A键按下否进入自动计时状态检测到A键按下进入时间设置状态检测到A键按下NYYYNN2、按键子程序流程图

4、开始有按键闭合调显示子程序延时,去抖动有键闭合有键释放保存键值结束YYYNNN调用显示子程序3、中断服务子程序流程图开始重装初值计数是否满20计数清零,秒加1满60秒?秒清零,分加1满60分?分清零,时加1满24小时?时清零结束NNNNYYYY4、显示子程序流程图开始查表取断码送断码到P0口送位码到P2口延时1毫秒8位LED显示完否结束YN八、电子钟程序清单#includeunsigned int start;unsigned int count=0;unsigned char fg;unsigned char c=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07

5、,0x7F,0x6F; unsigned char sec,min,hour; sbit sec1=P27; sbit sec2=P26; sbit min1=P24; sbit min2=P23; sbit hour1=P21; sbit hour2=P20; sbit a=P25; sbit b=P22; sbit key_A=P10; sbit key_B=P11; sbit key_C=P12; sbit key_D=P13;void delay(unsigned int t)for(t;t0;t-);void display()P2=0xff;P0=csec%10;sec1=0;de

6、lay(15);sec1=1;P0=csec/10;sec2=0;delay(15);sec2=1;P0=cmin%10;min1=0;delay(15);min1=1;P0=cmin/10;min2=0;delay(15);min2=1;P0=chour%10;hour1=0;delay(15);hour1=1;P0=chour/10;hour2=0;delay(15);hour2=1;P0=0x40;a=0;delay(10);a=1;P0=0x40;b=0;delay(10);b=1;void Intl() unsigned char ts;P0=0xf3;P2=0xfe;for(ts=0;ts=20) count=0; sec+;if(sec=60)sec=0; min+; if(min=60)min=0; hour+; if(hour=24) hour=0; 九、程序不足与分析1不足:有时差产生;原因:在执行中断服务时,需要一定的时间,其长度难以测量准确。2、不足:按键不够灵敏;原因:在检测按键的同时,需要同时显示实时时间。十、设计体会:一个项目,要把它完成,很简单;但是,你如果要把它完善,那就难多了。如果再加点其他功能,那更是难上加难了。不过,很有意思!附录:调试时的图片:1、调整时间状态:2、启动状态:3、计时状态4、显示“P”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1