導航:首頁 > 操作系統 > 51單片機加熱敏電阻

51單片機加熱敏電阻

發布時間:2023-09-04 23:30:43

❶ 熱敏電阻怎樣連接單片機

如圖:這是負溫熱敏電阻和正溫熱敏電阻的簡單應用圖,將輸出直接接到單片機的DAC埠即可,注意R1電阻是分壓電阻,要和你設計的參考電壓以及你的功耗相匹配,如果要更精確的模擬量,就得接個放大器

❷ 51單片機的熱敏電阻問題

單片機在AD轉換的時候,因模擬電壓稍有波動,轉換的結果就有變化,如果轉換的頻率又高,那麼最低一兩位數總是不穩定的,這很正常。調節模擬電壓,看轉換的數據有無變化,有變化就正常。
可以延時轉換一次,轉換頻率低點。要麼轉換幾十次後取平均值再顯示就好了。

❸ 基於51單片機和熱敏電阻的溫度控制系統

給你個網站
你可以去看一下
http://www.sinochip.net/TechSheet/67.htm

本程序工作過程如下:

;1、開機後首先進行初始化,初始化後顯示「P」1秒,提示系統進入測試工作狀態,顯

; 示完成後,進行溫度測試。

;2、溫度測試的過程是這樣的:

; * T0置為計數方式,對T0腳(即P3.5)的脈沖計數,工作方式2,初值為255

; * 將T1置為定時方式,工作方式2,初值為0

; * 從P3.4口送單穩觸發脈沖,使555輸出單穩脈沖(正脈沖),該脈沖寬度隨熱敏

; 電阻阻值而變化。

; * 開T0、T1中斷,啟動T0、T1。此時T1自動對內部機器周期計數,當TL1溢

; 出時,產生T1中斷。在T1中斷處理程序中,將RAM 21H單元加1(即21H單

; 元存放脈沖寬計數值高位)後返回主程序。

; * 當來自P3.5的單穩脈沖結束(即下降沿到來)時,TL0計數器加1並溢出,產

; 生T0中斷。在T0中斷處理程序中,關T0、T1中斷,並將TL1中的的內容讀

; 到RAM 20H單元(20H單元存放脈寬計數值的低位)。

; * 查表求溫度值

; NTTAB是脈寬計數值與溫度的對照表,按低溫到高溫的次序存放,即第一、第

; 二單元存放-100C時的脈寬計數值,依此類推,第121和122單元則存放+500C

; 時的脈寬計數值。

; 將20H、21H中的計數值與NTTAB中的計數值依次進行比較,直至20H、21H

; 中的值小於NTTAB中的計數值為止。而比較的次數就對應溫度的整數值,二計

; 數值之差與對照表相鄰兩計數值的商即為小數位。

;3、程序中除了對-100C到+500C進行測試外,還有開路(計數值過大)、短路檢測(計

; 數值過小)、負超溫檢測、正超溫檢測,並有相應的顯示。

;4、將檢測值(溫度值或其他結果)顯示1秒,然後再重復溫度檢測。

;需要說明的是:本程序雖包括了測溫的全過程,但未考慮軟硬體的自檢,軟體濾波等部

;分。

;電容C4、熱敏電阻RT的參數決定單穩脈沖的寬度,而最終的計數值除了與單穩

; 脈沖的寬度有關外,還與晶振頻率有關,因而在RT的型號確定後要根據系統對精

; 度和解析度等的要求選擇C4的值。本程序中NTTAB脈寬計數值與溫度對照表是在

; 熱敏電阻為MF53-1型負溫熱敏電阻加12K精密電阻與之並聯,C4為1μ,晶振為

; 4MHz的條件下得到的。數據不十分准,僅做參考。你可以在元件參數定了後,可在

; 調試程序時用可變電阻箱代替熱敏電阻,在程序測出計數值處設斷點,讀出每個標

; 准阻值所對應的計數值(即20H、21H中的內容),自己將NTTAB建立起來。

; * * * * * * * * * * * * * * * * * * * * * * * * * *

; * 用89C2051控制的數字測溫儀 *

; * 源程序清單 *

; * * * * * * * * * * * * * * * * * * * * * * * * * *

ORG 0000H

AJMP MAIN ;轉主程序

ORG 000BH

AJMP WT0 ;T0中斷入口

ORG 001BH

AJMP WT1 ;T1中斷入口

;主程序

ORG 030H

MAIN: MOV IE,#00H ;關中斷

MOV SP,#40H ;設堆棧指針SP為40H

SETB P3.5 ;將P3.5口置」1」

MOV 30H,#0CH ;「P3 」送顯示緩沖區30H~33H

MOV 31H,#0EH

MOV 32H,#0EH

MOV 33H,#0EH

MAIN0: ACALL D1S ;調顯示1秒子程序

