;显示8点阵16列子程序
DISPLAY:
CLR P3.7
W1:
CALL SENDATA ;显示第一个字的第(7FH)列
CJNE A,#04H,W1
MOV 70H,#00H ;该字的四列送完
CALL SENDCOT ;送列控制字
W2:
CALL SENDATA
CJNE A,#04H,W2
MOV 70H,#00H
CALL SENDCOT
W3:
CALL SENDATA
CJNE A,#04H,W3
MOV 70H,#00H
CALL SENDCOT
W4:
CALL SENDATA
CJNE A,#04H,W4
MOV 70H,#00H
CALL SENDCOT
W5:
CALL SENDATA
CJNE A,#04H,W5
MOV 70H,#00H
CALL SENDCOT
W6:
CALL SENDATA
CJNE A,#04H,W6
MOV 70H,#00H
CALL SENDCOT
W7:
CALL SENDATA
CJNE A,#04H,W7
MOV 70H,#00H
CALL SENDCOT
W8:
CALL SENDATA
CJNE A,#04H,W8
MOV 70H,#00H
CALL SENDCOT
SETB P3.7 ;送完一屏的第(71)列
MOV A,71H
RR A
MOV 71H,A
RET
;接收8052传来的数据
INTER1:
PUSH ACC
PUSH PSW
MOV A,P1
MOV @R1,A ;Receive data and send to display buffer
INC R1
POP PSW
POP ACC
RETI
;将显示缓冲区的内容送去显示
SENDATA:
MOV A,@R0 ;显示一个字的第(71H)列
INC R0
MOV SBUF,A
JNB TI,$
CLR TI
INC 70H
MOV A,70H
RET
;送控制位
SENDCOT:
MOV A,71H
MOV SBUF,A
JNB TI,$
CLR TI
RET
END