资源描述:
《数字时钟的汇编程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、电子钟(程序设计)CONTROL EQU 0C003H ;8253控制口COUNT0 EQU 0C000HCOUNT1 EQU 0C001HCOUNT2 EQU 0C002HMD8255 EQU 82H ;8255控制字PA8255 EQU 8000HCTL8255 EQU 8003HOUTBIT EQU 08002H ;位控制口OUTSEG EQU 08004H ;段控制口ICW1 EQU B
2、 ;8259,上升沿中断,要写ICW4ICW2 EQU B ;中断号为20HICW4 EQU B ;工作在8086/88方式OCW1 EQU B ;只响应INT0中断CS8259A EQU 0D000H ;8259地址CS8259B EQU 0D001HDATA SEGMENTCNT DB 0LEDBUF DB 6 DUP(?) ;显示缓冲NUM DB 1 DUP
3、(?) ;显示的数据DELAYT DB 1 DUP(?)HOUR DB 0MINUTE DB 0SECOND DB 0LEDMAP: ;八段管显示码 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATADELAY PROC NEAR
4、 ;延时子程序 PUSH AX PUSH CX MOV AL,0 MOV CX,AX LOOP $ POP CX POP AX RETDELAY ENDPDISPLAYLED PROC NEAR MOV BX,OFFSET LEDBUF MOV CL,6 ;共6个八段管 MOV AH,B ;从左边开始显示DLOOP:
5、 MOV DX, OUTBIT MOV AL, 0 OUT DX, AL ;关所有八段管 MOV AL, [BX] MOV DX, OUTSEG OUT DX, AL MOV DX, OUTBIT MOV AL, AH OUT DX, AL ;显示一位八段管 PUSH AX MOV AH,1 CALL DELAY
6、POP AX SHR AH,1 INC BX DEC CL JNZ DLOOP MOV DX,OUTBIT MOV AL,0 OUT DX,AL ;关所有八段管 RETDISPLAYLED ENDPIENTER PROC NEAR PUSH AX PUSH DX INC SECOND ;秒加1 MOV AL,SECO
7、ND CMP AL,60 ;秒数与60比较 JNE EXIT MOV SECOND,0 ;秒清零 INC MINUTE ;分加1 MOV AL,MINUTE CMP AL,60 ;分数与60比较 JNE EXIT MOV MINUTE,0 ;分清零
8、 INC HOUR ;时加1 MOV AL,HOUR CMP AL,24 ;时数与24比较 JNE EXIT MOV HOUR,0 ;时清零EXIT: MOV DX,CS8259A MOV