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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 80C196KB與PC機(jī)之間的遠(yuǎn)程通訊系統(tǒng)設(shè)計(jì)

          80C196KB與PC機(jī)之間的遠(yuǎn)程通訊系統(tǒng)設(shè)計(jì)

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

          3.1 下位機(jī)部分

          串行口的波特率取決于16位波特率寄存器的內(nèi)容。該寄存器應(yīng)以連續(xù)2個(gè)字節(jié)進(jìn)行裝載,低位字節(jié)優(yōu)先。寄存器的最高位用于選擇波特率發(fā)生器的輸入時(shí)鐘源,最高位為1,選用XTAL1(即晶體振蕩器)信號(hào)為源信號(hào),否則選用自T2CLK引腳的信號(hào)為源信號(hào)。

          的內(nèi)部時(shí)鐘信號(hào)是經(jīng)2分頻獲得的。若以BAUD-REG表示波特率寄存器的裝載值,那么在同步模式0時(shí),BUAD-REG=XTAL1/(2×波特率)- 1或T2CLK/波特率;而在異步模式1、2和3時(shí),其BAUD-REG=XTAL1/(16×波特率)-1或T2CLK/(8×波特率)。

          的通信方式設(shè)定為異步方式1時(shí),可進(jìn)行全雙工通訊,其格式為每10位構(gòu)成一串行幀,其中包括1位起始位,8位數(shù)據(jù)位和1位停止位。

          在本系統(tǒng)中,80C196KB的晶振為12MHz,因此,為使波特率達(dá)到9600,需將波特率寄存器賦值為804EH。

          表2列出了采用XTAL1作為時(shí)鐘源時(shí),異步模式下一些常用波特率所對(duì)應(yīng)的波特率寄存器值。應(yīng)注意,表中所列的值是根據(jù)上述公式計(jì)算所得的值再加上最高位“1”后得到的。

          表2 常用波特率對(duì)應(yīng)的波特率寄存器值
          57.jpg

          3.2 上位機(jī)部分

          微機(jī)數(shù)據(jù)采集系統(tǒng)中的一個(gè)關(guān)鍵問題是要在Windows環(huán)境下編寫相應(yīng)的通信程序。Windows應(yīng)用編程接口(API)所提供的有關(guān)串行通訊的16個(gè)函數(shù)可以實(shí)現(xiàn)完整的通訊功能,但其應(yīng)用較為復(fù)雜。而VB中有一個(gè)通訊控件MSComm,通過改變其屬性設(shè)置和編寫相應(yīng)的程序,就能在Windows環(huán)境下方便地實(shí)現(xiàn)不同用戶的串行通訊要求。

          利用下面的語(yǔ)句可以方便地設(shè)置傳輸波特率,MSComm1.Settings=“9600,N,8,1”

          表明波特率為9600,無(wú)奇偶校驗(yàn)位,8位數(shù)據(jù)位,1位停止位。

          4 80C196KB和中央控制機(jī)的通訊

          在本系統(tǒng)中,下位機(jī)為主叫端,上位機(jī)為應(yīng)答端,它們通過公用電話網(wǎng)進(jìn)行數(shù)據(jù)傳輸。其數(shù)據(jù)鏈路的建立、數(shù)據(jù)傳輸及結(jié)束通信的全過程如表3所列。

          表3 數(shù)據(jù)傳輸過程表
          58.jpg



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();