1、输入时依次为分、秒、百分秒,同时应有判断输入错误的能力,若输入有错,则显示:E - - - - -,此时敲P键可重新输入预置值。5. E键:程序退出,返回DOS 接线方法 实验台上8253 CLK0 接1MHz,GATE0和GATE1接+5V,OUT0接CLK1,OUT1接IRQ.CS接 280H287H. 三、编程提示 程序流程 秒表工作原理 中断处理子程序:预置秒表各段高位子程序:预置秒表各段低位子程序LOW0 源程序:INTA00 EQU 20H ;8259A口地址 INTA01 EQU 21H ;PORT0 EQU 2B0H ;8279数据口 PORT1 EQU 2B1H ;8279控
2、制口 TIME0 EQU 280H ;8253定时器0口地址 TIME1 EQU 281H ;8253定时器1口地址 TIMEC EQU 283H ;8253控制口地址 STACK SEGMENT STACK STA DW 512 DUP(?) TOP EQU LHNGTH STA STACK ENDS DATA SEGMENT BUF DB 0 ;计数单元 SIGH DB 0 ;计数标志 SEC1 DB 0 ;秒高位 SEC2 DB 0 ;秒低位 MIN1 DB 0 ;分高位 MIN2 DB 0 ;分低位 HOUR1 DB 0 ;时高位 HOUR2 DB 0 ;时低位 ERR1 DB 0 ;
3、出错标志 HMS DB 0 ;预置时、分、秒标志 LED DB 3FH,06,5BH,4FH,66H,6DH,7DH,07,7FH,6FH,79H,40H MES DB PLEAS FIRST CREATE THE IRQ7 PULSE!?,0AH,0DH,0AH,0DH DB IN SMALL KEYBORD:,0AH,0DH DB C-CLEAR TO ZERO; G-GO AHEAD?DB D-STOP THE DISPLY;EEXIT?DB PPOSITION THE BEGINNING TIME?,0AH,0DH,?$?DATA ENDS CODE SEGMENT MAIN PROC
4、 FAR ASSUME CS:CODE,DS:DATA,SS:STACK START: CLI MOV AX,DATA MOV DS,AX MOV BUF,0 MOV SIGH,01 MOV SEC1,0 MOV SEC2,0 MOV MIN2,0 MOV HOUR1,0 MOV HOUR2,0 MOV ERR1,0 MOV DX,TIMEC ;8253初始化 MOV AL,36H OUT DX,AL MOV DX,TIME0 MOV AX,100 MOV AL,AH MOV DX,TIMEC MOV AL,74H MOV AX,10 MOV DX,TIME1 ;定时器每0.1S中断1次 OU
5、T DX,AL MOV AX,STACK MOV SS,AX MOV SP,TOP MOV DX,OFFSET MES MOV AH,09 INT 21H MOV AX,CS MOV DX,OFFSET INT_PROC MOV AX,250FH INT 21H ;置IRQT中断向量 MOV DX,INTA01 AND AL,7FH MOV DX,PORT1 MOV AL,0D3H OUT DX,AL ;8279清零 MOV AL,2AH 置8279时钟命令 MOV AL,40H 读FIFO RAM命令 MOV AL,00H 置键盘显示模式 MOV AL,80H 写RAM命令 STI KEY1
6、: CALL KET2 ;调键盘显示子程序 CMP HOUR2,0AH JZ NEXT2 NEXT1: CMP AL,0CH ;是否“C”命令 JNZ LP0 NEXT2: MOV SIGH,00H MOV HOUR2,00H MOV HOUR1,00H MOV MIN2,00H MOV MIN1,00H MOV SEC2,00H MOV SEC1,00H LP0: CMP AL,0EH ;是否“E”命令 JNZ LP1 MOV SIGH,00H CLI IN AL,DX MOV AX,4C00H ;是“E”命令返回DOS INT 21H LP1: CMP AL,10H ;是否“G”命令 JNZ LP2 MOV SIGH,01H JMP KEY1 LP2: CMP AL,0DH ;是否“D”命令 JNZ SETI KEY3: JMP KEY1 SETI: CMP AL,12H ;是否“P”命令 JNZ KET1 MOV SIGH,00H ;“00”为预置时标志 MOV HMS,00H CALL HIGH0 CMP ERR1,01H JZ KEY3 CALL LOW0 MOV HMS,11H ;“11”为预置分标志CALL HIGH0 MOV HMS,22H ;“22”为预置秒标志 CALL HIGH0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1