<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al

        單片機多機并行通訊的一種方法

        尹紅 

        摘 要 單片機多機通訊一般采用串行總線方式,但在通訊距離短,通訊數據量大,通訊速率高的場合也會用到多機并行通訊。本文介紹一種采用簡單邏輯電路實現單片機多機并行通訊的方法。
        關鍵詞 并行通訊,三態緩沖寄存器,雙端口存儲器,總線隔離

        1 簡介
          本文介紹的單片機多機并行通訊系統,使用89C51作為主機,多片89C2051作為從機。(89C2051為20腳300MIL封裝,帶有2K FLASH E2PROM的單片機,除了少了兩個并口外,具備MCS-51系列單片機所有功能。因為其體積小,功能強,必將在單片機應用領域內廣泛使用)。這種并行通訊方法適用于在多站點,多層次的檢測和控制系統中充當通信控制器的角色;也適合于用作單片機串行口擴充電路。

        t59-3.gif (8413 bytes)
        t59-1.gif (4828 bytes)
          圖1 芯片的邏輯圖及四種工作狀態   

        t59-2.gif (6745 bytes)
        圖2 單片機并行通信原理框圖

        2 三態總線緩沖寄存器74HC646
          在單片機構成的多機并行通訊系統中,總線上的信息交換一般采用PIO(并行接口)和雙端口寄存器等方法,并輔助以總線仲裁電路。通常使用的并行接口芯片有8155,8255等。本文介紹一種簡單的并行接口電路,它既能取代8255等芯片,還能使電路結構更加簡單和緊湊。該電路由一片74HC74和一片74HC646(300MIL窄封裝)構成。
          74HC646是三態總線緩沖寄存器,其實也是一個雙端口共享存儲器,只是共享存儲區很小的,僅有一個數據輸入寄存器與一個數據輸出寄存器,用它作為單字節通信數據的臨時中轉站,每傳送一個字節,主從機間握手一次,把數據取走后再繼續下一字節的通信。74HC646可以將兩條總線的數據分別鎖存,再由芯片內部總線進行數據交換。74HC646具有四種工作狀態,利用對這四種工作狀態的控制,可以實現多個單片機利用數據口進行數據交換,省下其余口線做其他的工作,如驅動LED,控制開關等。74HC646芯片的邏輯圖及四種工作狀態如圖1所示。

        3 單片機并行通信原理
          74HC646對數據進行的鎖存只為完成數據交換作了信息準備工作,單片機多機之間通訊的實現還必須具備通訊聯絡手段,以使單片機了解總線上的工作狀態,避免發生總線沖突。這里采用四線握手聯絡:兩條由發送方送接收方,通知接收方數據已經準備好(如圖2中的TFNE*,RFNE*);兩條由接收方送發送方,通知發送方數據已經收到(如圖2中的TFNF*,RFNF*)通信聯絡信號是由74HC74電路產生。單片機并行通信原理框圖如圖2所示。

        4 多機并行通信協議
          上面的并行通訊的單片機沒有封鎖電路以防止主從機向74HC646同時寫數或同時讀數,因此各單機在雙向傳輸時,必須根據狀態信息來控制自己的下一步操作,即進行聯絡,通過軟件、硬件通訊協議配合才能避免造成錯誤,保證對74HC646不會造成競爭沖突。因此,除了上面所講的聯絡電路之外,在編制軟件時,還必須遵從以下協議:
          . 主機向74HC646發送數據時,必須保證74HC646接收寄存器為空。
          .
        主機與從機間的數據傳輸要通過74HC646,協議不允許雙方同時對74HC646進行操作,必須根據狀態信息來控制自己的操作。

        5 通訊協議的格式與執行過程
        5.1 信息格式

          在并行通訊的異步通信傳輸時,也同樣存在幀的類型及格式問題,可以采用串行通訊類似的幀格式:

        特征字
        長度
        數據1
        數據2
        ...
        校驗碼

        5.2 通訊協議的執行過程
          下面以檢測方式為例說明通訊協議的執行過程。
        5.2.1 主機向從機寫數過程:(主機寫, 從機讀)
          主機向74HC646寫數據,然后通知從機有數據來,從機從74HC646中讀取數據。
          ① 主機讀取狀態位,檢測TFNF*位是否為零。
          ② 若TFNF*=1,主機暫時等待;若TFNF*=0,主機向74HC646寫數據,使TFNF*=1,同時使TFNE*=0。
          ③ 從機讀取狀態位,檢測TFNE*位是否為零。若TFNE*=1,從機暫時等待;若TFNE*=0,從機從74HC646讀數據,使TFNE*=1,同時使TFNF*=0。
          ④ 主機再次檢測狀態位TFNF*是否為零,若為“0”,說明從機已將數據從74HC646中取走,主機可發送下一數據。
        5.2.2 主機讀從機過程:(從機寫, 主機讀)
          從機向74HC646寫數據,然后通知主機有數據來,主機收到信號后,將數據從74HC646中取走。
          ① 從機讀取狀態位,檢測RFNF*位是否為零。
          ② 若RFNF*=1,從機暫時等待;若RFNF*=0,從機向74HC646寫數據,使RFNF*=1,同時使RFNE*=0。
          ③ 主機讀取狀態位,檢測RFNE*位是否為零。若RFNE*=1,主機暫時等待;若RFNE*=0,主機從74HC646讀數據,使RFNE*=1,同時使RFNF*=0。
          ④ 從機再次檢測狀態位RFNF*是否為零,若為“0”,說明從機已將數據從74HC646中取走,主機可發送下一數據。

        6 流程圖(檢測方式)
          采用檢測方式的程序流程如圖3所示。

        t60-1.gif (7129 bytes)  

        圖3 采用檢測方式的程序流程圖

          若使用中斷方式, 只需對執行過程和流程圖稍加修改即可。

        作者簡介: 尹紅 工程師。從事計算機應用、數控產品的研究和開發工作。
        作者單位:中國科學院成都計算機應用研究所 四川
        .成都(610041)

        參考文獻
        1.電子工程手冊編委會,集成電路手冊分編委會編著.標準集成電路數據手冊高速CMOS電路(第一版).北京:電子工業出版社,1992:533-541
        2.孫涵芳,徐愛卿編著.MCS-51/98系列單片機原理及應用(第一版).北京:北京航空學院出版社,1988:48—63,172—176
        3.邱公偉,趙祥元,巫淑萍編著.實時控制與智能儀表多微機系統的通信技術(第一版).北京:清華大學出版社,1996:69—113

         

        主站蜘蛛池模板: 在线涩涩免费观看国产精品| 亚洲精品综合第一国产综合| 97一区二区国产好的精华液 | 九九热视频在线观看视频| 中文亚洲成A人片在线观看| 亚洲成人免费在线| 熟女精品视频一区二区三区| 999久久久免费精品播放| 亚洲一本大道在线| 日本免费人成视频在线观看| 精品亚洲国产成人av| 亚洲精品人成在线观看| 亚洲国产午夜精品福利| 一个人看的WWW免费视频在线观看| 日韩精品一区二区都可以| 国产无遮挡又黄又爽不要vip软件 国产成人精品一区二区秒拍1o | 国产在线观看网址不卡一区| 十八禁午夜福利免费网站| www国产精品内射熟女| 四虎永久免费高清视频| 免费观看又色又爽又黄的韩国 | 亚洲欧洲日韩国内高清| 亚洲AV永久无码精品一区二区国产| 国产视频一区二区三区视频| 蜜桃在线一区二区三区| 国产一区二区三区在线播| 久久人人97超碰精品| 久久91精品牛牛| 国产成人精品a视频| 欧美熟妇乱子伦XX视频| 911国产自产精选| 不卡一区二区国产在线| 亚洲精品拍拍央视网出文| 国产剧情91精品蜜臀一区| 亚洲精品天堂在线观看| 三上悠亚精品一区二区久久| 97视频精品全国免费观看| 激情五月开心综合亚洲| 亚洲天堂激情av在线| 91九色国产porny| 神马久久亚洲一区 二区|