新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 純軟件實現(xiàn)單片機遠程通信

        純軟件實現(xiàn)單片機遠程通信

        作者: 時間:2012-03-16 來源:網絡 收藏

        GMS972051是韓國LG公司生產的MW內部帶2K E2PROM的與MCS-51兼容的

        本文引用地址:http://www.104case.com/article/171866.htm

        GMS97C2051省去了MCS-51的P0和P3口,但是多了一個內部硬件比較器。由于信號為TTL電平,如果不采取其它的措施,其在速率為9600bps時距離不超過5米。一般為了延長的通信距離,采用RS-232/RS- 485轉換器、RS-232/RS-422轉換器或光隔收發(fā)器。本文介紹的方法可將GMS97C2051單片機之間通信距離延長到1200米以上,而且不需要添加任何硬件措施,完全用

        5.gif

        要用純方法GMS97C2051單片機之間的通信,首先必須將單片機的TTL電平的方法轉換為差分電平,其次要用普通I/O口線來構成軟件串行口,并且在軟件上進行正確的配合。

        TTL電平轉換成差分電平的純軟件方法

        GMS97C2051 單片機的信號均為TTL電平。TTL電平信號傳輸距離非常有限,一般在9600bps傳輸率時傳輸距離不超過5米。而差分電平信號則是取決于兩種信號線之間的電平差值,如果某條信號線的電平高于另一條,則信號為1,否則為0。由于差分電平信號可以避免長距離傳輸導線上的電荷積累,并且具有更寬的電平范圍,所以傳輸距離遠得多。RS485差分電平信號在9600bps傳輸率時傳輸距離可達1200米。

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

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

        6.gif

        軟件串行口的實現(xiàn)方法

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 云梦县| 田东县| 九龙城区| 汨罗市| 甘南县| 漠河县| 汶川县| 鄂托克旗| 江北区| 泽普县| 凉城县| 宁都县| 萍乡市| 溧阳市| 定陶县| 荥阳市| 林州市| 涡阳县| 乌拉特中旗| 胶南市| 舟山市| 科技| 潼关县| 兰州市| 武汉市| 柳河县| 班戈县| 焦作市| 武川县| 汉川市| 三都| 苍南县| 历史| 卢氏县| 万宁市| 喀什市| 东城区| 太谷县| 柘荣县| 华安县| 黄冈市|