MOV P1,#0FFH ;關顯示

CLR 20H ;清脈寬計數值存放區20H~21H

CLR 21H

CLR 22H ;清單穩脈沖結束標志22H

MOV TH0,#0FFH ;置T0計數初值255

MOV TL0,#0FFH

MOV TH1,#00H ;置T1的計數初值0

MOV TL1,#00H

MOV TMOD,#26H ;置T0為計數方式,方式2;T1為定時方式。方式2

SETB EA ;允許T0、T1中斷

SETB ET0

SETB ET1

SETB TR0 ;開T0中斷

CLR P3.5 ;送單穩觸發脈沖

NOP

NOP

NOP

NOP

SETB P3.5

SETB TR1 ;開T1中斷

MAIN1: CJNE 22H,#01H,MAIN2 ;單穩脈沖未結束,轉檢查是否超時

AJMP MAIN3 ;單穩脈沖結束,轉取脈寬計數值

MAIN2: CJINE 21H,#08H,MAIN1 ;未超時,轉等待單穩脈沖結束

CLR EA

CLR ET0

CLR ET1

CLR TR0

CLR TR1

MOV 30H,#0DH ;開路提示「E1」送顯示緩沖區,轉顯示

MOV 31H,#01H

MOV 32H,#0EH

MOV 33H,#0EH

AJMP MAIN0

MAIN3: CJNE 21H,#00H,MAIN4 ;單穩脈沖結束,先判斷是否短路。不是,轉查表程序。

MOV 30H,#0DH ;短路,短路提示「E2」送顯示緩沖區,轉顯示

MOV 31H,#02H

MOV 32H,#0EH

MOV 33H,#0EH

AJMP MAIN0

MAIN4: ACALL NTTR ;調查表子程序

AJMP MAIN0

;查表求溫度值子程序

NTTR: MOV R2,#00H ;清計數與溫度對照表偏移量寄存器R2

MOV DPTR,NTTAB ;DPTR指向計數與溫度對照表首址

NTTR1: CLR C ;20H、21H中的內容與NTTRB相減,並將差值存23H、24H

MOV R3,#02H

MOV R0,#20H

MOV R1,#23H

NTTR2: MOV A,R2

MOVC A,@A+DPTR

SUBB A,@R0

MOV @R1,A

INC R0

INC R1

INC R2

CJNE R2,#122,NTTR3 ;若未到NTAB表尾,繼續比較

POVER:JC NTTR30 ;到表尾,查到對應溫度,轉求溫度值

MOV 30,#0EH ;到表尾,查到對應溫度,正超溫提示「UUU」送顯緩區

MOV 31H,#0BH

MOV 32H,#0BH

MOV 33H,#0BH

RET ;返回主程序

NTTR3: DJNZ R3,NTTR2

JNC NTTR1 ;未查到對應溫度值,繼續查表

NTTR30:MOV A,R2 ;已查到對應溫度,由偏移量求出整數部分,暫存R4

CLR C

SUBB A,#02H

RR A

MOV R4,A

MOV R1,#23H ;求溫度值的小數部分:+X/2送B

MOV A,@R1

CPL A

INC A

RR A

MOV B,A

NTTR4: DEC R2 ;Ni+1送20H、21H

MOV R0,#21H

MOV A,R2

MOVC A,@A+DPTR

MOV @R0, A

DEC R0

DEC R2

MOV A, R2

MOVC A,@A+DPTR

MOV @R0, A

DEC R2 ;求+i/2從A

DEC R2

MOV R3,#02H

CLR C

NTTR5: MOV A,R2

MOVC A,@A+DPTR

SUBB A,@R0

JNC NTTR50

CLP A

INC A

NTTR50:RR A

MOV R5,A

MOV A,B ;+x/2*10/+i得到溫度值的小數部分

JZ NTTR6

MOV B, #05H

MUL AB

MOV B,R5

DIV AB

MOV 20H,A ;小數部分送20H

AJMP NTTR7

NTTR6: MOV 20H,#00H

NTTR7: MOV A,#0AH ;判整數部分為正還是負

CLR C

SUBB A,R4

JC PTEMP

NTEMP:CJNE A,#0AH,NTEMP1 ;為負

MOV 30H,#0EH ;「-X」送顯示緩沖區高三位

MOV 31H,#0AH

MOV 32H,A

AJMP NTEMP2

NTEMP1:MOV 30H,#0AH ;「-10」 送顯示緩沖區高三位

MOV 31H,#01H

MOV 32H,#00H

NTEMP2:MOV A,#0AH ;修正小數部分後,將小數部分送顯緩低三位

CLR C

SUBB A,20H

MOV 33H,A

RET ;返回主程序

PTEMP: MOV 30H,#0EH ;為正。「 」送顯緩最高位

