单片机技术课程设计电子秒表的设计

上传人:沈*** 文档编号:72326308 上传时间:2022-04-08 格式:DOC 页数:12 大小:248KB
返回 下载 相关 举报
单片机技术课程设计电子秒表的设计_第1页
第1页 / 共12页
单片机技术课程设计电子秒表的设计_第2页
第2页 / 共12页
单片机技术课程设计电子秒表的设计_第3页
第3页 / 共12页
点击查看更多>>
资源描述
北 华 航 天 工 业 学 院课程设计报告 实践课程名称: 单片机技术课程设计 实 践 地 点: 单片机实验室(7209) 专 业 班 级: 自动化B08222 姓 名: 学 号: 指 导 教 师: 完 成 时 间: 2011 年 4 月 22 日北华航天工业学院电子工程系课程设计任务书姓 名:专 业:自动化班 级:指导教师:职 称:副教授课程设计题目:电子秒表的设计主要课程支撑:模拟电子技术、数字电子技术、微机原理与接口技术实践目标:1 熟练掌握单片机汇编指令的使用方法2 熟练掌握行列式键盘、LED显示器的控制与管理方法3 掌握A/D、/D/A的应用4掌握单片机应用系统设计方法、软硬件调试方法5熟练使用单片机仿真软件基本要求:1.设计任务及要求。(1)设计电子秒表,精度为0.01秒(2)具有启动、停止、清零功能(3)每到1秒蜂鸣提示,此功能可关闭。(4)键盘按键启动、停止秒表计数2编程实现题目要求的基本功能,程序运行通过。3撰写课程实践报告(设计思路、实现方法、硬件资源分配、程序流程图、运行结果分析等),要求用A4纸打印实践报告。所需仪器设备:伟福Lab6000综合实验仿真系统一台套微机一台成果验收形式:程序上机运行参考文献:Lab6000综合实验仿真系统说明书时间安排(1) 7-8周:选题、方案设计(2) 第9周开始上机调试程序(3) 最后一次上机课题验收(4) 第10周上交实践报告指导教师: 教研室主任: 2011年 4 月22日课程设计报告一、功能分析16位LED: 595999分秒1/10秒1/100秒2按键启动、停止秒表计数,可以清零。二、硬件设计1. 硬件电路图 2. 元器件清单 伟福Lab6000综合实验仿真系统一台套;微机一台;导线若干三、程序设计1.程序:OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Hour equ 40hMinute equ 41hSecond equ 42hC100us equ 43hSpeaker equ P1.2Tick equ 200T100us equ 256-50 ljmp Start org 000bh ljmp T0IntT0Int: push PSW push ACC mov a, C100us+1 jnz Goon0 dec C100usGoon0: dec C100us+1 mov a, C100us orl a, C100us+1 jnz Exit mov C100us, #high(Tick) mov C100us+1, #low(Tick) inc Second mov a, Second cjne a, #60, Exit mov Second, #0 inc Minute call lightup mov a, Minute cjne a, #60, Exit mov Minute, #0 inc Hour mov a, Hour cjne a, #24, Exit mov Hour, #0Exit: pop ACC pop PSW retiDelay: mov r7, #0DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retTestKey: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 输出线置为0 mov dptr, #IN movx a, dptr ; 读入键状态 cpl a anl a, #0fh ; 高四位不用 retKeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 ; 找出键所在列 cpl a movx dptr, a cpl a rr a mov r1, a ; 下一列 movx a, r0 cpl a anl a, #0fh jnz Goon1 ; 该列有键入 djnz r2, KLoop mov r2, #0ffh ; 没有键按下, 返回 0ffh sjmp Exit3Goon1: mov r1, a ; 键值 = 列 X 4 + 行 mov a, r2 dec a rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 ; r1中为读入的行值 mov r1, #4LoopC: rrc a ; 移位找出所在行 jc Exit3 inc r2 ; r2 = r2+ 行值 djnz r1, LoopCExit3: mov a, r2 ; 取出键码 mov dptr, #KeyTable movc a, a+dptr mov r2, aWaitRelease: mov dptr, #OUTBIT ; 等键释放 clr a movx dptr, a mov r6, #10 call Delay call TestKey jnz WaitRelease mov a, r2 retLEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, #00100000b ; 从左边开始显示LOOP: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 mov a, r0 mov dptr, #OUTSEG movx dptr,a mov dptr, #OUTBIT mov a, r2 movx dptr, a ; 显示一位八段管 mov r6, #1 call Delay mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop retLIGHTUP: jb p1.3,lightstop setb Speaker mov b,#0ffhLIGHTDELAY: nop nop djnz b,lightdelay clr speakerLIGHTSTOP: retToLED: mov dptr, #LEDMap movc a, a+dptr retSTART: mov LEDBuf+0, #07ch mov LEDBuf+1, #03fh mov LEDBuf+2, #07fh mov LEDBuf+3, #05bh mov LEDBuf+4, #05bH mov LEDBuf+5, #05bH call displayled call testkey jz start call getkey cjne a,#0ah,startSTART1: mov TMOD, #02h ; 模式2, 定时器 mov TH0, #T100us mov TL0, #T100us mov IE, #10000010b mov Hour, #0 mov Minute, #0 mov Second, #0 mov C100us, #high(Tick) mov C100us+1, #low(Tick) setb TR0MAIN: JB P1.0,stop JB P1.1,clear Calltestkey call getkey movb,a xrla,#0bh jz stop0 mov a,b cjne a,#0ch,main2 ljmp clear0MAIN2:mov a, Hour mov b, #10 div ab call ToLED mov LEDBuf, a mov a, b call ToLED orl a, #80h mov LEDBuf+1, a mov a, Minute mov b, #10 div ab call ToLED mov LEDBuf+2, a mov a, b call ToLED orl a, #80h mov LEDBuf+3, a mov a, Second mov b, #10 div ab call ToLED mov LEDBuf+4, a mov a, b call ToLED mov LEDBuf+5, a call DisplayLED ljmp MAINSTOP:mov ie,#00000000b calldisplayled jb p1.0,stop movie,#10000010b jnb p1.0,main2STOP0:movie,#00000000bcall displayled call testkey call getkey mov b,a xrl a,#0ch jz clear0 mova,b cjne a,#0bh,stop0 mov ie,#10000010b jmp main2CLEAR:mov LEDBuf+0, #03fh mov LEDBuf+1, #03fh mov LEDBuf+2, #03fh mov LEDBuf+3, #03fh mov LEDBuf+4, #03fH mov LEDBuf+5, #03fH mov Hour, #0 mov Minute, #0 mov Second, #0 call displayled jb p1.1,clear ljmp main2CLEAR0:mov LEDBuf+0, #03fh mov LEDBuf+1, #03fh mov LEDBuf+2, #03fh mov LEDBuf+3, #03fh mov LEDBuf+4, #03fH mov LEDBuf+5, #03fH mov Hour, #0 mov Minute, #0 mov Second, #0 call displayled call testkey jz clear0 lcall getkey xrl a,#0ah cjne a,#0,clear0 ljmp start end 2.硬件连接分配由实验箱上的接线cs0接到键盘显示,我们可以得到段口,位口,列口及位口的地址。因为实验箱的接线中,列口和位口共用一个地址口,所以程序的端口说明就声明了三个地址。四、软硬件调试 首先按照硬件连接图接线,连线完毕之后打开实验箱电源,在伟福6000里选择模拟器选项仿真器仿真器设置,选择相应的参数,点击确定。打开程序,点击编译,再点击运行,之后在试验箱上进行硬件性能测试。五、设计分析总结为期一周的单片机课设已经结束了,在本次单片机课程中我组成员基本完成了应用mc51单片机和wave6000设计单片的任务,并且在原有要求上进行了一定的功能强化和改进。在初期,由于大家对单片机的了解并不是很深入,我们陷入了各种迷茫与困惑之中,虽然每天都有新的进展,但是进程缓慢,漏洞百出,经常是拆了东墙补西墙,在进行了单片机定时器和中断知识的进一步强化学习之后,我们组的进展明显加快,尤其是在老师的指导下,一些难以理解东西渐渐明朗,理清思路的我们在课设时间约一半的时候,顺利的完成了我们的课设要求。在一周的课程设计与实践中,我们组的四位成员经历了从对单片机的基本了解到能独立完成简单程序设计的过程,并且深入巩固了单片机的定时器,中断等基础知识。为以后的学习和工作打下了一定的基础。六、参考文献1单片机原理与应用 胡辉,李叶紫,胡丽平 主编 中国水利水电出版社2.单片机原理与接口技术 牛昱光 主编 电子工业出版社3单片机系统设计与应用实例 韩志军 主编 机械工业出版社成 绩 评 定 表指导教师评价意见评价项目优良中差学习态度及表现设计作品完成情况设计报告完成情况最终成绩评定指导教师签字:年 月 日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!