色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的雙機通信設(shè)計

          基于單片機的雙機通信設(shè)計

          作者: 時間:2010-12-08 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://cafeforensic.com/article/173103.htm




          2.實驗內(nèi)容
          如圖所示,TXC和RXC分別為8251A的發(fā)送時鐘和接收時鐘。它由片外8253A的OUT1提供。本實驗要求以查詢方式進行收發(fā)。要完成本實驗,需2臺DVCC系列實驗系統(tǒng)。其中一臺為串行發(fā)送,一臺為串行接收,在1號機上裝串行發(fā)送程序,在2號機上裝串行接收程序,則在1號機上鍵入的字符顯示在2號機的顯示器上。

          由于本系統(tǒng)監(jiān)控中未對8253A、8251A進行初始化,因此本實驗開始必須對8253、8251進行初始化,然后才可以直接進入對串行口狀態(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
          四、 實驗步驟
          1、準(zhǔn)備2臺DVCC系列實驗儀,確定1號為發(fā)送,2號為接收。
          2、將1號RXD插孔和2號的TXD插孔相連。
          3、將1號TXD插孔和2號的RXD插孔相連。
          4、將1號GND插孔和2號的GND插孔相連(共地)。
          5、將8253CS插孔和Y4插孔相連,8251CS和Y5插孔相連。
          6、將SIO區(qū)D0—D7和BUS2區(qū) XD0—XD7相連。
          7、先運行2號機,在2號機提示符“P.....”狀態(tài)下,輸入0D00后,再按EXEC鍵進入等待接收狀態(tài),顯示器顯示“8251—2”。
          8、再運行1號機,在1號機處于提示符“P.....”狀態(tài)下,輸入0E00H后,按EXEC鍵,進入串行發(fā)送狀態(tài)。顯示器顯示“8251—1”。
          9、在1號機的鍵盤上輸入數(shù)字鍵,應(yīng)在2號機顯示器上顯示對應(yīng)數(shù)字值。
          10、輸入數(shù)字鍵后再按MON鍵,1號機顯示“8251 good”。如果不輸入數(shù)字鍵直接按MON鍵,則顯示“Err”,如果不能正常進行,也顯示“Err”。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