您当前的位置:五五电子网电子知识单片机-工控设备51单片机液晶1602双机串口通信 正文
液晶1602双机串口通信

液晶1602双机串口通信

点击数:7434 次   录入时间:03-04 12:00:35   整理:http://www.55dianzi.com   51单片机
/**=============发送==================**/
KEYB    EQU     20H.0    ;按键标致(为1时有键按下)

 
        ORG 0000H
        AJMP MAIN
        ORG 0030H
MAIN:   
/*         MOV  SP,#60H
         MOV  TMOD,#20H
         MOV  TL1,#0E6H
         MOV  TH1,#0E6H
         MOV  SCON,#50H
         MOV  PCON,#80H      ;  
        SETB TR1
*/     
BEGIN:  ACALL KEY         ;调用键盘扫描
        JB KEYB,BEGIN_     ;判断是否有键按下   
        JMP BEGIN
BEGIN_: CLR KEYB
         MOV  R0,#80H
         MOV  A,R4
         MOV  @R0,A
         MOV  P0,A
/*
;发送联络信号 
ITX4:   MOV  SBUF,#33H     ;发给从机1
ITX2:  JBC TI,ITX1
       JMP ITX2            ;等待发送
ITX1:  JBC RI,ITX3        ;等待二号机回答
       JMP ITX1
ITX3:   MOV  A,SBUF        ;接收联络信号
       XRL A,#33H        ;异或,等于33H的话,A就为0
       JNZ ITX4            ;二号机未准备好,继续联络   
;串行发送
CK2:    MOV  R0,#80H        ;开始读取,数据传送   
START:  MOV  A,@R0
        MOV  SBUF,A
WAIT:  JBC TI,CONT
       JMP WAIT
CONT:  JMP BEGIN */
        SJMP BEGIN

;********键盘扫描********调用键盘扫描以后会返回一个键值存于R4中,和一个标致位KEYB    
KEY:     MOV  A,#0FH         ;查询是否有键按下   
         MOV  P1,A
         MOV  A,P1
        CJNE A,#0FH,KEYY
        CLR KEYB
        AJMP NEXT
KEYY:   ACALL DEL            ;去抖动    
         MOV  A,P1
        CJNE A,#0FH,GO
         MOV  R4,#10H            ;若有抖动,则返回无效键值    
        CLR KEYB
        AJMP NEXT
GO:     SETB KEYB            ;置按键标致位    
         MOV  R2,A            ;R2中存放着行信息          
    X1: CJNE R2,#0EH,X2        ;若为第一行   
         MOV  A,#0F0H
         MOV  P1,A
         MOV  A,P1
         MOV  R3,A            ;R3中存放着列信息        
Y0:        CJNE R3,#0E0H,Y1    ;若为第一列                
         MOV  R4,#00H            ;R4中存放要返回的键值
        AJMP NEXT
Y1:     CJNE R3,#0D0H,Y2    ;若为第二列,Yn表示16个键对应的操作   
         MOV  R4,#01H
        AJMP NEXT
Y2:     CJNE R3,#0B0H,Y3    ;若为第三列
         MOV  R4,#02H
        AJMP NEXT
Y3:     CJNE R3,#70H,X2        ;若为第四列
         MOV  R4,#03H
        AJMP NEXT
    X2: CJNE R2,#0DH,X3        ;若为第二行
         MOV  A,#0F0H
         MOV  P1,A
         MOV  A,P1
         MOV  R3,A
Y4:        CJNE R3,#0E0H,Y5    ;若为第一列
         MOV  R4,#04H
        AJMP NEXT
Y5:     CJNE R3,#0D0H,Y6    ;若为第二列
         MOV  R4,#05H
        AJMP NEXT
Y6:     CJNE R3,#0B0H,Y7
         MOV  R4,#06H
        AJMP NEXT
Y7:     CJNE R3,#70H,X3
         MOV  R4,#07H
        AJMP NEXT
   X3:  CJNE R2,#0BH,X4         ;若为第三行       
         MOV  A,#0F0H
         MOV  P1,A

[1] [2] [3]  下一页


本文关键字:通信  51单片机单片机-工控设备 - 51单片机

《液晶1602双机串口通信》相关文章>>>