陳龍
摘要:介紹了數字式溫度計設計方法,采用溫度傳感器LM35對環境溫度進行采集,利用ADC0804芯片進行模擬信號與數字信號轉換,單片機將輸入的信號經行內部計算處理,最后將溫度值通過數碼管顯示出來。
關鍵詞:溫度測量 數碼顯示 溫度傳感器LM35
中圖分類號:TH811 文獻標識碼:A 文章編號:1007-9416(2014)08-0155-02
傳統的水銀玻璃溫度計,利用液體的熱膨脹原理制造的,溫度計中含有水銀,若破損對人體造成傷害及對周圍環境造成影響。電子溫度計完全克服了傳統溫度計的缺點,具有讀數方便、測量時間短、測量精度高等優點。它是利用溫度傳感器將溫度信號轉化為電信號,通過CPU進行信號處理,最后通過數碼顯示出溫度值的。
1 方案設計
數字式溫度計包括溫度采集、A/D轉換、CPU處理、數碼顯示四大模塊組成,系統框圖如圖1所示。其中溫度采集模塊采用溫度傳感器LM35實現,A/D轉換模塊采用ADC0804實現,CPU處理模塊采用AT89S52實現,數碼顯示模塊采用共陽數碼管動態顯示實現。
2 系統設計
2.1 溫度采集
LM35溫度傳感器 1腳接電源VCC,3腳接地GND,2腳為模擬量輸出端,經一阻值為100Ω的電阻緩沖對外輸出。2腳輸出端接一RC串聯回路,起到緩沖作用。模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV。溫度范圍為0℃~128℃。
2.2 A/D(模擬/數字)轉換器
溫度傳感器輸出的模擬信號經取樣放大后,應傳送到單片機內做數據處理,但是單片機只能對數字信號進行處理,不能對模擬量進行處理。因此需要將模擬信號轉換原理為與之對應的數字信號,采用A/D(模擬/數字)轉換器ADC0804。圖2為模擬數字轉換電路圖。(1)Vin(+)6腳為模擬量輸入端,由溫度傳感器LM35提供信號,Vin(-)接地;(2)CLKR19腳、CLKIN4腳按照典型接法連接,為ADC0804提供時鐘脈沖;(3)CS接地,片選端有效,芯片啟動工作;RD接地,讀信號有效,可讀取轉換輸出數據;(4)NTR、WR同時接到單片機控制信號,由單片機控制,當INTR、WR同時為低電平時,啟動轉換,當INTR、WR同時為高電平時,保持前一周期狀態;(5)Vref/2 9腳為1/2參考電壓,參考電壓由溫度傳感器LM35的參數有關,由于LM35溫度范圍是0℃~128℃,模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV,對應參考電壓應為1.28V,因此Vref/2 9腳的電壓應為0.64V,硬件電路采用分壓電阻實現,運算放大器反向輸入端與輸出端相連,接成同向比例放大器,放大倍數是1,沒有放大作用,是用來提高輸入電阻,放大器輸出0.64V送給Vref/2。(6)DB7~DB0為八位數據輸出端,直接傳送到單片機內。由于ADC0804是8位數據輸出,因此它的分辨率為1/256,即數據從00000000~11111111。由于溫度傳感器LM35的參考電壓為1.28V,數據分辨率為1.28/256,八位數據從00000000變為00000001時,模擬量從0V變為0.005V,當八位數據是11111111時,對應模擬量為1.28V。
2.3 CPU處理
選擇用AT89S52單片機作為本次設計的核心,它具有ISP在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。程序流程:開始>>數據采集>>數據轉換>>顯示輸出。圖3為單片機控制電路圖。
(1)RXD10腳為A/D轉換器控制端,輸出高、低信號控制A/D轉換芯片進行數據轉換;(2)P1.0~P1.7為A/D轉換器數據輸入端,輸入8位數據信號;(3)P0.0~P0.7為數碼管數碼編碼輸出端,由于數碼管選用是共陽極數碼管,即給低電平對應某段發光。若顯示0,P0輸出十六進制數為40H;(4)P2.6、P2.7為數碼管位選端。由于數碼管采用的動態掃描方式,P2.6對應是兩位數碼管中的個位顯示,P2.7對應是兩位數碼管中的十位顯示。P2.7、P2.6采用組合01時,選通個位數碼管,P0口發出對應的數據段碼,個位數碼管顯示數據;組合10時,選通十位數碼管,P0口發出對應的數據段碼,十位數碼管顯示數據。
2.4 數碼顯示
本次設計數碼顯示采用七段數碼管作為輸出顯示器件。顯示方式采用動態,方法是采用位掃描方式,對數碼管字形和字位兩種輸出控制。每一時刻只有一個字形和一個字位被選中輸出。選中字位信號使該位為當前顯示位,字形輸出只對選中位有效,便實現了該位內容的顯示,同時未選中的位不能顯示,處于熄滅狀態。各位依次輪流顯示,每位顯示都保持一段相同的時間,每個字位選中時中送入對應的字形的數據,可以實現多位不同的數字顯示。利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。
3 系統測試
3.1 測試儀器
水銀溫度計、數字式溫度計、加熱棒。
3.2 測試方法
將水銀溫度計與數字溫度計同時接近加熱棒,觀察溫度計的變化。
3.3 測試出現問題及解決方法
(1)數碼管顯示的溫度值比實際的溫度值低1℃,我們經過實踐發現有兩種解決的辦法:一種是通過軟件補償的方法,將初始值0℃對應的“00000000”改為“00000001”,整體顯示值提高1℃;另一種是調節ADC0804的參考電壓Vref/2,改變它也可以調整溫度顯示值。(2)數碼管亮度不夠,數碼管的位選端的電流過小,解決辦法是位選端加三極管驅動電路。
4 結語
溫度是一種隨時間而變化的模擬量,數字式溫度計利用溫度傳感器對溫度進行采集,然后將溫度值顯示出來,測量時間短、大幅度提高被測對象溫度的精度指標,也可被制作成探測頭遠距離操作,應用廣泛。
參考文獻
[1]王靜霞.單片機應用技術[M].北京:電子工業出版社,2012.endprint
摘要:介紹了數字式溫度計設計方法,采用溫度傳感器LM35對環境溫度進行采集,利用ADC0804芯片進行模擬信號與數字信號轉換,單片機將輸入的信號經行內部計算處理,最后將溫度值通過數碼管顯示出來。
關鍵詞:溫度測量 數碼顯示 溫度傳感器LM35
中圖分類號:TH811 文獻標識碼:A 文章編號:1007-9416(2014)08-0155-02
傳統的水銀玻璃溫度計,利用液體的熱膨脹原理制造的,溫度計中含有水銀,若破損對人體造成傷害及對周圍環境造成影響。電子溫度計完全克服了傳統溫度計的缺點,具有讀數方便、測量時間短、測量精度高等優點。它是利用溫度傳感器將溫度信號轉化為電信號,通過CPU進行信號處理,最后通過數碼顯示出溫度值的。
1 方案設計
數字式溫度計包括溫度采集、A/D轉換、CPU處理、數碼顯示四大模塊組成,系統框圖如圖1所示。其中溫度采集模塊采用溫度傳感器LM35實現,A/D轉換模塊采用ADC0804實現,CPU處理模塊采用AT89S52實現,數碼顯示模塊采用共陽數碼管動態顯示實現。
2 系統設計
2.1 溫度采集
LM35溫度傳感器 1腳接電源VCC,3腳接地GND,2腳為模擬量輸出端,經一阻值為100Ω的電阻緩沖對外輸出。2腳輸出端接一RC串聯回路,起到緩沖作用。模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV。溫度范圍為0℃~128℃。
2.2 A/D(模擬/數字)轉換器
溫度傳感器輸出的模擬信號經取樣放大后,應傳送到單片機內做數據處理,但是單片機只能對數字信號進行處理,不能對模擬量進行處理。因此需要將模擬信號轉換原理為與之對應的數字信號,采用A/D(模擬/數字)轉換器ADC0804。圖2為模擬數字轉換電路圖。(1)Vin(+)6腳為模擬量輸入端,由溫度傳感器LM35提供信號,Vin(-)接地;(2)CLKR19腳、CLKIN4腳按照典型接法連接,為ADC0804提供時鐘脈沖;(3)CS接地,片選端有效,芯片啟動工作;RD接地,讀信號有效,可讀取轉換輸出數據;(4)NTR、WR同時接到單片機控制信號,由單片機控制,當INTR、WR同時為低電平時,啟動轉換,當INTR、WR同時為高電平時,保持前一周期狀態;(5)Vref/2 9腳為1/2參考電壓,參考電壓由溫度傳感器LM35的參數有關,由于LM35溫度范圍是0℃~128℃,模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV,對應參考電壓應為1.28V,因此Vref/2 9腳的電壓應為0.64V,硬件電路采用分壓電阻實現,運算放大器反向輸入端與輸出端相連,接成同向比例放大器,放大倍數是1,沒有放大作用,是用來提高輸入電阻,放大器輸出0.64V送給Vref/2。(6)DB7~DB0為八位數據輸出端,直接傳送到單片機內。由于ADC0804是8位數據輸出,因此它的分辨率為1/256,即數據從00000000~11111111。由于溫度傳感器LM35的參考電壓為1.28V,數據分辨率為1.28/256,八位數據從00000000變為00000001時,模擬量從0V變為0.005V,當八位數據是11111111時,對應模擬量為1.28V。
2.3 CPU處理
選擇用AT89S52單片機作為本次設計的核心,它具有ISP在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。程序流程:開始>>數據采集>>數據轉換>>顯示輸出。圖3為單片機控制電路圖。
(1)RXD10腳為A/D轉換器控制端,輸出高、低信號控制A/D轉換芯片進行數據轉換;(2)P1.0~P1.7為A/D轉換器數據輸入端,輸入8位數據信號;(3)P0.0~P0.7為數碼管數碼編碼輸出端,由于數碼管選用是共陽極數碼管,即給低電平對應某段發光。若顯示0,P0輸出十六進制數為40H;(4)P2.6、P2.7為數碼管位選端。由于數碼管采用的動態掃描方式,P2.6對應是兩位數碼管中的個位顯示,P2.7對應是兩位數碼管中的十位顯示。P2.7、P2.6采用組合01時,選通個位數碼管,P0口發出對應的數據段碼,個位數碼管顯示數據;組合10時,選通十位數碼管,P0口發出對應的數據段碼,十位數碼管顯示數據。
2.4 數碼顯示
本次設計數碼顯示采用七段數碼管作為輸出顯示器件。顯示方式采用動態,方法是采用位掃描方式,對數碼管字形和字位兩種輸出控制。每一時刻只有一個字形和一個字位被選中輸出。選中字位信號使該位為當前顯示位,字形輸出只對選中位有效,便實現了該位內容的顯示,同時未選中的位不能顯示,處于熄滅狀態。各位依次輪流顯示,每位顯示都保持一段相同的時間,每個字位選中時中送入對應的字形的數據,可以實現多位不同的數字顯示。利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。
3 系統測試
3.1 測試儀器
水銀溫度計、數字式溫度計、加熱棒。
3.2 測試方法
將水銀溫度計與數字溫度計同時接近加熱棒,觀察溫度計的變化。
3.3 測試出現問題及解決方法
(1)數碼管顯示的溫度值比實際的溫度值低1℃,我們經過實踐發現有兩種解決的辦法:一種是通過軟件補償的方法,將初始值0℃對應的“00000000”改為“00000001”,整體顯示值提高1℃;另一種是調節ADC0804的參考電壓Vref/2,改變它也可以調整溫度顯示值。(2)數碼管亮度不夠,數碼管的位選端的電流過小,解決辦法是位選端加三極管驅動電路。
4 結語
溫度是一種隨時間而變化的模擬量,數字式溫度計利用溫度傳感器對溫度進行采集,然后將溫度值顯示出來,測量時間短、大幅度提高被測對象溫度的精度指標,也可被制作成探測頭遠距離操作,應用廣泛。
參考文獻
[1]王靜霞.單片機應用技術[M].北京:電子工業出版社,2012.endprint
摘要:介紹了數字式溫度計設計方法,采用溫度傳感器LM35對環境溫度進行采集,利用ADC0804芯片進行模擬信號與數字信號轉換,單片機將輸入的信號經行內部計算處理,最后將溫度值通過數碼管顯示出來。
關鍵詞:溫度測量 數碼顯示 溫度傳感器LM35
中圖分類號:TH811 文獻標識碼:A 文章編號:1007-9416(2014)08-0155-02
傳統的水銀玻璃溫度計,利用液體的熱膨脹原理制造的,溫度計中含有水銀,若破損對人體造成傷害及對周圍環境造成影響。電子溫度計完全克服了傳統溫度計的缺點,具有讀數方便、測量時間短、測量精度高等優點。它是利用溫度傳感器將溫度信號轉化為電信號,通過CPU進行信號處理,最后通過數碼顯示出溫度值的。
1 方案設計
數字式溫度計包括溫度采集、A/D轉換、CPU處理、數碼顯示四大模塊組成,系統框圖如圖1所示。其中溫度采集模塊采用溫度傳感器LM35實現,A/D轉換模塊采用ADC0804實現,CPU處理模塊采用AT89S52實現,數碼顯示模塊采用共陽數碼管動態顯示實現。
2 系統設計
2.1 溫度采集
LM35溫度傳感器 1腳接電源VCC,3腳接地GND,2腳為模擬量輸出端,經一阻值為100Ω的電阻緩沖對外輸出。2腳輸出端接一RC串聯回路,起到緩沖作用。模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV。溫度范圍為0℃~128℃。
2.2 A/D(模擬/數字)轉換器
溫度傳感器輸出的模擬信號經取樣放大后,應傳送到單片機內做數據處理,但是單片機只能對數字信號進行處理,不能對模擬量進行處理。因此需要將模擬信號轉換原理為與之對應的數字信號,采用A/D(模擬/數字)轉換器ADC0804。圖2為模擬數字轉換電路圖。(1)Vin(+)6腳為模擬量輸入端,由溫度傳感器LM35提供信號,Vin(-)接地;(2)CLKR19腳、CLKIN4腳按照典型接法連接,為ADC0804提供時鐘脈沖;(3)CS接地,片選端有效,芯片啟動工作;RD接地,讀信號有效,可讀取轉換輸出數據;(4)NTR、WR同時接到單片機控制信號,由單片機控制,當INTR、WR同時為低電平時,啟動轉換,當INTR、WR同時為高電平時,保持前一周期狀態;(5)Vref/2 9腳為1/2參考電壓,參考電壓由溫度傳感器LM35的參數有關,由于LM35溫度范圍是0℃~128℃,模擬量輸出端0℃時對應的輸出為0V,溫度每升高1℃,對應輸出端電壓增加10.0mV,對應參考電壓應為1.28V,因此Vref/2 9腳的電壓應為0.64V,硬件電路采用分壓電阻實現,運算放大器反向輸入端與輸出端相連,接成同向比例放大器,放大倍數是1,沒有放大作用,是用來提高輸入電阻,放大器輸出0.64V送給Vref/2。(6)DB7~DB0為八位數據輸出端,直接傳送到單片機內。由于ADC0804是8位數據輸出,因此它的分辨率為1/256,即數據從00000000~11111111。由于溫度傳感器LM35的參考電壓為1.28V,數據分辨率為1.28/256,八位數據從00000000變為00000001時,模擬量從0V變為0.005V,當八位數據是11111111時,對應模擬量為1.28V。
2.3 CPU處理
選擇用AT89S52單片機作為本次設計的核心,它具有ISP在線編程功能,這個功能的優勢在于改寫單片機存儲器內的程序不需要把芯片從工作環境中剝離。程序流程:開始>>數據采集>>數據轉換>>顯示輸出。圖3為單片機控制電路圖。
(1)RXD10腳為A/D轉換器控制端,輸出高、低信號控制A/D轉換芯片進行數據轉換;(2)P1.0~P1.7為A/D轉換器數據輸入端,輸入8位數據信號;(3)P0.0~P0.7為數碼管數碼編碼輸出端,由于數碼管選用是共陽極數碼管,即給低電平對應某段發光。若顯示0,P0輸出十六進制數為40H;(4)P2.6、P2.7為數碼管位選端。由于數碼管采用的動態掃描方式,P2.6對應是兩位數碼管中的個位顯示,P2.7對應是兩位數碼管中的十位顯示。P2.7、P2.6采用組合01時,選通個位數碼管,P0口發出對應的數據段碼,個位數碼管顯示數據;組合10時,選通十位數碼管,P0口發出對應的數據段碼,十位數碼管顯示數據。
2.4 數碼顯示
本次設計數碼顯示采用七段數碼管作為輸出顯示器件。顯示方式采用動態,方法是采用位掃描方式,對數碼管字形和字位兩種輸出控制。每一時刻只有一個字形和一個字位被選中輸出。選中字位信號使該位為當前顯示位,字形輸出只對選中位有效,便實現了該位內容的顯示,同時未選中的位不能顯示,處于熄滅狀態。各位依次輪流顯示,每位顯示都保持一段相同的時間,每個字位選中時中送入對應的字形的數據,可以實現多位不同的數字顯示。利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。
3 系統測試
3.1 測試儀器
水銀溫度計、數字式溫度計、加熱棒。
3.2 測試方法
將水銀溫度計與數字溫度計同時接近加熱棒,觀察溫度計的變化。
3.3 測試出現問題及解決方法
(1)數碼管顯示的溫度值比實際的溫度值低1℃,我們經過實踐發現有兩種解決的辦法:一種是通過軟件補償的方法,將初始值0℃對應的“00000000”改為“00000001”,整體顯示值提高1℃;另一種是調節ADC0804的參考電壓Vref/2,改變它也可以調整溫度顯示值。(2)數碼管亮度不夠,數碼管的位選端的電流過小,解決辦法是位選端加三極管驅動電路。
4 結語
溫度是一種隨時間而變化的模擬量,數字式溫度計利用溫度傳感器對溫度進行采集,然后將溫度值顯示出來,測量時間短、大幅度提高被測對象溫度的精度指標,也可被制作成探測頭遠距離操作,應用廣泛。
參考文獻
[1]王靜霞.單片機應用技術[M].北京:電子工業出版社,2012.endprint