首页 单片机课程设计 数字时钟

单片机课程设计 数字时钟

举报
开通vip

单片机课程设计 数字时钟单片机课程设计 数字时钟 课题:数字时钟设计 系 别: 电气与电子工程系 专 业: 电气工程及其自动化 姓 名: 王鹏 学 号: 121206202 指导教师: 葛广军 河南城建学院 2008年12月30日 - 1 - 成绩评定? (根据学生设计报告质量、答辩情况及其平时表现综合评定)。 (按下表要求评定) 课程设计成绩评定 指导教师签字 年 月 日 - 2 - 用8013单片机CPU及接口电路设计并实现显示时间的实时时钟。 (1) 在ZY15MCU12BD型综合单片机试验箱的硬件结构...

单片机课程设计 数字时钟
单片机课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 数字时钟 课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :数字时钟设计 系 别: 电气与电子工程系 专 业: 电气工程及其自动化 姓 名: 王鹏 学 号: 121206202 指导教师: 葛广军 河南城建学院 2008年12月30日 - 1 - 成绩评定? (根据学生设计报告质量、答辩情况及其平时表现综合评定)。 (按下表要求评定) 课程设计成绩评定 指导教师签字 年 月 日 - 2 - 用8013单片机CPU及接口电路设计并实现显示时间的实时时钟。 (1) 在ZY15MCU12BD型综合单片机试验箱的硬件结构上编写软件完成设计。 (2) 程序的首地址应使目标机可以直接运行,即从0000H开始。在主程序的 开始部分必须设置一个合适的栈底。程序放置的地址须连续且靠前,不 要在中间留下大量的空间地址,以使目标机可以使用较少的硬件资源。 (3) 6位LED数码管从左到右分别显示时. 分. 秒(各占用2位),采用24小 时 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 计时制。开始计时时为000000,到235959后变成000000. (4) 在XD1—2键盘上选定3个键分别作为小时. 分. 秒的调校键。每按一次 键,对应的显示值便加1。分. 秒加到59后变为00;小时加到23后再按键 即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小 时不发生改变). (5) 软件设计必须使用8031片内定时器,采用定时中断结构,不得使用软件 延时法。 (6) 上机调试程序。 (7) 写出设计报告。 1、设计的总体原理框图 见附录3 2、工作原理 电子时钟主要由8031片内定时器定时中断,并取一存储单元作为计数器使用, 每中断一次,在中断服务程序中使计数器加1、8031芯片、74LS373锁存器、8255A接口芯片、74LS240驱动器、LED数码显示管和4*4键盘组成。主要用8031片内定时器定时中断服务程序完成秒、分、时的运算即计时功能,TIME0的中断服务程序完成调时、调分、调秒功能。8255A负责将内存里的时位、分位和秒位数值输出到数 码管。同时按键01键、02键、03键是分别对时、分、秒的加1校对;05键、06键、07键时分别对时、分、秒的减1校对;00键是清零键。并且开机时时钟时从000000开始计时的,到235959时在回到000000. 此实时时钟的设计与实现,主要采用了6只LED数码管,8031内部二进制16位定时器/计数器,可编程中断控制器8031等芯片,包括显示模块,运算模块和校时模块 三大功能模块。 - 3 - 1、显示模块: 用8255控制,用数码管的显示功能来设计。显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在 这8只发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的数 字。该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制 表示的时位、分位和秒位数值转化为十进制,并通过8只数码管显示出来。该模块 实现的硬件是DVCC-8086JH实验箱中的LED单元,采用软件译码,即在程序中设 置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。A0~A3作为8段数据输出口,经74LS07驱动后到达各LED。只要做到每送一次段选码时也送一次 位扫描码,并且每送一次位扫描码后,位码中的0右移一位作为下一次的位扫描码, 即可实现由左向右使6只LED依次出现数字显示。 2、运算模块: 该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已 经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模 块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现。本实验中用8031定时器/计数器,但因为8031供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设 置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断 信号是8031工作方式为方式1,产生一个50ms的脉冲信号。运算模块负责时、分、 秒的计算,该模块主要通过8031的IR1号中断来实现,但由于每50ms一次中断请求,所以在中断服务程序必须利用已申请内存单元26H来统计中断请求的次数,只有当 26H的值为20时,才能让秒单元内的数值加1。在中断服务程序里,必须对秒、分和 时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。然后转到调用处。 3、校时模块: 该模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值 便加1。分、 秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。注意:在主程序中对 时间进行调校前应关闭中断,以防在调校过程中定时中断服务程序也对时间进行修 改而造成混淆。 4. 整体功能: 在6块LED数码管上能实现数字时钟的时、分、秒显示,并能对时、分、秒进行加1校对、减1校对和清零。本实验中01键、02键、03键是分别对时、分、秒的加1校对;05键、06键、07键时分别对时、分、秒的减1校对;00键是清零键。并且开机时时 钟时从000000开始计时的,到235959时在回到000000. - 4 - 见附录4。 1、设计过程中遇到的问题及解决方法 将编写好的源程序输入电脑,编译后出现很多错误,这些错误有许多时平时的实 验遇到过的,例如:输入的分号 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 不正确,零和字母O弄混淆了,LOOP5出现了几次,CJNE写成了CJNZ等等,幸好这些错误在平时的实验中遇到了,所以改错误很容 易,但同时也说明了,平时的错误现在还在换,证明错误我还没有完全的改正,这 点我以后一定要注意了。争起错误换了两次就不能在换了。除了常见的错误外,还 有几条错误时我从来没有遇到过的,如:LJMP跳转指令跳不回指定的位置,是因为 跳转的长度大于LJMP跳转的长度,最后只好设置跳转两次后才能跳到指定的位置。 经过多次的修改和向别人请教,错误都拍除了,编译通过了,但功能没有达到 设计的要求,第一、小时加1键加到23时还可以向上加而不是回到00.第二、时钟走到235959时不能回到000000的状态。这两个错误都出现在小时的位置,说明小时键 很特殊,的确,小时键当小于23时个位遇到10要进位,当大于23时个位遇到4时要进位,小时的十位也是一样,要判断两次,才能实现完整的功能。最后,经过几天 在机房的努力,终于实现了时钟的全部要求。 在前期的程序编写和几天的上机调试,使我又获得了很多新的知识,因为前期 编写程序时查了很多 资料 新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单 学到了很多知识,这几天的调试更时获得很新的知识,因 为程序中又很多的错误,为了修改错误必须看书或向别人请教,在这个过程中无意 识的获得了很多知识。同时也使我对单片机更感兴趣了,这点我觉得很重要,因为 兴趣使最好的老师,相信在以后的单片机相关的学习中会表现的更好。 2、设计体会 本次课程设计是用8031单片机CPU及接口电路设计一个数字时钟,经过一个星期 的调试,结果满足设计要求,验证无误。设计主要用到了多种芯片,程序也比较长 比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。关于显示模 块,在以前的实验中做过,所以问题很容易解决。 通过本次设计,我系统的了解了实时时钟的设计流程,尤其是硬、软件的设计 方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的 一般原理,也进一步掌握了8031定时器的使用和中断处理器程序的编程方法。开 拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能 力,达到了本次课程设计的目的 3、对设计的建议 希望下次有机会能在更充足的时间里完成,我想会完成的更好 - 5 - 1、胡汉才编著,《单片机原理及其接口技术》清华大学出版社,2004。 2贾金铃等编著,《微型计算原理及应用》重庆大学出版社,2006。 3、吴清秀,周荷琴编著,《微型计算机原理与接口技术》中国科学技术 大学出版社,2004。 4、吴向军、罗源明等编著《汇编语言程序设计》高等教育出版社,2001。 开始 ? 初始化( 定时器、显示区、 中断系统、计数单元等) ? 开中断 ? 调用显示子程序 ? 调用键盘扫描子程序 ? 有键按下? N ? 关中断 ? 秒键? N ? 秒加1处理 ? 分键? N ? 分加1处理 ? 小时键? N ? 小时加1处理 图1 主程序流程图 - 6 - 定时器中断处理 ? 重送初值 ? 保护现场 ? 计数单元加1 ? 到1秒? N ? 秒加1 ? 秒到60? N ? 秒清0、分加1 ? 分到60? N ? 分清0、小时加1 ? 小时到24? N ? 小时清0 ? 恢复现场 ? 中断返回 图2 定时器中断程序流程图 ORG 0000H LJMP START ORG 000BH LJMP TIME0 START: MOV SP,#60H AGAIN: CPL P1.0 - 7 - MOV R0,#10 LOOP1: MOV R1,#100 LOOP2: MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 MOV DPTR,#4003H ;8255初始化 MOV A,#10000001B MOVX @DPTR,A MOV TMOD,#01H ;选择方式. MOV TH0,#3CH MOV TL0,#0B0H MOV 20H,#00H ;赋初值 MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV 24H,#00H MOV 25H,#00H MOV 26H,#00H LOOP: MOV IE,#82H ;开中断 SETB TR0 ;启动T0计数 LCALL DIS LCALL KEY CJNE A,#0FFH, DDDD ;若有键按下,DDDD SJMP LOOP ;无键按下,则转LOOP DDDD: MOV IE,#00H ;关中断 CJNE A,#03H,LOOP3 ;按下的键为秒键往下执行 INC 25H MOV A,25H CJNE A,#10,LOOP MOV 25H,#0 INC 24H MOV A,24H - 8 - CJNE A,#6,LOOP MOV 24H,#0 SJMP LOOP LOOP3: CJNE A,#02H,LOOP4 ;按下的键为分键往下执行 INC 23H MOV A,23H CJNE A,#10,LOOP MOV 23H,#0 INC 22H MOV A,22H CJNE A,#6,LOOP MOV 22H,#0 SJMP LOOP LOOP4: CJNE A,#01H,LOOP4B ;按下的键为小时键往下执行 INC 21H MOV A,21H CJNE A,#10,LOOP5 MOV 21H,#0 INC 20H LOOP4B: CJNE A,#00H,LOOP4C MOV 20H,#00H MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV 24H,#00H MOV 25H,#00H LOOP5: MOV A,20H SWAP A ORL A,21H CJNE A,#24H,LOOP MOV 20H,#0 MOV 21H,#0 SJMP LOOP ----------各键减1校时程序---------- LOOP00: LJMP LOOP - 9 - LOOP4C: CJNE A,#07H,LOOP30 MOV A,25H DEC 25H CJNE A,#0,LOOP00 MOV 25H,#9 MOV A,24H DEC 24H CJNE A,#0,LOOP00 MOV 24H,#5 SJMP LOOP00 LOOP30: CJNE A,#06H,LOOP40 MOV A,23H DEC 23H CJNE A,#0H,LOOP00 MOV 23H,#9 MOV A,22H DEC 22H CJNE A,#0,LOOP00 MOV 22H,#5 SJMP LOOP00 LOOP40: CJNE A,#05H,LOOP00 MOV A,21H CJNE A,#0,LOOP5A MOV A,20H CJNE A,#0,LOOP5B MOV 21H,#3 MOV 20H,#2 SJMP LOOP00 LOOP5A: DEC 21H LJMP LOOP00 LOOP5B: DEC 20H MOV 21H,#9 LJMP LOOP00 ;-----------显示子程序------------- DIS: MOV PSW,#08H - 10 - MOV R0,#20H MOV R2,#0FEH LOOP10: MOV A,@R0 MOV DPTR,#ASCTAB MOVC A,@A+DPTR ;查字形代码 MOV DPTR,#4001H ;字形代码送B段口 MOVX @DPTR,A MOV A,R2 MOV DPTR,#4000H ;字形代码送A位口 MOVX @DPTR,A MOV R1,#250 DJNZ R1,$ MOV A,#0FFH ;关闭所有的显示位即位口置高电平 MOVX @DPTR,A MOV A,R2 RL A MOV R2,A INC R0 CJNE R0,#26H,LOOP10 RET ASCTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H, 82H, 0F8H,80H, 90H DB 88H, 83H, 0C6H,0A1H,86H DB 8EH, 40H, 79H, 24H, 30H DB 19H, 12H, 02H, 78H, 00H DB 80H, 08H, 03H, 46H, 21H DB 06H, 0EH, 0BFH,0FFH ;-----------扫描子程序------------- KEY: MOV DPTR,#4002H MOV A, #00001111B MOVX @DPTR, A MOVX A,@DPTR ANL A,#0FH CJNE A,#0FH,NEXT SJMP LOOP8 NEXT: MOV R2,#11101111B LOOP6: MOV A,R2 MOV DPTR,#4002H - 11 - MOVX @DPTR,A MOVX A,@DPTR ANL A,#0FH CJNE A,#0FH,NEXT1 LOOP7: MOV A,R2 RL A MOV R2,A JB ACC.0,LOOP6 LOOP8: MOV A,#0FFH RET NEXT1: MOV R6,A MOV R3,#100 LOOP9: MOV R4,#100 DJNZ R4,$ DJNZ R3,LOOP9 MOVX A,@DPTR ANL A,#0FH XRL A,R6 JNZ LOOP7 LOOP20: MOVX A,@DPTR ANL A,#0FH CJNE A,#0FH,LOOP20 MOV A,R6 ANL A,#0FH MOV R6,A MOV A,R2 ANL A,#0F0H ORL A,R6 CALL KEY20 RET ;------------查键子程序----------- KEY20: PUSH ACC MOV R1,#00H KEY21: JNB ACC.4,KEY22 RR A INC R1 SJMP KEY21 KEY22: MOV A,R1 - 12 - MOV B,#4 MUL AB MOV R1,A POP ACC KEY23: JNB ACC.0,KEY24 RR A INC R1 SJMP KEY23 KEY24: MOV DPTR,#KEYTAB MOV A,R1 MOVC A,@A+DPTR RET KEYTAB: DB 0FH,0BH,07H,03H DB 0EH,0AH,06H,02H DB 0DH,09H,05H,01H DB 0CH,08H,04H,00H ;-----------定时器中断------------- TIME0: PUSH ACC PUSH PSW MOV TH0,#3CH MOV TL0,#0B0H INC 26H MOV A,26H CJNE A,#20,RETURN ;未到1秒,则转RETURN MOV 26H,#00H INC 25H ;到1秒,秒单元的个位加1 MOV A,25H CJNE A,#10,RETURN; MOV 25H,#00H INC 24H MOV A,24H CJNE A,#6,RETURN ;未到60秒,则转 MOV 24H,#00H INC 23H ;分单元个位加1 MOV A,23H CJNE A,#10,RETURN MOV 23H,#00H INC 22H - 13 - MOV A,22H CJNE A,#06H,RETURN ;若未到60分,则转 MOV 22H,00H INC 21H MOV A,21H CJNE A,#4H,CCCC MOV A,20H CJNE A,#2H,CCCC MOV 21H,#00H MOV 20H,#00H CCCC: CJNE A,#10,RETURN MOV 21H,#00H INC 20H MOV A,20H RETURN: POP PSW POP ACC RETI END - 14 - 图四 总电路图 - 15 -
本文档为【单片机课程设计 数字时钟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:70KB
软件:Word
页数:20
分类:工学
上传时间:2017-09-27
浏览量:18