<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)I/O 口模擬串行通信設(shè)計(jì)

          單片機(jī)I/O 口模擬串行通信設(shè)計(jì)

          作者: 時(shí)間:2011-08-04 來(lái)源:網(wǎng)絡(luò) 收藏

          3.接口程序設(shè)計(jì)

            軟件設(shè)計(jì)中,89C51 的P1.0 和P1.1 口分別的發(fā)送和接收,其接口程序主要由INPUT 發(fā)送子程序和OUTPUT接收子程序組成。通信速率1200 bit /s,幀格式為N.8.1。發(fā)送時(shí),先發(fā)送一個(gè)起始位(低電平),接著按低位在先的順序發(fā)送8 位數(shù)據(jù),最后發(fā)送停止位。接收時(shí),先判斷P1.1 接收端口是否有起始低電平出現(xiàn),其中軟件編寫(xiě)要嚴(yán)格按照異步通信的時(shí)序進(jìn)行,每bit 位傳送時(shí)間間隔按通信速率1200 bit /s計(jì)算為833μs。

            其程序清單見(jiàn)下,系統(tǒng)要求晶振為6M。程序清單如下:

            TXD EQU P1.0

            RXD EQU P1.1 ;定義89C51 P1.0 為發(fā)送端,P1.1 為接收端

            ORG 0000H

            AJMP MAIN

            ORG 0100H

            MAIN: MOV A, #30H

            MOV R5,#N

            SETB RXD ;P1.0 置高

            TX: LCALL INPUT ;調(diào)用發(fā)送子程序,將寄存器A 中內(nèi)容發(fā)給PC 機(jī)

           ??;

            SETB TXD ;P1.1 置高

            MOV R0,#40H

            RX: LCALL OUTPUT ;調(diào)用接收子程序,將接收的N 個(gè)數(shù)據(jù)存放在以40H開(kāi)始的地址中

            MOV @R0,A

            INC R0

            DJNZ R5, RX ;N 個(gè)數(shù)據(jù)接收結(jié)束,則等待,否則轉(zhuǎn)RX 繼續(xù)接收

            3

            AJMP $

            ;**************延時(shí)833μs 子程序*****

            DEL833: MOV R7 ,#205

            MS11: DJNZ R7,MS11

            RET

            ; **********************************

            ;******** 89C51發(fā)送數(shù)據(jù)給PC 機(jī)子程序****

            INPUT: CLR C

            MOV TXD,C ;發(fā)送起始位

            LCALL DEL833 ;延時(shí)

            MOV R3,#8

            REP: RRC A

            MOV TXD ,C

            LCALL DEL833

            DJNZ R3,REP ;發(fā)送8 位數(shù)據(jù)

            SETB C ;發(fā)送停止位

            MOV TXD,C

            LCALL DEL833

            RET

            ;********從PC 機(jī)接收數(shù)據(jù)子程序********

            OUTPUT: JB RXD, $ ; 判斷是否有起始位出現(xiàn)

            LCALL DEL833

            MOV R3,#8

            OUT: MOV C ,RXD

            RRC A

            LCALL DEL833

            DJNZ R3,OUT ; 接收8 位數(shù)據(jù)

            JNB RXD ,$ ; 判斷是否有停止位出現(xiàn)

            RET

           

          總結(jié): 本文介紹的用 89C51 I/O 口模擬實(shí)現(xiàn)串行通信的方法,已成功地應(yīng)用在某電壓數(shù)據(jù)采集系統(tǒng)中,這樣的進(jìn)步,讓這項(xiàng)技術(shù)有了更加高的期待性,在社會(huì)上也有了很好的反應(yīng),這樣就讓這個(gè)研究成果有了很好的作用。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();