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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于凌陽(yáng)SP-CEA061A單片機(jī)的頻率計(jì)設(shè)計(jì)方案

          基于凌陽(yáng)SP-CEA061A單片機(jī)的頻率計(jì)設(shè)計(jì)方案

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

          1 引言

          是反映信號(hào)特性的基本參量之一,測(cè)量在應(yīng)用電子技術(shù)領(lǐng)域有著重要的地位,數(shù)字化處理技術(shù)使得測(cè)量?jī)x器設(shè)備功能完美,但數(shù)字處理的實(shí)時(shí)性受到處理速度的限制,實(shí)時(shí)測(cè)量對(duì)電路的處理速度要求越來(lái)越高,目前的微控處理芯片發(fā)展速度,出現(xiàn)諸如DSP,F(xiàn)PJA等不同領(lǐng)域的應(yīng)用芯片。

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

          作為主要應(yīng)用于數(shù)字語(yǔ)音領(lǐng)域的,有著豐富的硬件資源、可低于3V的工作電壓、較低的功耗和高達(dá)約50MHz的時(shí)鐘工作,相對(duì)于通用的51系列、96系列等,無(wú)疑有更佳的性能。特別是SPCE061A內(nèi)置32k字FLASH存儲(chǔ)器、多時(shí)基選擇定時(shí)器、兩路D/A轉(zhuǎn)換器和一路A/D轉(zhuǎn)換器,使他在便攜式測(cè)量?jī)x器中應(yīng)用更有前景。

          2 硬件資源配置

          該頻率計(jì)能測(cè)量1Hz-20MHz以上頻率的脈沖信號(hào),具有較寬的測(cè)量范圍,最高輸出4位有效顯示值,采用4位BCD七段顯示碼動(dòng)態(tài)掃描輸出。其工作框圖見(jiàn)圖1。圖中顯示部分采用數(shù)碼管需增加驅(qū)動(dòng)電路擴(kuò)大驅(qū)動(dòng)電流,用以保護(hù)SPCEA061A。



          設(shè)置SPCEA061A的工作時(shí)鐘頻率fCPU=fOC=24.576MHz為。利用定時(shí)器B(TimerB)定時(shí)時(shí)間作為頻率測(cè)量的時(shí)基,定時(shí)1S,100ms,10ms,1ms,0.1ms五檔的脈沖計(jì)數(shù)時(shí)間,定時(shí)器B的時(shí)鐘源和預(yù)置寄存器載入數(shù)據(jù)見(jiàn)標(biāo)表1,考慮程序工作存在延時(shí)存在計(jì)數(shù)誤差,高檔位的預(yù)置寄存器數(shù)據(jù)應(yīng)根據(jù)實(shí)際情況適當(dāng)調(diào)整校準(zhǔn)。定時(shí)器A(TimerA)10ms、作為頻率測(cè)量計(jì)數(shù)器,被測(cè)信號(hào)從SPCEA061A的I/O端口B口的IOB2輸入。TimerA和TimerB采用FIQ中斷工作模式。

          設(shè)置I/O端口A口的低7位IOA0-IOA6輸出BCD七段顯示碼,IOA7輸出小數(shù)點(diǎn)。IOA8-IOA10分別輸出Hz,kHz,MHz測(cè)量單位指示。IOA12-IOA15為動(dòng)態(tài)掃描輸出端口,循環(huán)選擇4位數(shù)碼管,此時(shí)A口的低8位IOA0-IOA7輸出對(duì)應(yīng)數(shù)字的BCD七段顯示碼。顯示碼輸出采用中斷



          3 測(cè)量處理流程

          頻率測(cè)量的控制和數(shù)據(jù)處理由SPCE061A通過(guò)程序完成,圖2為主程序的流程圖。



          對(duì)進(jìn)行初始化開(kāi)始頻率測(cè)量,首先對(duì)測(cè)量結(jié)果進(jìn)行判斷當(dāng)前的測(cè)量量程是否合適;4位顯示數(shù)據(jù)范圍是1000-9999,大于9999判斷為超量程,而小于1000為欠量程;根據(jù)測(cè)量結(jié)果的判斷依次增加(超量程)和減少(欠量程)測(cè)量時(shí)間檔位,并設(shè)置數(shù)據(jù)相應(yīng)的小數(shù)點(diǎn)位置和單位。對(duì)量程合適(1000-9999范圍)的結(jié)果進(jìn)行二進(jìn)制到十進(jìn)制的轉(zhuǎn)換并譯碼成七段顯示碼,加入小數(shù)點(diǎn)顯示位和單位指示位形成顯示碼。

          顯示數(shù)據(jù)刷新時(shí)間是顯示結(jié)果更新的時(shí)間間隔。為了能較好地觀測(cè)到穩(wěn)定的顯示數(shù)據(jù),一般設(shè)為0.5s左右更新顯示數(shù)據(jù)。通過(guò)對(duì)IRQ4的1024Hz中斷響應(yīng)進(jìn)行計(jì)數(shù)5000次可獲得約0.5s的顯示數(shù)據(jù)刷新時(shí)間。在內(nèi)部RAM中開(kāi)辟兩個(gè)顯示碼存儲(chǔ)緩沖區(qū),一個(gè)用于存儲(chǔ)當(dāng)前正在譯碼的顯示碼,一個(gè)用于存儲(chǔ)正在輸出的顯示碼。查詢顯示數(shù)據(jù)刷新時(shí)間寄存計(jì)數(shù)器,當(dāng)刷新時(shí)間到時(shí),只要互換2個(gè)顯示碼存儲(chǔ)緩沖區(qū)的首地址就能達(dá)到1個(gè)指令就能更換多個(gè)數(shù)據(jù)的目的,避免由于中斷而造成顯示數(shù)據(jù)出現(xiàn)不一致的狀況。更換完顯示數(shù)據(jù)后接著啟動(dòng)計(jì)數(shù)器TimerA和TimerB進(jìn)行下一次的測(cè)量,頻率計(jì)每約0.5s測(cè)量一次,避免在高頻測(cè)量時(shí)由于測(cè)量時(shí)間短而造成TimerA和TimerB頻率中斷占用系統(tǒng)資源。TimerA和TimerB在FIQ中斷處理程序中,自動(dòng)設(shè)置停止計(jì)數(shù),等待啟動(dòng)狀態(tài)。

          SPCE061A有豐富的中斷源,本系統(tǒng)使用了3個(gè)中斷源:FIQ_TMA,F(xiàn)IQ_TMB和_IRQ4。FIQ用于頻率測(cè)量,_IRQ4用于動(dòng)態(tài)掃描顯示。

          圖3所示為頻率計(jì)數(shù)測(cè)量FIQ中斷處理程序流程圖。


          上一頁(yè) 1 2 下一頁(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); })();