$NOMOD51 $INCLUDE(C:\FSI\INC\REG52.INC) ;=================================== BSEG AT 0H EXAM: DBIT 1 STARTWORK: DBIT 1 ;================================== CSEG AT 0H LJMP START ;================================== ORG 03H LJMP EXT ;================================= ORG 0BH LJMP T0INT ;================================ ORG 13H LJMP EXT1 ;============================== ORG 40H ;============================== INIT: MOV P3,#0FFH MOV R0,#0H MOV R1,#0AH MOV IE,#7H MOV TMOD,#21H MOV TCON,#5H MOV SCON,#40H MOV TH0,#0FDH MOV TL0,#055H MOV TH1,#0E8H MOV TL1,#0E8H SETB TR1 MOV R0,#0H SETB EA CLR STARTWORK RET ;============================== EXT: INC R0 END_EXT: RETI ;============================== T0INT: CLR TR0 MOV TH0,#0FDH MOV TL0,#055H CJNE R0,#1H,END_T0INT SETB EXAM SETB STARTWORK RETI ;============================== END_T0INT: MOV R0,#0H SETB EXAM RETI ;============================== EXT1: SETB TR0 RETI ;============================== START: LCALL INIT ;============================== SSS1: MOV R1,#0AH CLR P0.0 JNB STARTWORK,$ ;============================== MAIN: JNB EXAM,MAIN CLR EXAM SETB P0.0 CJNE R0,#1H,ZERO CLR C JMP FINISH ;============================== ZERO: SETB C ;============================== FINISH: RRC A MOV R0,#0H DJNZ R1,MAIN RLC A MOV SBUF,A CLR STARTWORK JMP SSS1 ;============================== END