仿真电路图
仿真汇编程序:
- A_Bit EQU 20H
- B_Bit EQU 21h ;十位数存放处
- TEMP EQU 22h
- STAR: MOV TEMP, #0 ;初始化计数器
- STLOP:
- ACALL DISPLAY
- INC TEMP
- MOV A,TEMP
- CJNE A,#100,NEXT ;=100重来
- MOV TEMP,#0
- NEXT:
- LJMP STLOP
- ;显示子程序
- DISPLAY:
- MOV A, TEMP ;将temp中 的数转换成10进制
- MOV B,#10;
- DIV AB;
- MOV B_Bit,A ;十位在A
- MOV A_Bit,B;个位在B
- MOV DPTR,#TAB;指定查表启始地址
- MOV R0,#2;4
- DPL1: MOV R1,#100;250 ;显示1000次
- DPLOP: MOV A,A_Bit;取个位数
- MOVC A,@A+DPTR;查个位数的7段代码
- ;CPL A;
- MOV P1 ,A;送出个位的7段代码
- CLR P2.7;
- ACALL D1MS;延时显示1ms
- SETB P2.7;
- MOV A,B_Bit ;取十位数
- MOVC A, @A+DPTR ;查十位数的7 段代码
- ;CPL A;
- MOV P1 ,A;送出十位的7段代码
- CLR P2.6;
- ACALL D1MS;
- SETB P2.6;
- DJNZ R1,DPLOP ;100次没完循环
- DJNZ R0,DPL1 ;2个100次没完循环RET
- ;延时4毫秒即2微秒* R7*R6(按12MHZ算)
-
-
- D1MS: MOV R7 ,#5;10
- D1: MOV R6,#50;
- DJNZ R6,$;
- DJNZ R7,D1;
- RET;
- ;7段数码管各划的数字排列表,共阳的七段花数
- TAB:
- DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h;
- END;
复制代码
|