?? ledtest.asm
字號:
ADDH EQU 30H
ADDL EQU 31H
COUNT EQU 32H
REG64 EQU 33H
REGPING EQU 34H
REG100 EQU 35H
REG16 EQU 36H
REG1 EQU 37H
WDTRST EQU 0A6H
COUNT_1 EQU 38H
REG3 EQU 41H
REG0 EQU 39H
REG4 EQU 40H
E BIT P1.4
RCLKS BIT P1.5
SCLR BIT P1.6
SCLK BIT P1.7
ENRD BIT P3.2
DISEN BIT 0H
R_FLAG BIT 1H
ORG 0000H
JMP MAIN
ORG 000BH
JMP INTT0
ORG 0023H
JMP INTES
ORG 0030H
MAIN:
MOV SP,#60H
CLR ENRD
LCALL OFFDIS
MOV P0,#0FFH
SETB E
SETB SCLR
CLR DISEN
CLR RCLKS
SETB RCLKS
MOV R0,#0
MOV R1,#0
MOV A,#0FFH
MOV TMOD,#21H
MOV TL1,#0FCH
MOV TH1,#0FCH
MOV TL0,#71H
MOV TH0,#4EH
MOV REG100,#50
MOV REG4,#0
MOV REG64,#0
MOV REG16,#16
MOV ADDH,#0
MOV ADDL,#0
MOV COUNT_1,#0
SETB EA
SETB ES
SETB PS
CLR PT0
SETB TR0
MOV PCON,#80H
SETB ET0
CLR ET1
SETB TR1
MOV SCON,#50H
MOV DPTR,#0
CLR E
CLR ENRD
MOV R0,#0
MOV R1,#16
MOV DPTR,#TAB
MOV REG0,#1
MOV REG3,#200
L0: MOV A,#0
MOVC A,@A+DPTR
MOV P0,A
CLR SCLK
SETB SCLK
INC DPTR
DJNZ R0,L0
LCALL INCH
CLR RCLKS
SETB RCLKS
DJNZ R1,L0
MOV R1,#16
MOV DPTR,#TAB
MOV A,P1
ORL A,#00001111B
MOV P1,A
JNB DISEN,L0
SETB TR0
MOV R0,#0
MOV R1,#16
MOV DPTR,#0
MOV REG0,#1
MOV REG3,#200
MOV A,#0
;ML2: MOVX A,@DPTR
; MOV P0,A
; CLR SCLK
; SETB SCLK
; INC DPTR
; DJNZ R0,ML2
; MOV R0,#0
; LCALL INCH
; CLR RCLKS
; SETB RCLKS
; DJNZ R1,ML2
; MOV R1,#16
; MOV DPH,ADDH
; MOV DPL,#0
; ;MOV DPTR,#0
; ORL P1,#00001111B
; JB DISEN,ML2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JL0:
CJNE R6,#1,JL1
SETB R_FLAG
LCALL DIS1
JMP JL0
JL1:
CJNE R6,#2,JL2
SETB R_FLAG
LCALL DIS2
JMP JL0
JL2:
SETB R_FLAG
LCALL DIS3
JMP JL0
REC:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R0,#0
MOV DPTR,#0
CLR R_FLAG
MOV R1,#16
JNB RI,$ ;接收有多少K的數據
CLR RI
MOV A,SBUF
MOV COUNT,A
MOV REG1,A
JNB RI,$
CLR RI
MOV R6,SBUF ;決定換行的時間
PUSH 32H
MOV DPTR,#0 ;接收RAM數據
RECL0:
JNB RI,$
CLR RI
MOV A,SBUF
CPL A
MOVX @DPTR,A
;MOVX A,@DPTR
;MOV SBUF,A
;JNB TI,$
;CLR TI
INC DPTR
DJNZ R0,RECL0
DJNZ R1,RECL0
MOV R1,#16
DJNZ COUNT,RECL0
MOV COUNT,REG1
;CALL SEND1K
MOV R1,#16
MOV R0,#0
MOV A,#0FFH
CL1:
INC DPTR
MOVX @DPTR,A
DJNZ R0,CL1
DJNZ R1,CL1
MOV R1,#16
MOV R0,#0
MOV DPTR,#00H
POP 32H
POP 01H
POP 00H
POP ACC
MOV ADDH,#0
MOV ADDL,#0
RET
SEND66H:
PUSH ACC
MOV SBUF,#66H
JNB TI,$
CLR TI
POP ACC
RET
INTES:
PUSH ACC
CLR ES
CLR TR0
CLR RI
MOV A,SBUF
CJNE A,#55H,INTESL1
LCALL REC
SETB DISEN
JMP BACK2
INTESL1:
CJNE A,#66H,INTESL2
LCALL SEND66H
JMP BACK2
INTESL2:
CJNE A,#77H,INTESL3
CLR SCLR
JMP BACK2
INTESL3:
CJNE A,#88H,INTESL4
SETB SCLR
JMP BACK2
INTESL4:
CJNE A,#99H,INTESL5
MOV SBUF,#99H
JNB TI,$
CLR TI
INTESL5:
CJNE A,#100,BACK2
MOV WDTRST,#01EH
MOV WDTRST,#0E1H
MOV SBUF,#100
JNB TI,$
CLR TI
BACK2:
SETB ES
SETB TR0
POP ACC
RETI
INTT0:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -