|
A_Bit EQU 20H
B_Bit EQU 21h ;十位數(shù)存放處
TEMP EQU 22h
STAR: MOV TEMP, #0 ;初始化計(jì)數(shù)器
STLOP:
ACALL DISPLAY
INC TEMP
MOV A,TEMP
CJNE A,#100,NEXT ;=100重來(lái)
MOV TEMP,#0
NEXT:
LJMP STLOP
;顯示子程序
DISPLAY:
MOV A, TEMP ;將temp中 的數(shù)轉(zhuǎn)換成10進(jìn)制
MOV B,#10;
DIV AB;
MOV B_Bit,A ;十位在A
MOV A_Bit,B;個(gè)位在B
MOV DPTR,#TAB;指定查表啟始地址
MOV R0,#2;4
DPL1: MOV R1,#100;250 ;顯示1000次
DPLOP: MOV A,A_Bit;取個(gè)位數(shù)
MOVC A,@A+DPTR;查個(gè)位數(shù)的7段代碼
;CPL A;
MOV P1 ,A;送出個(gè)位的7段代碼
CLR P2.7;
ACALL D1MS;延時(shí)顯示1ms
SETB P2.7;
MOV A,B_Bit ;取十位數(shù)
MOVC A, @A+DPTR ;查十位數(shù)的7 段代碼
;CPL A;
MOV P1 ,A;送出十位的7段代碼
CLR P2.6;
ACALL D1MS;
SETB P2.6;
DJNZ R1,DPLOP ;100次沒(méi)完循環(huán)
DJNZ R0,DPL1 ;2個(gè)100次沒(méi)完循環(huán)RET
;延時(shí)4毫秒即2微秒* R7*R6(按12MHZ算)
D1MS: MOV R7 ,#5;10
D1: MOV R6,#50;
DJNZ R6,$;
DJNZ R7,D1;
RET;
;7段數(shù)碼管各劃的數(shù)字排列表,共陽(yáng)的七段花數(shù)
TAB:
DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h;
END;就不知道對(duì)不對(duì),我們學(xué)校給的 |
|