




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、引言:隨著現代信息技術的飛速發展,溫度測量控制系統在工業、農業及人們的日常生活中扮演著一個越來越重要的角色,它對人們的生活具有很大的影響,所以溫度采集控制系統的設計與研究有十分重要的意義。本次設計的目的在于學習基于51單片機的多路溫度采集控制系統設計的基本流程。本設計采用單片機作為數據處理與控制單元,為了進行數據處理,單片機控制數字溫度傳感器,把溫度信號通過單總線從數字溫度傳感器傳遞到單片機上。單片機數據處理之后,發出控制信息改變報警和控制執行模塊的狀態,同時將當前溫度信息發送到LED進行顯示。本系統可以實現多路溫度信號采集與顯示,可以使用按鍵來設置溫度限定值,通過進行溫度數據的運算處理,發出
2、控制信號達到控制蜂鳴器和繼電器的目的。我所采用的控制芯片為AT89c51,此芯片功能較為強大,能夠滿足設計要求。通過對電路的設計,對芯片的外圍擴展,來達到對某一車間溫度的控制和調節功能。關鍵詞:溫度多路溫度采集驅動電路正文:1、溫度控制器電路設計本電路由89C51單片機溫度傳感器、模數轉換器ADC0809、竄入并出移位寄存器74LS164、數碼管、和LED顯示電路等組成。由熱敏電阻溫度傳感器測量環境溫度,將其電壓值送入ADC0809的IN0通道進行模數轉換,轉換所得的數字量由數據端D7-D0輸出到89C51的P0口,經軟件處理后將測量的溫度值經單片機的RXD端竄行輸出到74LS164,經74L
3、S164 竄并轉換后,輸出到數碼管的7個顯示段,用數字形式顯示出當前的溫度值。89C51的P2.0、P2.1、P2.2分別接入ADC0809通道地址選擇端A、B、C,因此ADC0809的IN0通道的地址為F0FFH。輸出驅動控制信號由p1.0輸出,4個LED為狀態指示,其中,LED1為輸出驅動指示,LED2為溫度正常指示,LED3為高于上限溫度指示,LED4為低于下限溫度指示。當溫度高于上限溫度值時,有p1.0輸出驅動信號,驅動外設電路工作,同時LED1亮、LED2滅、LED3亮、LED4滅。外設電路工作后,溫度下降,當溫度降到正常溫度后,LED1亮、LED2亮、LED3滅、LED4滅。溫度繼
4、續下降,當溫度降到下限溫度值時,p1.0信號停止輸出,外設電路停止工作,同時LED1滅、LED2滅、LED3滅、LED4亮。當外設電路停止工作后,溫度開始上升,接著進行下一工作周期。2、溫度控制器程序設計本軟件系統有1個主程序,6個子程序組成。6個子程序為定時/計數器0中斷服務程序、溫度采集及模數轉換子程序ADCON、溫度計算子程序CALCU、驅動控制子程序DRVCON、十進制轉換子程序METRICCON及數碼管顯示子程序DISP。(1主程序主程序進行系統初始化操作,主要是進行定時/計數器的初始化。(2定時/計數器0中斷服務程序應用定時計數器0中斷的目的是進行定時采樣,消除數碼管溫度顯示的閃爍
5、現象,用戶可以根據實際環境溫度變化率進行采樣時間調整。每當定時時間到,調用溫度采集機模數轉換子程序ADCON,得到一個溫度樣本,并將其轉換為數字量,傳送給89C51單片機,然后在調用溫度計算子程序CALCU,驅動控制子程序DRVCON,十進制轉換子程序MERTRICCON,溫度數碼顯示子程序DISP。(3溫度采集及模數轉換子程序ADCON該子程序進行溫度采樣并將其轉換為8位數字量傳送給89C51的P0口。采樣得到的溫度數據存放在片內RAM的20H單元中。(4溫度計算子程序CALCU根據熱敏電阻的分度值和電路參數計算出出一張溫度表,存放在DATATAB數據表中,由于篇幅關系,本程序只給出0-49
6、的溫度數據。一個溫度有兩個字節組成,前一字節為溫度值,后一字節為該溫度所對應的熱敏電阻上的電壓的數字量。根據采樣值,通過查表及比較的方法計算出當前的溫度值,并將其存入片內RAM的21H單元。采用查表法計算溫度值時為了克服熱敏電阻的阻值溫度特性曲線的非線性,提高測量精度。(5驅動控制子程序DRVCON該子程序調節溫度,當溫度高于上限溫度時(本程序設為30,P1.0輸出驅動控制信號,驅動外設工作降溫;當溫度下降到下限溫度時(本程序設為25,P1.0停止輸出,溫度上升,周而復始;工作狀態有LED1-LED4指示。(6十進制轉換子程序METRICCON將存放于內部RAM21H單元的當前溫度值得二進制數
7、形式轉換為十進制數(BCD碼形式,以便輸出顯示,轉換結果存放在片內RAM的32H單元(百位、31H(十位、30H單元(個位。(7數碼顯示子程序DISP該子程序利用89C51串口的方式0串行移位寄存器工作方式,將片內RAM的30H、31H、32H單元的BCD碼查表轉換為七段碼后由RXD端串行發出去,然后經74LS164串并轉換,將七段值傳送給數碼管,以十進制形式顯示出當前溫度值。根據以上分析畫出的部分程序設計流程圖如圖1-0至圖1-4所示。 圖1-0 部分程序設計流程圖的設計框架 圖1-1 主程序流程圖 圖1-2 T0中斷服務程序流程圖 圖1-3 溫度采樣及模數轉換子程序流程圖 圖1-4 溫度計
8、算子程序流程圖3、具體內容(1溫度控制器電器原理圖設計按以上分析及相關知識設計出的溫度控制器電路原理圖如圖1-5所示。 圖1-5 溫度控制電路原理圖(2溫度數據表在圖1-5所示的電路中,熱敏電阻的連接如圖1-6所示。 圖1-6 熱敏電阻的連接本設計所使用的熱敏電阻的分度表及ADC0809轉換后的電壓數字量見附表1-1所示轉換后的電壓數字量的計算方法為:熱敏電阻與R8并并聯后的總電阻:R=(Rt*R8/(Rt+R8 R與R7串聯電路中R的分壓值(即輸入ADC0809的模擬量: V=5R/(R+R75V被分成256等分(8位量化,則每份的電壓值:=5/256輸入的模擬量電壓經8位量化后的數字量:D
9、=V/例如,熱敏電阻在溫度為20時的阻值為62.254千歐,則根據上述方法計算出的電壓數字量為169,注意在計算中R7用實測值19.6千歐代入進入計算。在實際做該電路時,可根據自己所選擇的熱敏電阻的分度表計相關電路參數,按上述方法計算出ADC0809轉換后的各溫度對應的電壓數字量。程序中的溫度數據表構成:1個溫度數據占2個字節,前一字為溫度值,后一個字節為該溫度下熱敏電阻上的模擬電壓轉換成德8位數字量。如在20時,熱敏電阻對應的電壓數字量為169,則20,169組成一個溫度為20的溫度數據。按這樣方法組成的0-49的溫度數據表如下:DATATAB:DB 0,194,1 ,193 ,2 ,192
10、,3,191,4,190 DB 5,189,6,188,7 ,187,8,186,9,185DB10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29, 154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,147,39,135DB 40,133,41,131,42,129,43,127,4
11、4,125DB 45,123,46,121,47,118,48,116,49,114在溫度采樣機模數轉換子程序中,采樣得到的當前溫度下熱敏電阻上的數字電壓存于20H單元,在溫度計算子程序中通過查表的方法從表中的第一個溫度(0下熱敏電阻上的數字電壓開始,依次取出各溫度下熱敏電阻上的十字電壓,與與存于20H單元的當前溫度下熱敏電阻上的的數字電壓比較,如小于當前溫度的數字電壓,則在取出下一溫度的數字電壓與當前溫度的數字電壓比較;直到大于或等于當前的溫度數字電壓,比較結束。如大于則取出前一溫度作為當前溫度存于21H單元,如等于則將該溫度作為但前溫度存于20H單元。這種溫度計算方法,避免了溫度特性曲線的
12、非線性對溫度計算精確性的影響,計算出的溫度非常精確。(3溫度控制程序設計在本設計中,晶體振蕩器頻率為6MHz,T0定時時間為100ms,T0工作于方式1,則T0的初值為:X=(最大計數值M定時時間t/及其周期Tm=216 -100ms/2us=15536=3CB0H按以上任務分析設計出的源程序如下:ORG 0000H;跳轉到主程序LJMP MAIN;ORG 000BH;LJMP T0INT;跳轉到T0中斷服務程序;主程序ORG 0100H;MAIN:MOV R1,#10; T0 100馬上定時溢出計數寄存器R1賦初值10MOV P1,#0FFH; 所有指示燈滅MOV SP,#60H;堆棧指針賦
13、初值60HMOV TMOD,#01H;T0定時、方式1、軟啟動MOV TL0,#0B0H;T0賦初值MOV TH0,#3CH;MOV IE,#82H;開放T0中斷SETB TR0;啟動T0SJMP $;定時/計數器0中斷服務程序ORG 0200H;T0INT:DJNZ R1,NEXT;T0溢出10次,即1s進一次采樣處理LCALL ADCON;調用溫度采樣及模數轉換子程序LCALL CALCU;調用溫度計算子程序LCALL DRVCON; 調用驅動控制子程序LCALL METRICCON; 調用十進制轉換子程序LCALL DISP; 調用數碼管顯示子程序MOV R1,#10;R1重賦值10NE
14、XT:MOV TL0,#0B0H; T0重裝初值MOV TH0,#3CH;RETI;溫度采樣及模數轉換子程序ORG 0300H;ADCON:MOV DPTR,#0F0FFH; 選通ADC0809通道0MOV A,#00H;MOVX DPTR,A; 啟動A/D轉換HERE:JNB P3.3,HERE; 判斷數據轉換是否結束,沒結束則等待MOVX A,DPTR;讀取轉換后的數據MOV 20H,A; 將從ADC0809中讀取的當前溫度下熱敏電阻上的電壓值存于20H單元RET ;溫度計算子程序ORG 0400H;CALCU:MOV R2,#01H; R2為數據表的索引值寄存器MOV DPTR,#DAT
15、ATAB; 溫度數據表首地址送DPTR NEXT1:MOV A,R2; 索引值送AMOVC A,A+DPTR; 查表取出某一溫度的數字電壓值CJNE A,20H,K1; 與當前溫度的數字電壓值比較DEC R2;等于當前溫度的數字電壓值,則查表取出該溫度值作為當前溫度值MOV A,R2;MOVC A,A+DPTR;LJMP K3;K1:JNC K2; 大于當前溫度的數字電壓值,則繼續取出下一溫度的數字電壓進行比較DEC R2;小于當前溫度的數字電壓值,則查表取出前一個溫度值作為當前溫度值DEC R2DEC R2MOV A,R2;MOVC A,A+DPTR;LJMP K3;K2:INC R2;IN
16、C R2;LJMP NEXT1;K3:MOV 21H,A; 將當前溫度值存于21H單元RET;DATATAB;DB 0,194,1,193,2,192,3,191,4,190;溫度數據表DB 5,189,6,188,7,187,8,186,9,185DB 10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29,154DB 30,152,31,150,32,149,33,
17、147,34,145DB 35,143,36,141,37,139,38,137,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114驅動控制子程序ORG 0500H;DRVCON:MOV A,21H; 取出當前溫度值CJNE A,#30,J1; 與上限溫度值(30比較LJMP GO;J1:JNC DRV1;若高于上限溫度,則輸出驅動信號,同時高于上限溫度指示燈點亮CJNE A,#25,J2; 與顯現溫度(25比較LJMP GO;J2:JC DRV2;弱低于下限溫度,則驅動信號停止輸出,
18、同時點亮低于下限溫度的指示燈LJMP GO;DRV1:CLR P1.0;SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0;SETB P1.1;SETB P1.1;SETB P1.2;CLR P1.3;LJMP OVER;GO:CLR P1.1; 在下線溫度(25至上限溫度(30之間,則驅動信號保持前面狀態,同時溫度正常指示燈點亮SETB P1.2;SETB P1.3;OVER:RET;十進制轉換子程序ORG 0600H;METRIC
19、CON:MOV R3,#00H;將存于21H單元中的當前溫度轉換為BCD碼MOV R4,#00H;百位存于32H單元,十位存于31H單元,個位存于30H單元MOV A,21H;CLR C;W1:SUBB A,#100;JC W2;INC R4;AJMP W1;W2:ADD A,#100;CLR C;W3:SUBB A,#10;JC W4;INC R3;AJMP W3;W4:ADD A,#10;MOV 30H,A;MOV 31H,R3;MOV 32H,R4;RET;數碼管顯示子程序ORG 0700H;DISP:MOV R5,#03H;將存于32H單元、31H單元、30H 單元中的溫度BCD碼查表轉換為七段碼MOV R0,#30H;通過串行通信方式0輸出驅動3個數碼管,顯示當前溫度MOV DPTR,#TAB;LOOP:MOV A,R0;MOVC A,A+DPTR;MOV SBUF,A;WAIT:JNB T1,WAIT;CLR T1;INC R0;DJNZ R5,LOOP;RET;TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;七段碼數據表附表:1-1 15 78.0646 17716 74.5637 17517 71.2425 17
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省濟南市萊蕪區市級名校2024-2025學年初三下學期第五次模擬考試語文試題含解析
- 臨床免疫學檢驗課件 第17章 補體的檢測及應用學習資料
- 山東菏澤市曹縣重點中學2024-2025學年初三復習統一檢測試題數學試題含解析
- 廊坊師范學院《材料電化學》2023-2024學年第二學期期末試卷
- 遼寧省沈陽市實驗北重點名校2025年第二次高中畢業生復習統一檢測試題生物試題含解析
- 陜西西安市愛知中學2025年初三第二次診斷性考試數學試題含解析
- 二零二五應聘護士勞動的合同
- 年薪合同書協議書二零二五年
- 二零二五產品設計合同書范例
- 二零二五版正式正規離婚協議書
- 員工食堂就餐協議書
- 創傷緊急救護知識課件
- 醫院單位單位內部控制自我評價報告
- 湖北省第十屆湖北省高三(4月)調研模擬考試數學試題及答案
- 五一勞動節前安全檢查重點
- 2025年03月廣東深圳市光明區科技創新局公開招聘專干5人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 內蒙古通遼市科左中旗實驗小學2025屆數學三下期末質量檢測試題含解析
- 高溫急救知識培訓
- 學前教育學 課件 第1、2章 緒論;學前教育的目標、內容的方法
- 2025北京豐臺高三一模物理試題及答案
- 江南美術遺產融入美育的數智化路徑探索
評論
0/150
提交評論