📄 程序(c).txt
字号:
#INCLUDE <REG51.H>
#DEFINE UCHAR UNSIGNED CHAR
#DEFINE UINT UNSIGNED INT
#DEFINE ULONG UNSIGNED LONG
EXTERN VOID CS_T(VOID);
EXTERN VOID DELAY(UINT);
EXTERN VOID DISPLAY(UCHAR*);
//DATA UCHAR DISPLAY(UCHAR*);
DATA UCHAR TESTOK;
VOID MAIN (VOID)
{
DATA UCHAR DISPRAM[5];
DATA UINT I;
DATA ULONG TIME;
P0=0XFF;
P2=0XFF;
TMOD=0X11;
IE=0X80;
WHILE (1)
{
CS_T();
DELAY(1);
TESTOK=0;
EX0=1;
ET0=1;
WHILE(! TESTOK) DISPLAY(DISPRAM);
IF (1==TESTOK)
{
TIME=TH0;
TIME=(TIME<<8)| TL0;
TIME*=172;
TIME/=10000;
DISPRAM[0]=(UCHAR) (TIME%10);
TIME/=10;
DISPRAM[1]=(UCHAR) (TIME%10);
TIME/=10;
DISPRAM[2]=(UCHAR) (TIME%10);
DISPRAM[3]=(UCHAR) (TIME/10);
IF (0==DISPRAM[3]) DISPRAM[3]=17;
} ELSE
{
DISPRAM [0]=16;
DISPRAM [1]=16;
DISPRAM [2]=16;
DISPRAM [3]=16;
}
FOR (I=0;I<300;I++) DISPLAY(DISPRAM);
}
}
VOID CS_R(VOID) INTERRUPT 0
{
TR0=0;
ET0=0;
EX0=0;
TESTOK=1;
}
VOID OVERTIME(VOID) INTERRUPT 1
{
EX0=0;
TR0=0;
ET0=0;
TESTOK=2;
}
NAME CS_T
?PR?CS_T?CS_T SEGMENT CODE
PUBLIC CS_T
RSEG ?PR?CS_T?CS_T
CS_T: PUSH ACC
MOV TH0, #00H
MOV TL0, #00H
MOV A, #4D
SETB TR0
CS_T1: CPL p1.0
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ ACC,CS_T1
POP ACC
RET
;
END
NAME DELAY
?PR?_DELAY?DELAY SEGMENT CODE
PUBLIC _DELAY
RSEG ?PR?_DELAY?DELAY
_DELAY: PUSH ACC
MOV A,R7
JZ DELA1
INC R6
DELA1: MOV R5,#50D
DJNZ R5, $
DJNZ R7,DELA1
DJNZ R6,DELA1
POP ACC
RET
END
NAME DISPLAY
?PR?_DISPLAY?DISPLAY SEGMENT CODE
?CO?_DISPLAY?DISPLAY SEGMENT DATA
EXTRN CODE (_DELAY)
PUBLIC _DISPLAY
RSEG ?CO?_DISPLAY?DISPLAY
?_DISPLAY?BYTE:
DISPBIT: DS 1
DISPNUM: DS 1
RSEG ?PR?_DISPLAY?DISPLAY
_DISPLAY: PUSH ACC
PUSH DPH
PUSH DPL
PUSH PSW
INC DISPNUM
MOV A,DISPNUM
CJNE A,#4D,DISP1
DISP1: JC DISP2
MOV DISPNUM,#00H
MOV DISPBIT,#0FEH
DISP2: MOV A,R1
ADD A,DISPNUM
MOV R0,A
MOV A,@R0
MOV DPTR,#DISPTABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,DISPNUM
CJNE A,#2D,DISP3
CLR P0.7
DISP3: MOV P2,DISPBIT
MOV R5,#00H
MOV R7,#0AH
LCALL _DELAY
MOV P0,#0FFH
MOV P2,#0FFH
MOV A,DISPBIT
RL A
MOV DISPBIT,A
POP PSW
POP DPL
POP DPH
POP ACC
RET
DISPTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH,0FFH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -