《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的雙機(jī)通信設(shè)計(jì)
基于單片機(jī)的雙機(jī)通信設(shè)計(jì)
摘要: 一、實(shí)驗(yàn)?zāi)康?、掌握雙機(jī)通信的原理和編程方法。2、學(xué)習(xí)8251A的使用方法二、實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理圖:2.實(shí)驗(yàn)內(nèi)容如圖所示,TXC和RXC分別為8251A的發(fā)送時(shí)鐘和接收時(shí)鐘。它由片外8253A的OUT1提供。
關(guān)鍵詞:
Abstract:
Key words :

一、實(shí)驗(yàn)?zāi)康?br /> 1、掌握雙機(jī)通信的原理和編程方法。
2、學(xué)習(xí)8251A的使用方法
二、實(shí)驗(yàn)內(nèi)容
1、實(shí)驗(yàn)原理圖:


 
 
2.實(shí)驗(yàn)內(nèi)容
如圖所示,TXC和RXC分別為8251A的發(fā)送時(shí)鐘和接收時(shí)鐘。它由片外8253A的OUT1提供。本實(shí)驗(yàn)要求以查詢方式進(jìn)行收發(fā)。要完成本實(shí)驗(yàn),需2臺(tái)DVCC系列實(shí)驗(yàn)系統(tǒng)。其中一臺(tái)為串行發(fā)送,一臺(tái)為串行接收,在1號(hào)機(jī)上裝串行發(fā)送程序,在2號(hào)機(jī)上裝串行接收程序,則在1號(hào)機(jī)上鍵入的字符顯示在2號(hào)機(jī)的顯示器上。
 
由于本系統(tǒng)監(jiān)控中未對(duì)8253A、8251A進(jìn)行初始化,因此本實(shí)驗(yàn)開始必須對(duì)8253、8251進(jìn)行初始化,然后才可以直接進(jìn)入對(duì)串行口狀態(tài)的查詢。
三、程序
系統(tǒng)晶振是 6.0 MHz
 
           ORG  07F0H
START:
           MOV    SP,#60H
           mov           A,#02H
           MOV         R0,#79H
           MOV    @R0,A
           INC          R0
           MOV    A,#10H
           MOV   @R0,A
           INC          R0
           MOV   A,#01H
           MOV   @R0,A
           INC          R0
           MOV    A,#03H
           MOV   @R0,A
           INC          R0
           MOV   A,#00H
           MOV    @R0,A
           INC          R0
           MOV         A,#08H
           MOV   @R0,A
           MOV    A,#7EH
           MOV         DPTR,#1FFFH
           MOVX @DPTR,A
        MOV    87H,#80H
           MOV    SCON,#50H            ;串口 方式 1
           MOV         TMOD,#20H            ;T1 方式 1
           MOV    TL1,#0F3H        ;波特率 9600 的常數(shù)
           MOV    TH1,#0F3H
           SETB    TR1                       ;開中斷
           CLR          ET1
           CLR          ES
WAIT:
            JBC    RI,DIS_REC           ;是否接收到數(shù)據(jù)
            LCALL  DISP             ;
            SJMP  WAIT               ;
DIS_REC:
           MOV    A,SBUF                  ;讀串口接收到的數(shù)據(jù)
           LCALL  DATAKEY            ;顯示輸入的數(shù)字(0-F)
           DB 79H,7EH
           AJMP   WAIT
 
DATAKEY: MOV   R4,A
             MOV   DPTR,#1FFFH
             MOVX  A,@DPTR
             MOV   R1,A
             MOV   A,R4
             MOV   @R1,A
            CLR    A
               POP     83H
               POP     82H
               MOVC  A,@A+DPTR
               INC     DPTR
               CJNE  A,01H,DATAKEY2
            DEC   R1
               CLR     A
               MOVC       A,@A+DPTR
DATAKEY1: PUSH  82H
              PUSH  83H
              MOV   DPTR,#1FFFH
              MOVX  @DPTR,A
              POP    83H
              POP    82H
              INC          DPTR
              PUSH   82H
              PUSH   83H
              RET
DATAKEY2: DEC    R1
              MOV   A,R1
              SJMP   DATAKEY1
 
DISP:        SETB  0D4H
             MOV  R1,#7EH
             MOV  R2,#20H
             MOV  R3,#00H
DISP1:
              MOV   DPTR,#DATACO
              MOV   A,@R1
              MOVC  A,@A+DPTR
              MOV   DPTR,#0FF22H
              MOVX  @DPTR,A
              MOV   DPTR,#0FF21H
              MOV   A,R2
              MOVX  @DPTR,A
              LCALL  DELAY
              DEC    R1
              CLR    C
              MOV        A,R2
              RRC    A
              MOV   R2,A
              JNZ    DISP1
              CLR    0D4H
              RET
DELAY:    MOV   R7,#03H
DELAY0:   MOV   R6,#0FFH
DELAY1:   DJNZ   R6,DELAY1
          DJNZ   R7,DELAY0
          RET
 DATAC  DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
              DB  88H,83H,0C6H,0A1H,86H,8EH,0BFH,0CH,89H,0DEH
              END
四、 實(shí)驗(yàn)步驟
1、準(zhǔn)備2臺(tái)DVCC系列實(shí)驗(yàn)儀,確定1號(hào)為發(fā)送,2號(hào)為接收。
2、將1號(hào)RXD插孔和2號(hào)的TXD插孔相連。
3、將1號(hào)TXD插孔和2號(hào)的RXD插孔相連。
4、將1號(hào)GND插孔和2號(hào)的GND插孔相連(共地)。
5、將8253CS插孔和Y4插孔相連,8251CS和Y5插孔相連。
6、將SIO區(qū)D0—D7和BUS2區(qū) XD0—XD7相連。
7、先運(yùn)行2號(hào)機(jī),在2號(hào)機(jī)提示符“P.....”狀態(tài)下,輸入0D00后,再按EXEC鍵進(jìn)入等待接收狀態(tài),顯示器顯示“8251—2”。
8、再運(yùn)行1號(hào)機(jī),在1號(hào)機(jī)處于提示符“P.....”狀態(tài)下,輸入0E00H后,按EXEC鍵,進(jìn)入串行發(fā)送狀態(tài)。顯示器顯示“8251—1”。
9、在1號(hào)機(jī)的鍵盤上輸入數(shù)字鍵,應(yīng)在2號(hào)機(jī)顯示器上顯示對(duì)應(yīng)數(shù)字值。
10、輸入數(shù)字鍵后再按MON鍵,1號(hào)機(jī)顯示“8251 good”。如果不輸入數(shù)字鍵直接按MON鍵,則顯示“Err”,如果雙機(jī)通信不能正常進(jìn)行,也顯示“Err”。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。