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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 游標(biāo)磁尺的設(shè)計(jì)與實(shí)現(xiàn)

          游標(biāo)磁尺的設(shè)計(jì)與實(shí)現(xiàn)

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

          從界面圖中可以看到“父窗口”包含參數(shù)初始化和數(shù)據(jù)顯示兩個(gè)“子窗口”。參數(shù)初始化窗口主要負(fù)責(zé)設(shè)置端口、波特率、數(shù)據(jù)格式、和數(shù)據(jù)的接收方式;數(shù)據(jù)顯示窗口負(fù)責(zé)數(shù)據(jù)的處理和顯示。顯示平臺的使用在相應(yīng)的窗口中均有說明。沒有霍爾元件動作時(shí),顯示界面中的數(shù)據(jù)顯示區(qū)初始化顯示為…*hhCR>LF>。有霍爾元件動作時(shí),顯示界面實(shí)時(shí)顯示其動作的情況。該平臺使用簡單,極易操作。
          4.1.3 MSComm控件的程序
          Visual Basic串行通信程序時(shí)依然遵循四個(gè)主要步驟,分別是對象、屬性、事件和方法。因此,第一步是添加控件。由于Visual Basic的串行通信控件不在工具箱中,當(dāng)使用MSComm控件時(shí),首先要把它加入到工具箱中。添加步驟是:選擇“工程”菜單下的“部件…”子菜單,在彈出的“部件”對話框中,在“控件”選項(xiàng)卡屬性中選中“MicrosoftCommControl 6.0”復(fù)選框,然后單擊“確定”按鈕后,在工具箱中就出現(xiàn)了一個(gè)形似“電話”的圖標(biāo),它就是MSComm控件。在窗體中加載MSComm控件對象。第二步是為MSComm控件的屬性賦值。第三步利用OnComm事件程序來接收上位機(jī)發(fā)來的位置數(shù)據(jù)。由于篇幅限制,在此沒有給
          出相關(guān)程序。
          4.2 部分
          單片機(jī)采用PIC系列單片機(jī)。該單片機(jī)具有指令集少、功耗低和驅(qū)動能力強(qiáng)等特點(diǎn)。單片機(jī)程序使用匯編語言編程,采用其內(nèi)部的異步串口(USART)進(jìn)行串行通信。由于該系統(tǒng)用于遠(yuǎn)距離,故串口通信采用的是的RS 485串口通信標(biāo)準(zhǔn),因此在單片機(jī)的串口端加了一個(gè)半雙工通信的MAX3471芯片。單片機(jī)接收到PC機(jī)發(fā)送來的波特率標(biāo)志值和自身設(shè)定的值比較,然后校正自身的波特率以和PC機(jī)的波特率相匹配。單片機(jī)除了校正自身波特率和發(fā)送相關(guān)信息程序,還要提供獲得霍爾元件動作情況以及位置值等重要程序。圖5是單片機(jī)匯編程序流程圖。為了提高顯示平臺接收數(shù)據(jù)的準(zhǔn)確性,單片機(jī)數(shù)據(jù)采用ASCII字符進(jìn)行傳送。

          以下僅給出串行通信初始化程序代碼:
          串行通信初始化程序?yàn)椋?p>



          評論


          相關(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); })();