




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机电设备单片机控制实训报告学院:哈尔滨职业技术学院专业:机电一体化技术班级:07机电二班学号:107060923003学生姓名:李忠宝实训地点:新实训楼309指导教师:梁荫成绩:2009年12月07日一2009年12月12日一、设计任务利用伟福Lab200P实验系统硬件电路,设计一个电子时钟,实现24小时计时。并且可以进行时与分位的时间设定。显示格式如下:XX XX XX时分 秒二、硬件电路1、地址的确定本次设计采用 Lab2000P系统采用的是总线结构的硬件电路,如图1所示。通过分析确定总线 地址可以为:段码地址为X004H,位码或键盘列线地址为X002。此处 X是由KEY/LED CS决定
2、,KEY/LED CS应当接到相应的 138地址译码上。例如,将KEY/LED CS接到CSO上,则段码地址为08004H,位码地址为 08002H。wr.sE) iMcfrORXCtfMiEIVJN i:.U iDTCcH:nnI:_1Z2口nJFK 4:_士fQN1 1社I_1严| r- 口 rr r _iI Id 1 b s d 1WIA -J s L” -L-pTF 1 尸b.|广 严 - r-f t *| E b c d ? f C ItS” QO aOLtTBT/IEF小/EC/tr/f-F/IftHIE/itF4/ 3A f-A a图1Lab2000P系统采用的是总线结构的硬件电
3、路2、字型码表0 0 0 0 1 1 0 06h210110115bh34110011066h5611111017dh7811111117fh900 1 1 1 1 1 1 3fh11 0011114fh1 1011016dh0 00011107h1 1 0 1 1 1 1 6fh二、设计原理1、1秒定时的实现系统的时钟频率为6MHz则机器周期为 2卩s。通过定时计数器的设置,实现40ms的定时,累计50次实现1秒定时。40ms 的定时初值为 20000=45536=BIEOH40ms累积25次即满12、时分秒计时的设计选择三个内部数据存储器作为计时用的时分秒单元。在中断子程序中对 秒后对秒计
4、数单元+1,秒单元满60则清零向分单元+1,分单元满60则清零向时单元+1,时单元满24则时单元清零。中断子程序流程图如图2所示。列场保护重新送40吨初值卜Qem计 数器+1中断返回图2 中断子程序流程图中断子程序清单中断子程序。功能:计时结果时分秒分别存放在40H、41H、42H单元中。 org 0100hint_t0:PUSH APUSH PSW mov th0,#0b1h mov tl0,#0e0h inc r7 cjne r7,#25,next mov r7,#00 cpl p1.1ooooooooooo。20ms定时。 1s 定时inc second 。秒单元 +1mov r6,se
5、cond cjne r6,#60,next mov second,#00 inc minute mov r6,minute cjne r6,#60,next jc next mov minute,#00 inc hour mov r6,hour cjne r6,#24,next jc next mov hour,#00。满 60 秒, 秒单元 42h 清零。满 60 秒 , 分单元 41h+1。满 60 分 , 分单元 41h 清零 。满 60 分, 时单元 40h+1。满 24 小时,时单元 40h 清零next:POP PSWPOP A reti3、六位显示子程序的设计6LED 数码管的采
6、用一本设计采用动态显示方式点亮代表“时分秒”位的 6 个共阴极数码管。个 I0 接口作为段码控制,用过另一个 10 口控制 6 个数码管轮流点亮,当轮流点亮的频率足够高 时,由于视觉暂留效应和数码管的余晖效应,可以看到稳定点亮的现象。动态显示流程图如图3 所示。初始化晁示罢数银黄断所有位显下工职显示数据1输岀段码工输出位选通信号丄位选逋信号移位图3动态显示子程序流程图。动态显示子程序。功能:显示70h-75h单元中的阿拉伯数据。硬件连接:csO 接 key_cs。Ledbuf equ 70hOutbit equ 8002hOutseg equ 8004hled:mov rO,#ledbuf。指
7、向显示首单元mov r1,#OO1OOOOOb。从左至右显示mov r2,#6ledloop:mov dptr,#outbitmov a,#00movx dptr,a熄灭mov a,r0mov dptr,#outsegmovx dptr,a。送字型码mov a, r1mov dptr,#outbitmovx dptr,a。送位码mov a,r1rr a指向下一显示数猾。移位mov r1,ainc r0。指向下一个显示单元djnz r2,ledloopretLEDMAP:。 八段管显示码0-9db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hend。 。 。db
8、7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h功能:显示 70H75H单元中的字型码,高位对应UUI loooooooooo4、字型码子程序设计显示子程序可以将 6个显示单元中的字形码输出到LED显示器。本子程序用于将时分秒三个单元中的数据拆开,每个单元拆为十位与个位,并将它们的字形码分别存入6个显示单元。选择40H42H作为时分秒单元,选择 示。70H75H作为字型码存放的显示单元。子程序流程图如图4所|拆小訂值|存放显不单兀拆分钟值方茫入显示单元拆秒值放入显示单元图4拆数_字形码子程序流程图拆数一字形码子程序清单:。功能:将时分秒单元40h42h中的数据拆分为
9、十进制数据,并将字型码存放在70h75h单元中。Hour equ40h。定义秒单元Mi nute equ 41h。定义分单元Seco nd equ 42h。定义时单元Ledbuf equ 70h sled:mov a,seconddiv ab。拆秒单元mov b,#10mov ledbuf+4,a。 查找秒单元 送高位字型码mov dptr,#LEDMAP movc a,a+dptrmov dptr,#LEDMAPmov a,bmovc a,a+dptrmov ledbuf+5,a 。 查找秒单元低位字形码mled: mov a,minute mov b,#10 div ab mov dptr
10、,#LEDMAP movc a,a+dptr mov ledbuf+2,a mov dptr,#LEDMAP mov a,b movc a,a+dptr mov ledbuf+3,ao ohled: mov a,hour 。 mov b,#10 div ab mov dptr,#LEDMAP movc a,a+dptr mov ledbuf+0,a mov dptr,#LEDMAP mov a,b movc a,a+dptr mov ledbuf+1,a。拆分单元查找分单元查找分单元。拆时单元查找时单元查找时单元ret送高位字型码高位字型码高位字型码高位字型码四、主程序流程图主程序流程图如图
11、5所示。开始定时器初始化丄图5主程序流程图如六、程序清单outbit equ 08002h。位控制口outseg equ 08004h。段码控制口hour equ 40h。小时minute equ 41h。分钟sec ond equ 42h。秒ledbuf equ 70h。显示缓冲org OOOOhIjmp mai norg 0003hinc minuteretiorg 000bhljmp in t_tOorg 0013hinc hourretiorg 0100hin t_tO:PUSH APUSH PSWmov thO,#Ob1hmov tl0,#0e0h inc r7。20ms定时cjne
12、 r7,#25,next。 1s 定时mov r7,#00 cpl p1.1 inc second 。秒单元 +1 mov r6,secondcjne r6,#60,nextmov second,#00。满 60 秒, 秒单元 42h 清零inc minute。满 60 秒 , 分单元 41h+1mov r6,minute cjne r6,#60,nextjc nextmov minute,#00。满 60 分 , 分单元 41h 清零inc hour。满 60 分, 时单元 40h+1mov r6,hour cjne r6,#24,nextjc nextmov hour,#00。满 24 小
13、时,时单元 40h 清零next:POP PSWPOP A reti org 0200hmain:mov tmod,#01h。定时计数器 0 初始化mov th0,#0b1h mov tl0,#0e0hmov r7,#00h。 50 次计数单元mov minute,#00 mov second,#00 mov hour,#00 setb ea setb et0setb ex0。开外中断 0setb it0。外中断 0边沿触发setb ex1。开外中断 1setb it1。外中断 1 边沿触发k:lcall sled。取得时分秒单元字型码lcall led。显示ljmp k。 。将时分秒单元40
14、h41h42h中的数据拆分为十进制数据,并将字型码存放在7075单元中;。sled:mov a,secondmov b,#10div ab。拆秒单元mov dptr,#LEDMAP。 mov a,bmovc a,a+dptrmov ledbuf+4,a。 查找秒单元 高位字型码mov dptr,#LEDMAPmov a,bmovc a,a+dptrmov ledbuf+5,a 。 查找秒单元低位字形码 mled:mov a,minutemov b,#10div ab。拆分单元mov dptr,#LEDMAP。 mov a,bmovc a,a+dptrmov ledbuf+2,a。 查找分单元
15、高位字型码mov dptr,#LEDMAPmov a,b查找分单元 高位字型码movc a,a+dptr mov ledbuf+3,a hled:mov a,hour 。mov b,#10div ab 。拆时单元mov dptr,#LEDMAP。 mov a,bmovc a,a+dptrmov ledbuf+0,a 。 查找时单元 高位字型码mov dptr,#LEDMAPmov a,bmovc a,a+dptrmov ledbuf+1,a 。 查找时单元 高位字型码 retoooooooooooooooooooooooooo。显示70h-75h 单元中的阿拉伯数据led:mov r0,#le
16、dbuf mov r1,#00100000b mov r2,#6 ledloop: mov dptr,#outbit mov a,#00 movx dptr,a mov a,r0 mov dptr,#outseg movx dptr,a mov a, r1 mov dptr,#outbit movx dptr,a mov a,r1。指向显示首单元。从左至右显示。熄灭。送字型码送位码rr a。移位mov r1,a inc r0 。指向下一个显示单元djnz r2,ledloopretLEDMAP: 。 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
17、db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h end七、总结该电子钟稳定性好,生产成本较低,使用方便,精度较高。该时钟采用定时计数器中断 6MHZ晶振的振荡电路高精度,测量范围24小时,测量精度到秒,最低精度不差 0.1MS,使用LCD液晶模块显示,可以与 PC机进行串行通信。设计给出了软硬件系 统的部分电路,个模块的流程图,功能说明及子程序介绍。该电路设计新颖、功能强大、可扩展性 强。目前,由各种单片机定时计数器中断构成的电子时钟,已被广泛用于电子及电工测量、工业自 动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。本次实训重点介绍单片机定时 计数器中断系统以及按键和数码显示器构成的基于单片机的数字电子时钟的工作原理。随着电子工业的发展,要求电子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论