《微机原理课程设计(电子时钟).docx》由会员分享,可在线阅读,更多相关《微机原理课程设计(电子时钟).docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也 可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化 为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒” 用数字的方式显示出来。与传统的机械钟相比,它具有走时准确, 显示直观,无机械传动,无需人的经常调整等优点。它广泛用于 电子表、车站、码头、广场等公共场所的大型远距离时间显示电 子钟。二:数字钟电路设计思路.选用8253计数器2进行1s的定时.,其输出0UT1与8259的IRQO 相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计 数,并送入相应的存储单元;8255的A 接七段数码管
2、的位选信 号,B 口接数码管的段选信号。时、分、秒的数值通过对8255的 编程可送到七段数码管上显示。1 .此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换 成ASCH码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来; 第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位 与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳 变,从而形成走时准确的电子钟。该程序实现了准确显示秒和分,读数准确,走时精准。此电子钟 能准确的从0时0分0秒走时到23时59分59秒,然后能自动回 复到0时。分0秒
3、循环走时。2 .基本工作原理:系统设计的电子时钟主要由显示模块、时钟控 制模块和时钟运算模块三大部分组成。以8086微处理器作CPU, 用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号, 要求每隔10ms完成一次扫描键盘的工作。在写入控制字与计数初 值后,每到10ms定时器就启动工作,即当计数器减到1时,输出 端OUTO输出一个CLK周期的低电平,向CPU申请中断,当达到 100次时,则输出端0UT1输出1s,向CPU申请中断,由8255控制 一个数码管显示,当计数到60s时,则输出端0UT2向CPU申请中断, 由另一数码管显示Iniin,同理由数码管显示lh. CPU处理,使
4、数码 管的显示发生变化。OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,C8253 MOV AL,36H OUT DX,AL MOV DX,D82531 MOV AX, 100 OUT DX,AL MOV AL,AH OUT DX,ALMOV DX,C8279 MOV AL,OOH OUT DX,AL MOV AL,34H OUT DX,AL MOV AL,0D2H OUT DX,AL MOV STAT,0 MOV DX,C82591 MOV AL,0FEH OUT DX,ALWAIT1:MOV DX,C8279IN AL,DXMOV AH,AL AND AL,80H
5、 JNEWAIT1 MOV AL,AH AND AL,0FH CMP AL,OOH JE WAIT1 MOV AL,40H OUT DX,AL CHK: MOV DX,D8279IN AL,DXCMPAL,33HJNEBBBMOV DX,C82591MOV AL,0FFHOUT DX,ALMOV AL,STATINC ALMOV STAT,ALCMP AL, 1JNZ AA1MOV SI,OFFSET DISPBUFMOV CX,4MOV AL,00BBO: MOV SI,ALINC SILOOPBBOCALL DISPJMPCHKAA1: CMP AL,2JNZ AA2MOV SI,OFFS
6、ET DISPBUFMOV AL,00MOV SI,ALINC SIMOV SI,ALADD SI,2MOV SI,ALINC SIMOV SI,ALCALL DISPJMPCHKAA2: CMP AL,3JNZ AA3MOV SI,OFFSET DISPBUF+2MOV CX,4MOV AL,00BB1: MOV SI,ALINC SI L00PBB1 CALL DISP JMP CHKAA3: MOV STAT,00 MOV ALQFEH MOV DX,C82591 OUT DX,AL CALL FULLSFM CALL DISP JMP CHKBBB: CMPAL,3BH JE BBBO
7、 JMP CCCBBO: MOV AL,STAT CMP AL, 1 JNZBBB1 MOV AL,HOUR ADD AL,1 DAAMOV HOUR,AL CALL FULLSH1 CALL DISP JMP BBBBBBkMOV AL,STAT CMP AL,2 JNZ BBB3 MOV AL,MINUTE ADD AL,1 DAAMOV MINUTE,AL CALL FULLFEN CALL DISP JMP BBBBBB3: MOV AL,STAT CMP AL,3JZ BBB4JMP DDD BBB4: MOV AL,SECONDADD AL,1 DAAMOV SECOND,AL C
8、ALL FULLMIAO CALL DISP JMP BBBCCC:CMP AL,3 AHJE CCO JMP DDDCCO:MOV AL,STATCMP AL J JNZ CCC1 MOV AL,HOUR SUB AL J DAS MOV AL,HOUR SUB AL,1ADD AL JDAAMOV SECOND,AL CMP AL,60H JNZ FANHUI MOV SECOND,。 MOV AL,MINUTE ADD AL,1 DAAMOV MINUTE,AL CMP AL,60H JNZ FANHUI MOV MINUTE,0 MOV AL,HOUR ADD AL,1 DAAMOV
9、HOUR,ALCMP AL,24H JNZ FANHUI MOV HOUR,0 CALL FULLSFM CALL DISP POP SI POP DI POPBX POP AX IRETFULL SFM PROC NEAR LEA DLDISBUF LEA BX,LED LEA SI,SECOND MOV CX,3AA4:MOV AL,SI AND AL,0FH XLATMOV DI,AL INC DI MOV AL,SI PUSH CX MOV CL,4 SHR AL,CL AND AL,0FH XLAT MOV DI,ALINC DI POP CX INC SI LOOPAA4 RETF
10、ULL SFM ENDPFULL SHI PROC NEAR LEASI,DISBUF MOV AL,()MOV CX,4 CCCO: MOV SI,AL INC SI LOOPCCCO LEA BX,LED MOV AL,HOUR AND AL,0FH XLAT MOV SI,AL XLAT MOV SI,AL MOV AL,HOUR MOV CL,4 SHR AL,CL AND AL,0FH XLAT INC SI MOVSI,ALRETFULL SHI ENDPFULL FEN PROC NEAR LEA SLDISBUF MOV AL,0 MOV SI,AL INC SI MOV SI
11、,AL INC SI LEA BX,LED MOV AL,MINUTE AND AL,0FH XLAT MOVSI,ALMOV AL,MINUTE MOV CL,4 SHR AL,CLAND AL,0FH XLATINC SIMOV SI|,ALRETFULL FEN ENDPFULL MIAO PROC NEARLEA SI,DISBUF LEA BX,LEDMOV AL,SECONDAND ALQFH XLATMOV SI,ALMOV AL,SECONDMOV CL,4SHR AL,CLAND AL,0FHXLATINC SIMOV SI,ALMOV AL,0INC SIMOV SI,AL
12、INC SIMOV SI,ALINC SIMOV SI,ALINC SIMOV SI,ALRETFULL MIAO ENDPDISP PROC NEARMOV CX,8MOV DX,D8279LEA SI,DISBUFDISIMOV AL,SI OUT DX,AL INC SILOOP DISI RETCODE ENDSEND STARTd7 D.23D$3225 421D,5206 825319D.718Do817CLK0 916OUL 1015GATE,II14GND12138253芯片AoCLKaOUT:GATE:CLK,OUT!GATE,v, 1st ok)vyizav zi 9a?v
13、 scrArr-taFsov oyaaOas/ovwMIOMOOT*X时NWOHIhNCS/N301S31LSAnGoiavaiH3MQgnoHOSOfTlYMINI(6 k 9khf 80)0USCAflNI Aovaa 13加15QJ2 GATE2 OUT?oooooooo51(0X1) qmOKO GATEO OUTOOKI GATE1 0UT1OOOOOOOOPAOPA1禽禽禽peo国瑞曙pe?MSSPC5落60-6O- 年28256A四:程序代码D8279 equ 200HC8279 equ 202HC8253 equ 20bH D82530 equ 208HD82531 equ 2
14、09HC82590 equ 21 OHC82591 equ 211Hdb 00db 00 db 008 db 00db 00db 00 db 008 db 00data segment HOUR MINUTE SECOND STAT LED db 31 H,()6H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,()()H,()()H DISBUF db 8 dup(O) data ends stack segment stack dw 100 dup(?) stack ends code segmentassume cs:code,ds:data START:MOV AX,DATAMOV DS,AX CLI MOVALJ3H MOV DX,C82590 OUT DX,AL MOV AL,8 MOV DX,C82591 OUT DX,AL MOV AL,1 OUT DX,AL MOV AX,0 MOV ES,AX LEA AX,INTO MOV AX,CS MOV ES:|4*8+2|,AXMOV DX,C8253MOV AL,36H OUT DX,ALMOV DX,D82530MOV AX J ()00()