MOV A,R4 ;溫度值整數部分送顯緩中間兩位

MOV B,#0AH

DIV AB

JNZ PTEMP1

] MOV 31H,#0EH

JMP PTEMP2

PTEMP1:MOV 31H,A

PTEMP2:MOV 32H,B

MOV 33H,20H ;小數部分送顯緩最低位

RET ;返回主程序

;顯示子程序(將顯緩區的內容循環顯示一遍,每位顯示1ms後,關顯示返回主程序)

DSP: MOV R2,#01H

MOV R0,#30H

MOV DPTR,#TAB

DSP1: MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

ORL P3,R2

ACALL D1MS

MOV A,R2

RL A

MOV R2,A

CJNE R2,#10H,DSP2

ANL P3,#0F0H

RET

DSP2: INC R0

AJMP DSP1

;延時1ms子程序

D1MS: MOV R7,#166

D1MS1: DJNZ R7,D1MS1

RET

;顯示1秒子程序

D1S: MOV R6,#04H

D1S1: MOV R5,#250

D1S2: ACALL DSP

DJNZ R5,D1S2

DJNZ R6,D1S1

RET

;段碼表

TAB: DB 40H,79H,24H,30H,19H :0.,1.,2.,3.,4.

DB 12H,02H,78H,00H,10H :5.,6.,7.,8.,9.

DB 3FH,41H,0CH,06H,0FFH :-.,U.,P.,E.,滅

;T0中斷處理程序

WT0: MOV A,TL1 ;將T1計數值送20H

MOV 20H,A

CLR EA ;關中斷

CLR TR0 ;T0停止計數

CLR TR1 ;T1停止計數

MOV 22H,#01H ;置單穩脈沖結束標志

RETI ;返回主程序

;T1中斷處理程序

WT1: INC 21H ;脈寬計數值高位加1

RETI ;返回主程序

;脈寬計數與溫度對照表

NTTBL: DB 0D0H,05H,0B2H,05H,96H,05H,72H,05H

DB 52H,05H,35H,05H,15H,05H,0F6H,04H

DB 0D8H,04H,0B9H,04H,9CH,04H,81H,04H

DB 65H,04H,4AH,04H,30H,04H,14H,04H

DB 0FAH,03H,0E0H,03H,0C6H,03H,0ADH,03H

DB 95H,03H,7CH,03H,64H,03H,4CH,03H

❹ 51單片機 熱敏電阻的電路原理圖,電子方面的前輩請進來看看!高分懸賞!

首先,這個AC電壓值是通過R1與N1的分壓得來,溫度的變化會導致N1電阻值的變化,也就令AC產生變化,所以這個AC是個模擬量;
另外,N1電阻值與溫度的關系,通常是個單向的曲線關系,即電阻值與溫度是一一對應的關系,如果採用那些標準的熱敏電阻,那麼這個曲線關系還可以採用公式來表達;
其實,你這個電路是採用參考電壓來跟蹤溫度(也就是受測信號電壓,即圖中的AC)的變化,與通過模數轉換,將溫敏電阻上的電壓進行量化的效果是一樣的;當參考電壓從高往低(或從低往高)逼近,直至比較器狀態翻轉,則此時的參考電壓就視為溫敏電阻上的電壓了,這里比較器輸出的僅僅是個狀態,與溫度沒有直接的關系;
而採用模數轉換,也是需要一個參考電壓的,只是這個參考電壓是固定的,經轉換後得到一個與受測信號電壓對應的數字值;
至於此電壓與受測溫度的關系,還需要轉換為電阻與溫度的關系,這個關系就是熱敏電阻值與溫度的曲線關系,因此,這個溫度,可以採用查表方式,也可採用計算公式求得;

閱讀全文

與51單片機加熱敏電阻相關的資料

熱點內容
廣聯達加密鎖怎麼看到期 瀏覽:168
cad軌跡命令 瀏覽:975
同事刷到女程序員自媒體視頻 瀏覽:569
校驗演算法的缺點是什麼 瀏覽:717
PHP商品分類功能實現 瀏覽:330
php取字元串中間 瀏覽:430
程序員經常用工具 瀏覽:835
降服主力指標源碼主圖 瀏覽:500
python實用庫 瀏覽:692
電腦默認7個文件夾 瀏覽:11
新唐單片機安裝c51後編譯錯誤 瀏覽:530
紅包源碼引流神器 瀏覽:235
學生初中畢業撕書解壓 瀏覽:747
命令方塊刷銅點教學 瀏覽:690
php郵件訂閱系統 瀏覽:997
柱樑底加密箍間距 瀏覽:30
pythonjavascript對比 瀏覽:741
什麼動漫app是大陸字幕 瀏覽:286
android查看activity棧 瀏覽:918
x86固件編譯 瀏覽:166