




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、過程限制系統課程設計稿過程限制系統緒論在科技高速開展的信息時代,電子技術、微型計算機技術的應用更是空前廣泛,伴隨著科學技術和生產不斷開展,需要對各種參數進行溫度測量.在單片機溫度測量系統中最關鍵的是測量溫度、限制溫度和保持溫度,溫度測量是對工業對象中主要的被控參數之一,因此單片機測量是對溫度的有效的測量,并能在工業生產中得到廣泛應用.本次課設所研究的課題是“基于單片機的熱水鍋爐溫度限制系統設計,主要介紹了對熱水鍋爐的溫度顯示、限制及報警、實現了溫度的實時顯示及限制.鍋爐水溫限制局部采用了AT89S52單片機、DS18B20溫度傳感器以及步進電機來實現,通過溫度傳感器DS18B20采集環境溫度,
2、以單片機為核心限制部件將采集到的溫度通過串口通信MAX232輸入到電腦中,在電腦中通過C語言編程來限制單片機的工作方式,將程序下載到單片機中,通過設定溫度與給定溫度的比擬來限制電機的正反轉來模擬升溫和降溫使系統工作在設定的溫度范圍之內,當溫度高于設定值時,通過電機正轉來模擬開大冷水閥,進而使水溫降低;當溫度低于設定值時,通過電機反轉來模擬關小冷水閥,進而使水溫升高;直到在規定的溫度范圍內進行恒溫加熱.本次課設通過Labview來繪制人機交互界面設置溫度的上下限.并且通過該界面可以實時顯示當前的溫度值,發出報警信號等,便于操作人員觀察.關鍵詞:AT89s52單片機DS18B20溫度傳感器串口通訊
3、Labview步進電機一設計任務、要求和技術指標1.1 設計任務系統構成:系統主要由溫度傳感器,單片機限制系統、鍋爐溫度對象、執行器(查找資料自己選擇)等組成.溫度傳感器、限制器、執行器可查找資料自行選擇,限制器選擇單片機為限制器.單片機型號自選寫出溫度測量與限制過程,繪制溫度限制系統組成框圖.(1)系統硬件電路設計自選.溫度測量程序、溫度校準程序、溫度限制程序等局部組成.1.2 主要技術指標(1)溫度顯示誤差不超過C.(2)溫度顯示范圍為0C99C.二、總體設計方案2.1 設計思路本設計方案采用AT89S52單片機作為限制器,DS18B20芯片作為溫度傳感器,步進電機作為執行器構成過程限制系
4、統,來模擬熱水鍋爐溫度限制系統.通過溫度傳感器DS18B20采集鍋爐水溫,以單片機為核心限制部件將采集到的溫度通過串口輸入到電腦中,在電腦中通過labview組態軟件來顯示實時溫度和設置預置溫度,并根據實時溫度與預置溫度的偏差大小限制進水閥門的開關,進而到達調節鍋灶水溫的目的.當實時溫度高于設定值時,通過電機正轉來模擬開大冷水閥,進而使水溫降低;當溫度低于設定值時,通過電機反轉來模擬關小冷水閥,進而使水溫升高;直到在規定的溫度范圍內進行恒溫加熱.本次課設通過Labview來繪制人機交互界面,設置所需溫度值.2.2 系統總體框圖2.3 系統框圖設定值三、限制器AT89s523.1AT89S52簡
5、介AT89s52是一種低功耗、高性能CM0S8位微限制器,具有8K在系統可程Flash存儲器.使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容.片上Flash允許程序存儲器在系統可編程亦適于常規編程器在單芯片上擁有靈巧的8位CPU和在系統可編程Flash,使得AT89s52為眾多嵌入式限制應用系統提供高靈活、超有效的解決方案.AT89s52具有以下標準功能:8k字節Flash、256字節RAM、32位I/O口線、看門狗定時器,2個數據指針、三個16位定時器/計數器、一個6向量2級中斷結構、全雙工串行口,片內晶振及時鐘電路.另外AT89s52可降至0Hz靜態
6、邏輯操作,支持2種軟件可選擇節電模式.空閑模式下,CPU停止工作允許RAM、定時器/計數器、串口、中斷繼續工作.掉電保護方式下,RAM內容被保存振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止.電路圖如下:四、傳感器DS18B20DS18B20是美國DALLAS半導體公司最新推出的一種改良型智能溫度傳感器,與傳統的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9-12位的數字值讀數方式.DS18B20的性能特點如下: 獨特的單線接口僅需一個端口引腳進行通訊 簡單的多點分布應用 無需外部器件 可通過數據線供電 零待機功耗 測溫范圍55+125.,
7、以0.5'C遞增.華氏器件67+2570F,以0.90F遞 溫度以9位數字量讀出 溫度數字量轉換時間200ms典型值 用戶可定義的非易失性溫度報警設置 報警搜索命令識別并標志超過程序限定溫度溫度報警條件的器件.DS18B20的測溫原理如圖3.3.3所示,圖中低溫度系數晶振的振蕩頻率受溫度的影響很小用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,圖中還隱含著計數門,當計數門翻開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量.計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前
8、,首先將-55C所對應的基數分別置入減法計數器1和溫度存放器中,減法計數器1和溫度存放器被預置在-55t所對應的一個基數值.減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度存放器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計數到.時,停止溫度存放器值的累加,此時溫度寄存器中的數值即為所測溫圖2中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用,于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度存放器值到達被測溫度值,這就是DS18B20的測溫原理.
9、另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要.系統對DS18B20的各種操作必須按協議進行.操作協議為:初始化DS18B20發復位脈沖一發ROM功能命令f發存儲器操作命令f處理數據.圖3.3.3DS18B20測溫原理圖五、接口通訊單元51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊.進行串行通訊時要滿足一定的條件,比方電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,因此采用專用芯片MAX232進行轉換.max232資料簡介:該產品是由德州儀器公司(TI)推出的一款兼容RS232
10、標準的芯片.由于電腦串口rs232電平是-10v+10v,而一般的單片機應用系統的信號電壓是ttl電平0+5v,皿232就是用來進行電平轉換的,該器件包含2驅動器、2接收器和一個電壓發生器電路提供TIA/EIA-232-F電平.該器件符合TIA/EIA-232-F標準,每一個接收器將TIA/EIA-232-F電平轉換成5-VTTL/CMOS電平.每一個發送器將TTL/CMOS電平轉換成TIA/EIA-232-F電平.主要特點:1、單5V電源工作2、LinBiCMOSTM工藝技術3、兩個驅動器及兩個接收器4、±30V輸入電平5、低電源電流:典型值是8mA6、符合甚至優于ANSI標準EI
11、A/TIA-232-E及ITU推薦標準V.287、ESD保護大于MIL-STD-883方法3015標準的2000V51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊.進行串行通訊時要滿足一定的條件,比方電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉換電路,我采用了專用芯片MAX232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更簡單可靠.三、系統總工作原理工作原理本設計方案采用AT89S52單片機作為限制器,DS18B20芯片作為溫度傳感器,步進電機作為執行器構成過程限制系統,來模擬熱水鍋爐溫度限制系統.通過
12、溫度傳感器DS18B20采集鍋爐水溫,以單片機為核心限制部件將采集到的溫度通過串口輸入到電腦中,在電腦中通過labview組態軟件來顯示實時溫度和設置預置溫度,并根據實時溫度與預置溫度的偏差大小限制進水閥門的開關,進而到達調節鍋灶水溫的目的.當實時溫度高于設定值時,通過電機正轉來模擬開大冷水閥,進而使水溫降低;當溫度低于設定值時,通過電機反轉來模擬關小冷水閥,進而使水溫升高;直到在規定的溫度范圍內進行恒溫加熱.本次課設通過Labview來繪制人機交互界面,設置所需溫度值.系統通過DS18B20檢測鍋爐的水溫,DS18B20作為全數字式的溫度傳感器,將所測溫度以數字量形式傳給AT89S52單片機
13、,單片機先不直接處理所測溫度,而是將溫度傳給上位機,計算機通過labview對溫度信息進行記錄和處理然后又發送到單片機通過單片機限制執行器件.Labview先對溫度進行中值濾波以消除隨機誤差.然后再與設定溫度相減以取得偏差,然后再根據偏差方向限制步進電機的正反轉以調節冷水閥的開度.進而到達限制鍋爐水溫的目的七、參考文獻1、馬淑華?單片機原理與接口技術?北京郵電大學出版社2、任彥碩?自動限制系統?北京郵電大學出版社3、譚浩強?C語言程序設計?清華大學出版社八、結束語通過本次課程設計,將之前所學的專業課?單片機原理?、?過程限制系統?、?虛擬儀器?、?C語言?等課程有機的結合到了一起.將所學的知識
14、付諸于實踐是一件很興奮的事情,這讓我明白了自己所學的知識與實際的生產生活有著很大的聯系.但通過本次課設我也發現了自己有很多缺乏之處,對編程缺乏興趣、對一些本專業的軟件不能熟練的掌握等缺點.因此,在即將到來的畢業設計中,我要主動去學習一些軟件的用法,不拿不敢興趣為理由,做出一個漂亮的作業.附錄1源程序/十二二二/小舉小小平不舉"舉小小平不舉"舉小小平舉舉王在序小小""不"小不小"不"小不小"不"不不/#include<reg52.h>包含單片機存放器的頭文件#include<intrins
15、.h>包含_nop_()函數定義的頭文件unsignedcharJieshou;unsignedcharflag.tltemp;unsignedcodeFFVV8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;unsignedcodeREV8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;voiddelaylms()unsignedcharij;for(l=0;i<4;i+)for(j=0;J<33;J+)voiddelaynms(unsignedcharn)unsignedchar1;for(i=0;i&l
16、t;n;i+)delaylms();voidmotor_ffw()(unsignedchari;unsignedcharJ;for(j=0;J<8;J+)(if(jieshou=3)break;for(1=0;i<8;i+)(Pl=FFWi;delaynins(4);轉l*n圈退出此循環程序一個周期轉45度取數據調節轉速/*»誹由捫后扶*/voidmotor_rev()unsignedchar1;unsignedhitj;for(J=0;Jv8;J+)轉IXn圈if(jieshou=0)break;for(i=0;i<8;1+)退出此循環程序一個周期轉45度Pl=R
17、EVi;(lelaynins(4);取數據調節轉速串口初始化voidUART_Inlt(vold)SCON=0x50;串口工作方式為1,串行允許接收TMOD=0x20;定時器1工作在方式2/PCON=0x80;/SMOD=1;波特率加倍TH1=Oxfd;波特率9600bpsfosc="11.0592MHzTL1=Oxfd;ES=1;開串口中斷TR1=1;允許定時器1工作EA=1;開總中斷串口發送一個字節voidUart_SendChar(shortIntdat)(SBUF=dat;待發送的數據寫入緩沖區while(!TI);等待發送完成TI=0;清零發送標志位/*以下是DS18B20
18、的操作程序*以sbitDQ=P3A3;unsignedchartime;設置全局變量,專門用于嚴格延時/*函數功能:將DS18B20傳感器初始化,讀取應答信號*/bitInit_DS18B20(void)(bitflag;DQ=1;先將數據線拉高for(time=0;thnev2;time+)略微延時約6微秒DQ=0;再將數據線從高拉低,要求保持480960usfor(time=0;time<200;time+)略微延時約600微秒;以向DS18B20發出一持續480960US的低電平復位脈沖DQ=1;釋放數據線(將數據線拉高)for(time=0;time<10;time+);延
19、時約30us(釋放總線后需等待156011s讓DS18B20輸出存在脈沖)flag=DQ;讓單片機檢測是否輸出了存在脈沖(DQ=0表示存在)for(time=0;time<200;time+)延時足夠長時間,等待存在脈沖輸出完畢return(flag);返回檢測成功標志函數功能:從DS18B20讀取一個字節數據出口參數:dat1unsignedcharReadOneChar(void)unsignedchardat;儲存讀出的一個字節數據for(l=0;i<8;i+)DQ=1;/先將數據線拉高_i】op_();等待一個機器周期DQ=0;單片機從DS18B20讀書據時,將數據線從高拉
20、低即啟動讀時序,noiU);等待一個機器周期DQ=1;將數據線“人為“拉高,為單片機檢測DS18B20的輸出電平作準備for(time=0;time<2;time+);延時約6us,使主機在1511s內采樣dat»=l;if(DQ=l)datl=0x80;/如果讀到的數據是1,那么將1存入datelsedatl=OxOO;如果讀到的數據是0,那么將0存入dat將單片機檢測到的電平信號DQ存入rifor(tiine=0;time<8;time+);延時3us,兩個讀時序之間必須有大于lus的恢復期retiirn(clat);返回讀出的十六進制數據函數功能:向DS18B20寫
21、入一個字節數據入口參數:datVVriteOneChar(unsignedchardat)(unsignedchari=0;for(i=0;l<8;I+)(DQ=1;/先將數據線拉高_nop_();等待一個機器周期DQ=0;將數據線從高拉低時即啟動寫時序DQ=dat&0x01;利用與運算取出要寫的某位二進制數據,并將其送到數據線上等待DS18B20采樣for(time=0;time<10;time+);延時約30us,DS18B20在拉低后的約156011s期間從數據線上采樣DQ=1;釋放數據線for(time=0;time<1;time+);延時3us,兩個寫時序間
22、至少需要lus的恢復期dat»=l;將dat中的各二進制位數據右移1位for(time=0;tiine<4;time+);稍作延時,給硬件一點反響時間函數功能:做好讀溫度的準備1voidReadyReadTemp(vold).Init_DS18B20();將DS18B20初始化WriteOneChar(OxCC);/跳過讀序號列號的操作WriteOneChar(Ox44);/啟動溫度轉換delaynms(200);轉換一次需要延時一段時間Init_DS18B20();將DS18B20初始化WHteOneChar(OxCC);跳過讀序號列號的操作WriteOneChar(OxBE
23、);讀取溫度存放器,前兩個分別是溫度的低位和高位voidmain(void)unsi即edcharTL;儲存暫存器的溫度低位unsi即edcharTH;儲存暫存器的溫度高位unsignedcharTN;儲存溫度的整數局部unsignedcharTD;儲存溫度的小數局部unsignedcharN=64;/N步進電機運轉圈數由于我們的步進電機是減速步進電機減速比是1/64所以這里N=64時步進電機外部的主軸轉1圈UARTnit();初始化串口while(l)不斷檢測并顯示溫度ReadyReadTempO;讀溫度準備TL=ReadOneChar();先讀的是溫度值低位TH=ReadOneChar();接著讀的是溫度值高位if(TH&0xf8)!=0x00)判斷高五位得到溫度正負標志(flag=l;TL=TL;取反13TH=TH;取反tltemp=TL+l;低位加1TL=tltemp;if(tltemp>255)TH+;如果低8位大于255,向高8位進1TN=TH*16+TL/16;實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16這樣得出的是溫度的整數局部,小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 搞笑主題班會課件
- 知識精講課件圖片高清
- 多媒體在農村小學英語詞匯教學中的探究
- 數字智慧方案KLM售前培訓
- 數字智慧方案5896丨智慧井蓋解決方案
- 電工技術課件第11章 三相異步電動機
- 2024北京延慶一中高一3月月考數學試題及答案
- 《后漢書陳琳傳》測試題帶答案
- 《漢書武帝紀》測試題帶答案
- 睡覺安全教學課件
- 2025年黑龍江、吉林、遼寧、內蒙古高考生物真題試卷(解析版)
- 2025-2030中國線掃描照相機行業市場發展趨勢與前景展望戰略分析研究報告
- 2025年藝術與數字藝術類事業單位招聘考試綜合類專業能力測試試卷
- 福建省泉州市晉江市2025屆數學七下期末調研試題含解析
- 2025至2030年中國鋼結構制品行業投資前景及策略咨詢研究報告
- 山西省運城市2025年中考一模語文試題(含答案)
- 2025河南中考:政治必背知識點
- 電影放映員試題及答案
- 2025-2030中國寵物殯葬服務行業市場深度分析及發展前景與投資戰略研究報告
- 2024-2025學年湖北省武漢市七校高一下學期4月期中聯考數學試卷(含答案)
- 青科綜評面試真題及答案
評論
0/150
提交評論