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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MCU的鎖相環(huán)鎖定時(shí)間測(cè)量系統(tǒng)設(shè)計(jì)

          基于MCU的鎖相環(huán)鎖定時(shí)間測(cè)量系統(tǒng)設(shè)計(jì)

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

          3.2 下位機(jī)
          單片機(jī)中的下位機(jī)負(fù)責(zé)控制鎖。流程圖如圖5所示。

          本文引用地址:http://www.ex-cimer.com/article/171566.htm

          d.JPG


          下位機(jī)也是一個(gè)前后臺(tái),在一個(gè)死循環(huán)內(nèi)等待各中斷響應(yīng)。在單片機(jī)向鎖發(fā)送完控制數(shù)據(jù)后開啟外部中斷,若有外部中斷響應(yīng)則在中斷服務(wù)程序中讀取定時(shí)器的值,即為,中斷結(jié)束后將定時(shí)器清零,以便再次;若當(dāng)定時(shí)器溢出時(shí)仍未收到外部中斷,表明鎖未能,則發(fā)送未鎖定信息給上位機(jī)。這里設(shè)置了3個(gè)中斷向量分別為外部中斷、定時(shí)器T0中斷、串口中斷。在默認(rèn)情況下它們的中斷優(yōu)先級(jí)依次從高到低,為防止不必要的中斷嵌套,在響應(yīng)其中一個(gè)中斷服務(wù)時(shí)應(yīng)將另兩個(gè)中斷關(guān)掉,中斷服務(wù)結(jié)束后再開啟。
          AT89C51有兩路定時(shí)/計(jì)數(shù)器T0,T1。本中T1用來(lái)設(shè)置串口的波特率,串口有4種工作方式,本文使用方式1,即8位異步通信接口,一幀數(shù)據(jù)有10位,1位起始位,一位停止位。T0用來(lái)鎖定,T0定時(shí)器使用時(shí)鐘的12分頻作為時(shí)鐘源,將T0配置為16位定時(shí)器模式,所以環(huán)路鎖定時(shí)間可由下式確定,單位為μs。
          T=(TH0×256+TL0)×Tosc×12 (1)
          式中:TH0,TL0分別是在外部中斷服務(wù)程序中讀到的定時(shí)器T0的數(shù)據(jù)寄存器高8和低8位;Tosc是單片機(jī)外接晶振的振蕩周期,本文外接晶振為12 MHz,即為1/12μs,因此本系統(tǒng)可實(shí)現(xiàn)精度為1μs的時(shí)間測(cè)量。根據(jù)圖2所示的時(shí)序圖,單片機(jī)向鎖相環(huán)發(fā)送控制數(shù)據(jù)的子程序如下:
          f.JPG
          g.JPG

          4 結(jié)語(yǔ)
          本文采用MFC、串口、AT89C51所的測(cè)量系統(tǒng)能準(zhǔn)確測(cè)量鎖相環(huán)的鎖定時(shí)間,精度達(dá)到1μs;并且有很強(qiáng)的通用性,能兼容常見的各類鎖相環(huán)芯片。系統(tǒng)上位機(jī)的人機(jī)操作界友好,硬件電路結(jié)構(gòu)簡(jiǎn)單。

          接地電阻相關(guān)文章:接地電阻測(cè)試方法



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

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