⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jijiuche.txt

📁 基于8051的急救车程序
💻 TXT
字号:
CSEG AT 0000H
        LJMP START
CSEG AT 4003H
        LJMP JJ
CSEG AT 400BH
        LJMP TIME
CSEG AT 401BH
        LJMP COUNT
CSEG AT 4100H
START:  MOV SP,#60H
        SETB IT0
        SETB EA
        SETB EX0
        SETB ET0
        SETB ET1
        MOV DPTR,#0CFA3H
        MOV A,#80H      ;INITIAL 8255
        MOVX @DPTR,A
        NOP
        MOV TMOD,#61H   ;intial time count
        MOV TH0,#3CH     ;0.1s
        MOV TL0,#0B0H
        MOV TH1,#9CH      ;100 times
        MOV TL1,#9CH
        MOV R2,#00H
STA0 :  MOV DPTR,#0CFA0H
        MOV A,#03H;
        MOVX @DPTR,A
        MOV R6,A        ;SAVE THE STAUS OF NOW
        SETB TR0          ;BEGIN TIME
        SETB TR1          ;BEGIN COUNT
WAIT:   SJMP WAIT
JJ:     PUSH PSW
        PUSH ACC
        PUSH 06H
        PUSH TH0          ;SAVE INTERUPT TIME
        PUSH TL0
        PUSH TH1          ;SAVE INTERUPT TIMES
        PUSH TL1
        CLR TR0
        CLR TR1
        SETB EA
        NOP
        MOV A,#0C3H;  ALL RED
        MOVX @DPTR,A
        LCALL DELAY2        POP TL1
        POP TH1
        POP TL0
        POP TH0
        POP 06H
        MOV A,R6
        MOVX @DPTR,A
        POP ACC
        SETB TR0
        SETB TR1
        POP PSW
        RETI
TIME:   PUSH PSW
        PUSH ACC
        PUSH 02H
        CLR TR0
        MOV TH0,#3CH
        MOV TL0,#0B0H
        CPL P1.1
        SETB TR0
        POP 02H
        POP ACC
        POP PSW
        RETI
COUNT:  PUSH PSW
        PUSH ACC
        PUSH DPH
        PUSH DPL
        MOV TH1,#9CH      ;RESET 100 times
        MOV TL1,#9CH
        MOV A,R2
        MOV DPTR,#STAUS
        JMP @A+DPTR
STAUS:  AJMP S1
        AJMP S2
        AJMP S3
        AJMP S4
   S1:  ADD A,#02H
        MOV R2,A
        MOV DPTR,#0CFA0H
        MOV A,#12H
        MOVX @DPTR,A
        MOV R6,A   ;SAVE
        LJMP OUT
   S2:  ADD A,#02H
        MOV R2,A
        MOV DPTR,#0CFA0H
        MOV R7,#05H      ;LIGHT 5 TIMES
LOOP0:  MOV A,#06H
        MOVX @DPTR,A
        LCALL DELAY1
        MOV A,#02H
        MOVX @DPTR,A
        LCALL DELAY1
        DJNZ R7,LOOP0
        MOV TH1,#0FFH      ;RESET  times
        MOV TL1,#0FFH
        LJMP OUT
   S3:  ADD A,#02H
        MOV R2,A
        MOV DPTR,#0CFA0H
        MOV A,#21H
        MOVX @DPTR,A
        MOV R6,A
        LJMP OUT
   S4:  NOP
        MOV DPTR,#0CFA0H
        MOV R7,#05H
LOOP1:  MOV A,#09H
        MOVX @DPTR,A
        LCALL DELAY1
        MOV A,#01H
        MOVX @DPTR,A
        LCALL DELAY1
        DJNZ R7,LOOP1
        MOV TH1,#0FFH
        MOV TL1,#0FFH
        MOV R2,#00H  ;QING 0
        LJMP OUT
OUT:    POP DPL
        POP DPH
        POP ACC
        POP PSW
        RETI
DELAY1: MOV R5,#05H   ;DELAY 0.5S
LOP2:   MOV R4,#200
LOP1:   MOV R3,#126
LOP0:   DJNZ R3,LOP0
        DJNZ R4,LOP1
        DJNZ R5,LOP2
        RET
DELAY2: MOV R5,#100   ;DELAY 10S
LOPP2:  MOV R4,#200
LOPP1:  MOV R3,#126
LOPP0:  DJNZ R3,LOPP0
        DJNZ R4,LOPP1
        DJNZ R5,LOPP2
        RET
        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -