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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 簡單的溫度指示器使用基于RISC的MCU

          簡單的溫度指示器使用基于RISC的MCU

          作者: 時(shí)間:2008-12-20 來源:網(wǎng)絡(luò) 收藏

          非常簡單的可以在8位RISC微控制器周圍構(gòu)建(參見圖)。來自溫度感應(yīng)器的數(shù)據(jù)由MCU處理并且用于顯示溫度。在本電路中使用的MAX6577溫度感應(yīng)器可以測(cè)量范圍在-40°C至125°C之間的溫度。它幾乎不需要其他外部元件。
          這個(gè)感應(yīng)器可以將溫度轉(zhuǎn)換成其輸出信號(hào)頻率與絕對(duì)溫度(K)成比例的方形波。如果這個(gè)頻率已經(jīng)測(cè)量出來了,計(jì)算溫度就會(huì)變得相當(dāng)容易。這可以通過不同的時(shí)間測(cè)量電路或者M(jìn)CU中提供的定時(shí)器來實(shí)現(xiàn)。

          這個(gè)電路使用AVR 低成本MCU用來處理感應(yīng)器數(shù)據(jù)和顯示溫度。在其他器件中,這個(gè)MCU配有4千字節(jié)的系統(tǒng)內(nèi)可編程閃存、128字節(jié)的SRAM、128字節(jié)的系統(tǒng)可編程EEPROM、一個(gè)六通道10位ADC、20個(gè)可編程I/O線路、多個(gè)定時(shí)器和一個(gè)UART。

          溫度在三個(gè)共陽極的七段顯示器上顯示。顯示器的各個(gè)段都連結(jié)在一起,在軟件的幫助下對(duì)顯示的數(shù)據(jù)進(jìn)行復(fù)用。這種方法不僅減少了I/O接口線路數(shù),而且還降低了電流要求。

          顯示器連接到MCU的端口D。為顯示溫度讀數(shù),數(shù)據(jù)被鎖存在這個(gè)端口上,且相應(yīng)的顯示器被激活。這可以通過定時(shí)器0來實(shí)現(xiàn),該定時(shí)器被配置具有64預(yù)標(biāo)定因子。只要定時(shí)器0發(fā)生計(jì)數(shù)上溢,就會(huì)產(chǎn)生中斷。定時(shí)器0的ISR鎖存端口D(即顯示器的數(shù)據(jù)總線)上的顯示數(shù)據(jù),并且生成相應(yīng)的信號(hào)來啟用各自的顯示器裝置(在端口B處,并且通過各自的晶體管Q1、Q2或者Q3)。

          溫度測(cè)量使用定時(shí)器1來實(shí)現(xiàn)。定時(shí)器計(jì)數(shù)確定了輸入信號(hào)的脈沖寬度。sensorstatus()子程序重復(fù)檢查感應(yīng)器信號(hào)的邏輯狀態(tài)。一旦檢測(cè)到第一個(gè)上升邊沿,就會(huì)啟用先前在定時(shí)器模式中將預(yù)定標(biāo)因子配置為1的定時(shí)器。然后,當(dāng)檢測(cè)到感應(yīng)器信號(hào)的第一個(gè)下降沿時(shí),就會(huì)停用定時(shí)器。接著,定時(shí)器內(nèi)容就會(huì)被顯示出來,并且可以用于計(jì)算溫度感應(yīng)器信號(hào)的脈沖寬度。定時(shí)器內(nèi)容顯示之后,定時(shí)器就會(huì)被重新初始化為0。一旦信號(hào)的時(shí)間周期已知,即可輕松地算出信號(hào)頻率(fOUT=1/tOUT)。此后就會(huì)檢查數(shù)據(jù)是否超過這個(gè)限制。

          由于輸入信號(hào)是一個(gè)占空比為50%的方波,所以總的脈沖周期為寬度的2倍。因此,溫度的計(jì)算公式為CPU_FREQ/(2×寬度)。然后,從中減去273.15 K即可得到攝氏度溫度。通過執(zhí)行可以處理浮點(diǎn)數(shù)據(jù)的AVR-GCC開發(fā)環(huán)境,將脈沖的時(shí)間周期轉(zhuǎn)換成溫度已經(jīng)變得相當(dāng)簡單。

          要顯示的范圍狀態(tài)和溫度信息通過變量“r”來實(shí)現(xiàn)。一旦定時(shí)器0的ISR處于激活狀態(tài),就會(huì)檢查“r”的值,并且各自的數(shù)據(jù)也會(huì)被鎖存端口D上,這取決于DISPLAY_ON變量的值,這個(gè)變量也可以用來選擇各自的激活的七段顯示器單元。如果輸入數(shù)據(jù)在范圍之內(nèi),則ISR調(diào)用binarytobcd()子程序,這個(gè)子程序可以將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成有效的BCD格式。BCD數(shù)據(jù)(半字節(jié))是根據(jù)激活的七段顯示器單元來分開的,這可以再次通過關(guān)聯(lián)DISPLAY_ON的值來實(shí)現(xiàn)。一旦ISR完成了它的工作,定時(shí)器0就會(huì)被重新初始化為一個(gè)值(Refresh_Val),這個(gè)值將產(chǎn)生下一個(gè)中斷,接著顯示下一數(shù)據(jù),并且不會(huì)引起閃爍。

          本軟件使用AVR-GCC開發(fā)環(huán)境編寫。它可以處理所有的AVR MCU功能,包括不同的中斷、EEPROM、定時(shí)器、UART和ADC等。本軟件被用來編譯C源程序,并生成HEX文件??梢允褂没诓⑿卸丝诘木幊唐?例如uisp)將這個(gè)文件下載到MCU的系統(tǒng)內(nèi)可編程閃存中。

          可以方便地進(jìn)行修改本軟件,從而顯示從-40°C至125°C這個(gè)完整范圍內(nèi)的溫度,或者以華氏度顯示數(shù)據(jù)。還可以修改這個(gè)軟件以顯示輸入信號(hào)的頻率。



          關(guān)鍵詞: AT90S4433 溫度指示器

          評(píng)論


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