簡(jiǎn)單的溫度指示器使用基于RISC的MCU

發(fā)布時(shí)間:2010-11-3 19:34    發(fā)布者:techshare
關(guān)鍵詞: MCU , RISC , 溫度指示器
非常簡(jiǎn)單的溫度指示器可以在8位RISC微控制器周?chē)鷺嫿?參見(jiàn)圖)。來(lái)自溫度感應器的數據由MCU處理并且用于顯示溫度。在本電路中使用的MAX6577溫度感應器可以測量范圍在-40°C至125°C之間的溫度。它幾乎不需要其他外部元件。

這個(gè)感應器可以將溫度轉換成其輸出信號頻率與絕對溫度(K)成比例的方形波。如果這個(gè)頻率已經(jīng)測量出來(lái)了,計算溫度就會(huì )變得相當容易。這可以通過(guò)不同的時(shí)間測量電路或者M(jìn)CU中提供的定時(shí)器來(lái)實(shí)現。

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

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

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



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

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

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

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

可以方便地進(jìn)行修改本軟件,從而顯示從-40°C至125°C這個(gè)完整范圍內的溫度,或者以華氏度顯示數據。還可以修改這個(gè)軟件以顯示輸入信號的頻率。
本文地址:http://selenalain.com/thread-36114-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页