微机接口课程设计(电子钟)(编辑修改稿)内容摘要:
P NEXT6 NEXT5: CMP AL,0BH。 设置键按下,调用设置时间程序 JNZ NEXT6 CALL SETTIME NEXT6: INC COUNT。 当 COUNT 直为 40 时,加一秒,之后置 0 CMP COUNT,40。 25ms*40=1s JB NEXT7 CALL ADDONE MOV COUNT,0 NEXT7: CALL SHOW。 显示时间 MOV AL,20H。 发 EOI 命令,结束中断 MOV DX,300H OUT DX,AL IRET INTSR ENDP TSTART PROC。 控制暂停和开始 CMP STO,00H JNE LL1 DEC STO JMP LL2 LL1: INC STO LL0: CALL KEYCHECK CMP AL,0AH JZ LL2 CALL SHOW JMP LL0 LL2: RET TSTART ENDP ADDONE PROC。 加 1 秒子程序 MOV AX,SEC。 当前秒个位为 9,加 1 后变 0,十位加 1 CMP AL,9 JE N1 INC AL MOV SEC,AX JMP N6 N1: INC AH MOV AL,0 CMP AH,6。 十位加 1 后为 6,则秒变为 00,分钟个位加 1 JE N2 MOV SEC,AX JMP N6 N2: MOV AX,0 MOV SEC,AX MOV AX,MIN。 当前分钟个位为 9,加 1 后变 0,十位加 1 CMP AL,9 JE N3 INC AL MOV MIN,AX JMP N6 N3: INC AH MOV AL,0 CMP AH,6。 十位加 1 后为 6,则分钟变为 00,小时个位加 1 JE N4 MOV MIN,AX JMP N6 N4: MOV AX,0 MOV MIN,AX MOV AX,HOUR INC AL CMP AX,0204H。 小时加 1 后与 24 比,相等,则变为 0 JE N5 MOV HOUR,AX JMP N6 N5: MOV AX,0 MOV HOUR,AX N6: RET ADDONE ENDP SETTIME PROC。 设置时间子程序 LEA BX,TAB MOV HOUR,0 MOV MIN,0 MOV SEC,0 NOP NOP L1: CALL KEYCHECK。 调用 KEYCHECK,无键按下时, AL 中值为 0CH CALL DELAY CMP AL,0CH JNZ L2 JMP L1 L2: CMP AL,02H JG L1。 设置小时十位时,将其他各位数码管灭掉及对应的七段译码表 0CH MOV AH,AL MOV BYTE PTR[HOUR+1],AL MOV BYTE PTR[HOUR],0CH MOV MIN,0C0CH MOV SEC,0C0CH。微机接口课程设计(电子钟)(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。