专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

数码管显示的电子时钟汇编程序

作者:佚名   来源:本站原创   点击数:  更新时间:2011年01月23日   【字体:
;*************************************************************
;功能:
;实现电子时钟显示(汇编)
;定义:
;    P3口位选,P1口段选,P0.0,P0.1,P0.2为调时口
;时间:
;    2010—11—26
;*************************************************************

 

SECOND EQU 30H

MINITE EQU 31H

HOUR EQU 32H

HOURK BIT P0.0

MINITEK BIT P0.1

SECONDK BIT P0.2

DISPBUF EQU 40H

DISPBIT EQU 48H

T2SCNTA EQU 49H

T2SCNTB EQU 4AH

TEMP EQU 4BH

 

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

 

START: 

       MOV SECOND,#00H

       MOV MINITE,#00H

       MOV HOUR,#12

       MOV DISPBIT,#00H

       MOV T2SCNTA,#00H

       MOV T2SCNTB,#00H

       MOV TEMP,#0FEH

       LCALL DISP

       MOV TMOD,#01H

       MOV TH0,#(65536-2000) / 256

       MOV TL0,#(65536-2000) MOD 256

       SETB TR0

       SETB ET0

       SETB EA

 

WT: 

       JB SECONDK,NK1

       LCALL DELY10MS

       JB SECONDK,NK1

       INC SECOND

       MOV A,SECOND

       CJNE A,#60,NS60

       MOV SECOND,#00H

 

NS60:

       LCALL DISP

       JNB SECONDK,$

 

NK1:

       JB MINITEK,NK2

       LCALL DELY10MS

       JB MINITEK,NK2

       INC MINITE

       MOV A,MINITE

       CJNE A,#60,NM60

       MOV MINITE,#00H

 

NM60:

       LCALL DISP

       JNB MINITEK,$

 

NK2:

       JB HOURK,NK3

       LCALL DELY10MS

       JB HOURK,NK3

       INC HOUR

       MOV A,HOUR

       CJNE A,#24,NH24

       MOV HOUR,#00H

 

NH24: 

       LCALL DISP

       JNB HOURK,$

 

NK3: 

       LJMP WT

 

DELY10MS:

       MOV R6,#10

 

D1: 

       MOV R7,#248       

       DJNZ R7,$

       DJNZ R6,D1

       RET

 

DISP:

       MOV A,#DISPBUF

       ADD A,#8

       DEC A

       MOV R1,A

       MOV A,HOUR

       MOV B,#10

       DIV AB

       MOV @R1,A

       DEC R1

       MOV A,B

       MOV @R1,A

       DEC R1

       MOV A,#10

       MOV@R1,A

       DEC R1

       MOV A,MINITE

       MOV B,#10

       DIV AB

       MOV @R1,A

       DEC R1

       MOV A,B

       MOV @R1,A

       DEC R1

       MOV A,#10

       MOV@R1,A

       DEC R1

       MOV A,SECOND

       MOV B,#10

       DIV AB

       MOV @R1,A

       DEC R1

       MOV A,B

       MOV @R1,A

       DEC R1

       RET

 

INT_T0:

       MOV TH0,#(65536-2000) / 256

       MOV TL0,#(65536-2000) MOD 256

       MOV A,#DISPBUF

       ADD A,DISPBIT

       MOV R0,A

       MOV A,@R0

       MOV DPTR,#TABLE

       MOVC A,@A+DPTR

       MOV P1,A

       MOV A,DISPBIT

       MOV DPTR,#TAB

       MOVC A,@A+DPTR

       MOV P3,A

       INC DISPBIT

       MOV A,DISPBIT

       CJNE A,#08H,KNA

       MOV DISPBIT,#00H

 

KNA:

       INC T2SCNTA

       MOV A,T2SCNTA

       CJNE A,#100,DONE

       MOV T2SCNTA,#00H

       INC T2SCNTB

       MOV A,T2SCNTB

       CJNE A,#05H,DONE

       MOV T2SCNTB,#00H

       INC SECOND

       MOV A,SECOND

       CJNE A,#60,NEXT

       MOV SECOND,#00H

       INC MINITE

       MOV A,MINITE

       CJNE A,#60,NEXT

       MOV MINITE,#00H

       INC HOUR

       MOV A,HOUR

       CJNE A,#24,NEXT

       MOV HOUR,#00H

 

NEXT:

       LCALL DISP

 

DONE: 

       RETI

 

TABLE: 

       DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

 

TAB: 

       DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

 

END
//源代码下载 :http://www.51hei.com/f/sza511.rar
关闭窗口

相关文章