数字钟单片机报告

上传人:世*** 文档编号:169693369 上传时间:2021-02-27 格式:DOC 页数:19 大小:249KB
返回 下载 相关 举报
数字钟单片机报告_第1页
第1页 / 共19页
数字钟单片机报告_第2页
第2页 / 共19页
数字钟单片机报告_第3页
第3页 / 共19页
数字钟单片机报告_第4页
第4页 / 共19页
数字钟单片机报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数字钟单片机报告》由会员分享,可在线阅读,更多相关《数字钟单片机报告(19页珍藏版)》请在金锄头文库上搜索。

1、武汉大学电子信息学院电子系统综合设计课程论文数字钟专 业: 年 级: 作 者: 指导教师: 2012年 6 月 28 日 目 录1 作品的背景与意义12 功能指标设计13 作品方案设计13.1总体方案的选择13.1.1方案一13.2控制方案比较13.3显示方案比较13.4 .24 硬件设计24.1显示模块电路图24.2.35 软件设计45.1主程序流程图45.2显示模块流程图45.3.56 系统测试56.1测试环境56.2测试步骤56.3测试数据56.4测试结论5参考文献5附录1 系统电路图7附录2 系统软件代码7附录3 系统器件清单71 作品的背景与意义 20世纪末,电子技术获得飞速发展,在

2、其推动下,现代电子产品几乎渗透了社会各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代产品的性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和复杂性容易使人们忘记当前的时间,忘记了要做的事!当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要的事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。单片机应用的根本意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,

3、现在已能用单片机软件来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此广泛用于个人、家庭、车站、码头、办公室等场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体震荡器的广泛应用,使数字钟的精度远远超过老式仪表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大的扩展了钟表原先的报时功能。诸如定时报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设

4、备、甚至各种定时电器的自动启动等。所有这些,都是以数字钟表数字化为基础的。因此,研究数字钟及其扩展应用有着非常现实的意义。基于数字钟在人们生活中的重要性和广泛应用以及目前学的单片机、电力电子等技术,我们组决定做一个实用的数字钟!2 功能指标设计准确计时,以数字形式显示时、分、秒的时间,小时计时要求为“24翻1”,分和秒的计时要求为60进位,要有校正时间电路,可以分别对时及分进行单独校时,使其校正到标准时间。3 作品方案设计3.1总体方案的选择3.1.1方案一本方案完全用软件仿真实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,

5、每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。系统由AT89C51、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4 完成。其中SB0为时间校对,定时器调整功能键,按SB 0 进入调整状态。SB1 为功能切换键。第一轮

6、按动SB1 依次进入一路、二路、三路定时时间设置提示程序,按SB3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1 键,依次进入时间 年 位校对、 月 位校对、 日 位校对、 时 位校对、 分 位校对、 秒 位校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。各预置量设置完成后,系统将所有的设置存入RAM 中,按SB1 退出调整状态。上电后,系统自动进入计时状态,起始于 00 时 00 分。SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日。3.3.2方案二本方案采用Dallas公司的专用时钟芯片DS1288

7、7A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。基于硬件的考虑,本设计采用方案一完成数字时钟的功能。3.2控制方案先将执行设备开启的时间和关闭时间置入RAM 某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条 CLR 指

8、令,将对应的那路P3 置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3 置低电位,二极管截止,。实现此控制功能用到的比较指令为CJNE A,#direct,rel,其转移条件是累加器A 中的值与立即数不等则转移。3.3显示方案电原理图见附图1。由6 个共阴极的数码管组成时、分、秒的显示。P0 口的8 条数据线P0.0 至P0.7 分别与两个CD4511 译码的ABCD 口相接,P2 口的 P2.0 至P2.2 分别通过电阻R10 至R13 与VT1 至VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位BCD显示代码,通过P2 口送出扫描选

9、通代码轮流点亮LED1 至LED6,就会将要显示的数据在数码管中显示出来。从P0 口输出的代码是BCD 码,从P2 口输出的就是位选码。这是扫描显示原理。3.4 连击功能的实现按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。3.5 数据与代码转换 由前述可知,从P2 口输出位选码,从P0 口输出段选码,LED 就会显示出数字来。但P0口的输出的数据是要BCD 码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,

10、将要显示的存储单元的数据直接送到P0 口去驱动LED 数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD 码行转换后,将各个单元数据的段选代码送入P0 口,给CD4511 译码后去驱动数码管显示。具体转换过程如下:我们先将要显示的数据装入累加器A 中,再将A 中的数据转换成高低两位的BCD 码,再放回A 中,然后将A 中的值输出。如:有一个单元存储了45 这样一位数,则需转换成四位的BCD 码:(0100)(0101)然后放入A 中。 A 中BCD 码,高位四位代表4低四位代表5同时送给两个译码器中,译码后 45 字就在两个LED 中显示出来。3.6 计时功能的实现与中断服务程

11、序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0 打开后,进入计时,满100 毫秒后,重装定时。中断一次,满一秒后秒进位,满60 秒后即为1 分钟,分钟单元进位,60 分到了后,时单元进位,24 小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送LED 中显示出来,实现时钟计时功能。累加是用指令INC 来实现的。进入中断服务程序以后,执行PUSH PSW 和PUSH A 将程序状态寄存器PSW 的内容和累加器A 中的数据保存起来,这便是所谓的 保护现场 . 以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件

12、的控制之下,堆栈可在片内RAM 中的任一区间设定,而堆栈的数据存取与一般的RAM 存取又有区别,对它的操作,要遵循 后进先出 的原则4 硬件设计4.1显示模块电路图5 软件设计5.1主程序流程图5.2定时中断程序流程图53 调时功能流程图附录1 系统电路图附录2 系统软件代码SEC EQU 32H ;秒 即时时间 伪指令MIN EQU 31H ;分HOUR EQU 30H ;时DAY EQU 35H ;日MON EQU 34H ;月YEAR EQU 33H ;年MIN_1 EQU 41H ;分 定时器1 路、开存储单元HOUR_1 EQU 42H ;时DAY_1 EQU 43H ;MON_1

13、EQU 44H ;YEAR_1 EQU 45H ;MIN_11 EQU 40H ;分 定时器1 路、关存储单元HOUR_11 EQU 46H ;时DAY_11 EQU 47H ;日MON_11 EQU 48H ;月YEAR_11 EQU 49H ;年;*ORG 0000Hljmp MAINORG 0003H ;中断转换显示年月日、INT0(SB4 键)LJMP SHOWORG 000BH ;计数中断 T0、方式1LJMP TIMEORG 0013HLJMP CHANGE; 调整时间、定时、INT1(SB0 键);-主程序ORG 0030HMAIN:;-初始化付值MOV YEAR , #02MO

14、V MON , #05MOV DAY , #01MOV HOUR , #00MOV MIN , #00MOV SEC , #00CLR 40H ;定时单元1 路清零CLR 41HCLR 42HCLR 43HCLR 44HCLR 45HCLR 46HCLR 47HCLR 48HCLR 49H;-开中断MOV TMOD , #01H ;计数、模式1、T0MOV TL0, #0B0H ;100SM 计数定时MOV TH0, #3CH ;clr p3.0MOV 20H, #0AH ;10 次*100SMSETB PT0 ;T0 为最高级SETB TR0 ;允许计数SETB ET0 ;允许T0 中断SETB EX0 ;允许INT0 中断SETB EX1 ;允许INT1 中断SETB EA ;开总中断;-显示、定时器启动判断LOOP:MOV R1, #30H; 存储单元MOV R4, #01H; 位选通MOV R3, #03H; 三组显示NEXT:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号