<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用純軟件實(shí)現單片機遠程通信的設計

利用純軟件實(shí)現單片機遠程通信的設計

作者: 時(shí)間:2013-02-05 來(lái)源:網(wǎng)絡(luò ) 收藏
  GMS972051是韓國LG公司生產(chǎn)的MW內部帶2K E2PROM的與MCS-51兼容的。GMS97C2051省去了MCS-51的P0和P3口,但是多了一個(gè)內部硬件比較器。由于的通信信號為T(mén)TL電平,如果不采取其它的措施,其在通信速率為9600bps時(shí)通信距離不超過(guò)5米。一般為了延長(cháng)的通信距離,采用RS-232/RS-485轉換器、RS-232/RS-422轉換器或光隔遠程收發(fā)器。

  要用方法實(shí)現GMS97C2051單片機之間的,首先必須將單片機的TTL電平的軟件方法轉換為差分電平,其次要用普通I/O口線(xiàn)來(lái)構成軟件串行口,并且在軟件上進(jìn)行正確的配合。

  TTL電平轉換成差分電平的方法

  TTL是IP協(xié)議包中的一個(gè)值,它告訴網(wǎng)絡(luò ),數據包在網(wǎng)絡(luò )中的時(shí)間是否太長(cháng)而應被丟棄。有很多原因使包在一定時(shí)間內不能被傳遞到目的地。解決方法就是在一段時(shí)間后丟棄這個(gè)包,然后給發(fā)送者一個(gè)報文,由發(fā)送者決定是否要重發(fā)。TTL的初值通常是系統缺省值,是包頭中的8位的域。TTL的最初設想是確定一個(gè)時(shí)間范圍,超過(guò)此時(shí)間就把包丟棄。由于每個(gè)路由器都至少要把TTL域減一,TTL通常表示包在被丟棄前最多能經(jīng)過(guò)的路由器個(gè)數。當記數到0時(shí),路由器決定丟棄該包,并發(fā)送一個(gè)ICMP報文給最初的發(fā)送者。

  GMS97C2051單片機的信號均為T(mén)TL電平。TTL電平信號傳輸距離非常有限,一般在9600bps傳輸率時(shí)傳輸距離不超過(guò)5米。而差分電平信號則是取決于兩種信號線(xiàn)之間的電平差值,如果某條信號線(xiàn)的電平高于另一條,則信號為1,否則為0.由于差分電平信號可以避免長(cháng)距離傳輸導線(xiàn)上的電荷積累,并且具有更寬的電平范圍,所以傳輸距離遠得多。RS485差分電平信號在9600bps傳輸率時(shí)傳輸距離可達1200米。為了用實(shí)現差分電平傳輸就不能使用GMS97C2051本身的硬件串行口,而是用普通I/O線(xiàn)來(lái)實(shí)現串行通信。差分電平要用兩條I/O口線(xiàn)來(lái)實(shí)現,比如P1.2和P1.3兩條線(xiàn)(見(jiàn)圖1)。當傳輸信號為1時(shí),P1.2為+5V,而P1.3為0V.當傳輸信號為0時(shí),P1.2為0V為0V,而P1.3為+5V.注意P1.2和P1.3不得同時(shí)置+5V或同時(shí)置0V.

  為了用純軟件實(shí)現差分電平傳輸就不能使用GMS97C2051本身的硬件串行口,而是用普通I/O線(xiàn)來(lái)實(shí)現串行通信。差分電平要用兩條I/O口線(xiàn)來(lái)實(shí)現,比如P1.2和P1.3兩條線(xiàn)(見(jiàn)圖1)。當傳輸信號為1時(shí),P1.2為+5V,而P1.3為0V.當傳輸信號為0時(shí),P1.2為0V為0V,而P1.3為+5V.注意P1.2和P1.3不得同時(shí)置+5V或同時(shí)置0V.

  GMS97C2051單片機的P1.0和P1.1可以分別作為片內精密模擬電壓比較器的正輸入端(AIN0)和負輸入端(AINI),所以正好可以用于接收差分電平信號。內部電平比較器的輸出已經(jīng)在芯片內部連到P3.6口,所以可以通過(guò)讀取P3.6口的值來(lái)得到差分電平信號。

  軟件串行口的實(shí)現方法

  串口叫做串行接口,現在的PC 機一般有兩個(gè)串行口COM 1 和COM 2 .串行口不同于并行口之處在于它的數據和控制信息是一位接一位地傳送出去的。雖然這樣速度會(huì )慢一些,但傳送距離較并行口更長(cháng),因此若要進(jìn)行較長(cháng)距離的通信時(shí),應使用串行口。通常COM 1 使用的是9 針D 形連接器,也稱(chēng)之為RS-232接口,而COM 2 有的使用的是老式的DB25 針連接器,也稱(chēng)之為RS-422接口,不過(guò)目前已經(jīng)很少使用。

  串行端口(Serial port),或稱(chēng)串列埠、序列埠、串口,主要用于串列式逐位元數據傳輸。常見(jiàn)的為一般電腦應用的RS-232(使用 25 針或 9 針連接器),工業(yè)電腦應用的半雙工RS-485與全雙工RS-422.串口叫做串行接口,也稱(chēng)串行通信接口,按電氣標準及協(xié)議來(lái)分包括RS-232-C、RS-422、RS485、USB等。 RS-232-C、RS-422與RS-485標準只對接口的電氣特性做出規定,不涉及接外掛程式、電纜或協(xié)議。USB是近幾年發(fā)展起來(lái)的新型接口標準,主要應用于高速數據傳輸領(lǐng)域。

  采用差分電平通信的軟件串行口的硬件接線(xiàn)圖如圖2.A、B兩機均為GMS97C2051單片機。P1.2和P1.3用于發(fā)送,P1.0和P1.1口用于接收,P1.0同時(shí)接本機中INI0.軟件串行口一般全用標準的10位異步通信格式:1位起始位(信號0),8位數據位,1位停止位(信號1)。接收時(shí)均是低位數據在前,高位數據在后。


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

關(guān)鍵詞: 純軟件 單片機 遠程通信

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>