仿真电路图:
汇编程序代码:
- SECOND EQU 30H
- TCOUNT EQU 31H
- ORG 0000H
- START:CLR P1.7;
- MOV SECOND,#60;
- MOV TCOUNT,#00H;
- MOV TMOD,#01H;
- MOV TH0,#3CH;
- MOV TL0,#0B0H;
- SETB TR0;
-
- DISP: MOV A,SECOND;
- MOV B,#10;
- DIV AB;
- MOV DPTR,#TABLE;
- MOVC A,@A+DPTR;
- MOV P0,A;
- MOV A,B;
- MOVC A,@A+DPTR;
- MOV P2,A;
- WAIT: JNB TF0,WAIT;检查是否50ms计时到
- CLR TF0;
- MOV TH0,#3CH;
- MOV TL0,#0B0H;
- INC TCOUNT;
- MOV A,TCOUNT;
- CJNE A,#20,NEXT;判断计时的50ms次数是否20次,即判断是否计时了一秒钟
- MOV TCOUNT,#00H;
- DEC SECOND;
- MOV A,SECOND;
- CJNE A,#00,NEX; 判断是否计时了一分钟,如果够了则重新开始
- MOV SECOND,#60;
- NEXT: LJMP WAIT;
- NEX: LJMP DISP;
- TABLE:
- DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
- END
-
复制代码
|