液晶1602双机串口通信
点击数:7434 次 录入时间:03-04 12:00:35 整理:http://www.55dianzi.com 51单片机
MOV A,P1
MOV R3,A
Y8: CJNE R3,#0E0H,Y9
MOV R4,#08H
AJMP NEXT
Y9: CJNE R3,#0D0H,Y10
MOV R4,#09H
AJMP NEXT
Y10: CJNE R3,#0B0H,Y11
MOV R4,#0AH
AJMP NEXT
Y11: CJNE R3,#70H,X4
MOV R4,#0BH
AJMP NEXT
X4: CJNE R2,#07H,NEXT ;若为第四行
MOV A,#0F0H
MOV P1,A
MOV A,P1
MOV R3,A
Y12: CJNE R3,#0E0H,Y13
MOV R4,#0CH
AJMP NEXT
Y13: CJNE R3,#0D0H,Y14
MOV R4,#0DH
AJMP NEXT
Y14: CJNE R3,#0B0H,Y15
MOV R4,#0EH
AJMP NEXT
Y15: CJNE R3,#70H,NEXT
MOV R4,#0FH
NEXT: RET
DEL: MOV R7,#07H
DEL1_: MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,DEL1_
RET
END
/**==============接收========================**/
;********89C51引脚定义********
RS BIT P3.6 ;数据/命令选择(H/L)
R_W BIT P2.5 ;读/写选择(H/L)
E BIT P2.6 ;使能信号
DB0_DB7 EQU P0 ;数据传送端口
;***************程序开始**************
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV R4,#80H ;第一行首地址从80H开始
MOV R1,#0C0H ;第一行首地址从C0H开始
MOV R2,#00H
MOV R3,#16
LCALL INITIAL ;显示初始化程序
LCALL CLS ;调用清屏子程序
AGAIN:
MOV A,R4
LCALL WRITE_COM ;调用写指令程序
MOV A,R2 ;取表格中的第几个字符
MOV DPTR,#LINE1 ;取表格的首地址
LCALL DISP ;调用显示子程序
INC R4
INC R2
DJNZ R3,AGAIN
MOV R2,#00H
MOV R3,#16
AGAIN1:
MOV A,R1
LCALL WRITE_COM ;调用写指令程序
MOV A,R2 ;取表格中的第几个字符
MOV DPTR,#LINE3 ;取表格的首地址
LCALL DISP ;调用显示子程序
INC R1
INC R2
DJNZ R3,AGAIN1
;*************************************************
MOV TMOD,#20H
MOV TL1,#0E6H
MOV TH1,#0E6H
MOV SCON,#50H
MOV PCON,#80H
SETB TR1
BEGIN: JBC RI,BR2
JMP BEGIN
BR2: MOV A,SBUF
XRL A,#33H
JNZ BEGIN
BT1: MOV SBUF,#33H
BS1: JBC TI,BR3
JMP BS1
BR3: MOV R0,#80H
WAIT: JBC RI,READ
JMP WAIT
READ: MOV A,SBUF
MOV @R0,A
MOV P0,A
;显示接收数据
MOV A,#0C7H
LCALL WRITE_COM ;调用写指令程序
MOV A,@R0 ;取表格中的第几个字符
MOV DPTR,#LINE2 ;取表格的首地址
LCALL DISP ;调用显示子程序
上一页 [1] [2] [3] 下一页
本文关键字:通信 51单片机,单片机-工控设备 - 51单片机