使用AT89C51和LM35的攝氏刻度溫度計
本項目展示了使用LM35溫度傳感器和AT89C51微控制器的攝氏刻度溫度計的設計、開發和操作。該電路包含模擬溫度傳感器LM35,它的優點是提供與攝氏溫度成正比的輸出,而不需要進行校準。
該項目還包括8位模數轉換器ADC0804,它使用逐次逼近的轉換技術。ADC0804由單片機控制,單片機處理其輸出,在LCD顯示器上顯示結果溫度讀數。這篇文章詳細介紹了單片機程序、電路設計和電路操作。
電路背后的原理
該電路的工作原理是模擬到數字的轉換。溫度由模擬溫度傳感器(LM35)感知,這個模擬值通過ADC(ADC0804)轉換為數字值。然后由一個微控制器(AT89C51)處理數字信號,在顯示屏幕(16×2 LCD)上顯示攝氏溫度讀數。
攝氏刻度溫度計的電路圖
所需元件
8051微控制器(AT89C51)
8051開發板
8051編程器
16 x 2 LCD顯示器
10KΩ電位器
adc0804 - adc ic
10KΩ 電阻器 (1/4 瓦)
150pF電容(陶瓷盤型) - 代碼: 151
LM35 - 溫度傳感器
連接線
電源
Keil μVision IDE
威勒軟件
如果你沒有8051開發板,你可能需要以下組件
11.0592 MHz 石英晶體
2個33pF電容
2個10KΩ電阻(1/4瓦)
10μF電容(極化)。
按鍵
攝氏刻度溫度計電路設計
電路設計主要包括設計單片機電路,將ADC、LM35和LCD與單片機AT89C51接口。
單片機電路設計
振蕩器電路。振蕩器電路包括一個振蕩頻率為11.0592 MHz的晶體振蕩器和兩個陶瓷電容,每個電容為33pF,以確保穩定性。
復位電路。復位電路的設計是使用一個按鈕,一個10KΩ的電阻和一個10μF的電解質電容,以確保復位脈沖寬度為100ms,復位電壓為1.2V。
EA引腳:由于我們沒有使用任何外部存儲器,EA引腳使用一個10KΩ電阻被拉高。
連接ADC和LM35
LM35溫度傳感器IC和ADC0804 ADC IC構成了電路的輸入部分。LM35由三個引腳組成。LM35的VOUT與ADC0804集成電路的模擬輸入引腳VIN(+)(引腳6)相連。
ADC0804的第20針(VCC)連接到+5V電源。ADC0804的1、2、7、8和10腳(CS'、RD'、VIN(-)、AGND和GND)連接到GND。ADC0804的時鐘引腳CLKR和CLKIN(引腳19和4)之間連接了一個10KΩ電阻。一個150pF的陶瓷電容連接在CLKIN(針腳4)和GND之間。引腳3和5即WR'和INTR'被連接在一起。
ADC0804的8個數據輸出引腳DB0-DB7(引腳11-18)被連接到8051微控制器的PORT2引腳。
連接LCD
RS、RW和EN引腳分別連接到端口引腳P3.6、GND和P3.7。數據引腳連接到微控制器的PORT1。
攝氏刻度溫度計電路的工作原理
環境溫度由LM35溫度傳感器感知,它產生的輸出電壓與溫度成正比,速度為每攝氏度10mV。這個模擬電壓被送入模數轉換器(ADC0804),這是一個基于逐次逼近轉換原理的8位ADC。
模數轉換器ADC0804被配置為連續讀取輸入的模擬信號,并在其數字輸出引腳連續產生數字輸出。為了使ADC0804連續讀取模擬輸入值,我們需要將INTR'引腳和WR'引腳連接起來。同時,為了使數字數據在ADC0804的數字輸出引腳上持續可用,CS'和RD'引腳必須被拉低。
模數轉換器不斷地從LM35獲取模擬信號并將其轉換為數字值。ADC0804的數字輸出是8位二進制數據的形式,這些數據也是連續可用的。
8051微控制器接受這些數字數據并進行簡單的數學計算。這個計算將把從ADC0804收到的數字數據轉換成攝氏度的溫度。
現在,微控制器將把這個數據發送到LCD上并顯示出來。由于ADC不斷從LM35溫度傳感器中讀取模擬數據,并通過數字引腳將其發送給微控制器,溫度將隨時更新,并在LCD上顯示。
編寫攝氏刻度溫度計的電路代碼的算法步驟
以下是用C語言編寫代碼時需要遵循的算法。
從ADC0804讀取數據。
對收到的數據進行一個小的計算。
通過發送適當的命令來初始化LCD。
向LCD發送包含溫度讀數的數據
攝氏刻度溫度計電路的應用
它可以用在像汽車這樣的移動場所,以保持溫度的跟蹤。
它可以用來控制負載的開關,如電機,基于溫度的加熱器。
它也可用于家庭,以獲得溫度讀數。
該電路的局限性
它需要額外的模擬到數字轉換。
這個電路只能測量攝氏度的數值。
評論