恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)_第1頁
恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)_第2頁
恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)_第3頁
恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)_第4頁
恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、西南科技大學(xué)計(jì)算機(jī)控制系統(tǒng)報(bào)告設(shè)計(jì)名稱: 恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì) 姓 名: XXX 學(xué) 號(hào): XXX 班 級(jí): 自動(dòng)09XX 指導(dǎo)教師: 聶詩良 起止日期: 2012.10.15-2012.11.15 西南科技大學(xué)信息工程學(xué)院制25設(shè) 計(jì) 任 務(wù) 書學(xué)生班級(jí): 自動(dòng)0903 學(xué)生姓名: XXX 學(xué)號(hào): 2009XXX 設(shè)計(jì)名稱: 恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì) 起止日期: 10月15日11月15日 指導(dǎo)教師: 聶詩良 設(shè)計(jì)要求: 設(shè)計(jì)52單片機(jī)的恒溫箱控制系統(tǒng)設(shè)計(jì)時(shí),需要考慮下面幾個(gè)方面的內(nèi)容:選擇合適的溫度傳感器芯片。顯然,本文中的核心器件是單片機(jī)和溫度傳感器,單片機(jī)采用常用的51單片機(jī)

2、即可,而溫度傳感器的選擇則需慎重。單片機(jī)和溫度傳感器的接口電路設(shè)計(jì)??刂茰囟葌鞲衅鲗?shí)現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖O(shè)計(jì)。恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)摘要:本設(shè)計(jì)從實(shí)際應(yīng)用出發(fā)選取了體積小、精度相對高的數(shù)字式溫度傳感元件DS18B20作為溫度采集器,單片機(jī)AT89C51作為主控芯片,液晶作為顯示輸出,實(shí)現(xiàn)了對溫度的實(shí)時(shí)測量與恒定控制。關(guān)鍵詞:恒溫,AT89S52 單片機(jī),溫度傳感元件The incubator temperature computer control system designAbstract: The design from the actual application to

3、 select a small size, and relatively high accuracy digital temperature sensing element DS18B20 as temperature collector, AT89C51 microcontroller as the master chip, digital tube display output to achieve real-time measurement of temperature and constant control .Keyword: Thermostat. AT89S52 microcon

4、troller; Temperature sensor element; 1設(shè)計(jì)目的和意義利用AT89S52對溫度進(jìn)行控制,采用單總線傳輸方式的DS18B20作為溫度傳感器,與按鍵、液晶顯示、報(bào)鳴器等外部輔助硬件共同組成一個(gè)溫度控制系統(tǒng),實(shí)現(xiàn)溫度的自我調(diào)節(jié)。2控制要求1)溫度采集傳感器采用熱電阻或熱電偶,或一體化數(shù)字溫度傳感器DS18B20。(2)控制燈泡亮度或發(fā)熱量,采用繼電器開關(guān)控制或用可控硅平滑控制。(3)采用單片機(jī)或PLC作為控制器。(4)采用LED或LCD或PC機(jī)的液晶顯示器作為顯示器,同時(shí)顯示給定溫度和實(shí)際溫度。(5)采用自制按鍵或PC機(jī)的鍵盤作為溫度給定值輸入。(6)恒溫箱實(shí)際溫

5、度達(dá)到給定值時(shí)(誤差要求±1)需聲光提示,聲音時(shí)延5秒后停止。(7)恒溫箱最高溫度50。(8)系統(tǒng)操作流程是:1)確認(rèn)系統(tǒng)連接就緒,無安全隱患;2)系統(tǒng)上電;3)設(shè)置溫度給定值后,啟動(dòng)系統(tǒng)工作,系統(tǒng)進(jìn)入溫度自動(dòng)控制工作狀態(tài)。4)系統(tǒng)工作完畢后,若不需系統(tǒng)工作,則可關(guān)閉系統(tǒng)電源,查看并確保系統(tǒng)無安全隱患后可離開。3.系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)溫度控制系統(tǒng)是一個(gè)過程控制系統(tǒng),組成框圖如圖 1 所示 控制器執(zhí)行器溫度傳感器被控對象 計(jì)算機(jī)控制系統(tǒng)框圖 圖1本系統(tǒng)中 CPU 選擇為AT89S52單片機(jī),執(zhí)行器為可控硅,控制加熱燈泡通斷,檢測裝置為ds18B20溫度傳感器,采集溫度并反饋給單片機(jī)。另外還

6、有鍵盤輸入部分、顯示部分以及報(bào)警部分??傮w框圖如下LCD1602報(bào)警DS18B20AT89S52鍵盤輸入可控硅燈泡圖2 系統(tǒng)原理框圖圖3基本硬件電路圖4功能模塊根據(jù)上面對工作流程的分析,系統(tǒng)軟件可以分為以下幾個(gè)功能模塊:(1) 鍵盤管理:監(jiān)測鍵盤輸入,接收溫度預(yù)置,啟動(dòng)系統(tǒng)工作。(2) 顯示:顯示設(shè)置溫度及當(dāng)前溫度。(3) 溫度檢測及溫度值變換:完成A/D轉(zhuǎn)換及數(shù)字濾波。(4) 溫度控制:根據(jù)檢測到的溫度控制電燈泡工作。(5) 報(bào)警:當(dāng)預(yù)置溫度或當(dāng)前爐溫越限時(shí)報(bào)警。系統(tǒng)硬件設(shè)計(jì)DS18B20測溫電路DS18B20數(shù)字溫度計(jì)是Dallas公司生產(chǎn)的1Wire器件,即單總線器件。與傳統(tǒng)的熱敏電阻有

7、所不同,DS18B20可直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號(hào),以供單片機(jī)處理,具有連線簡單、微型化、低功耗、高性能、抗干擾能力強(qiáng)、精度高等特點(diǎn)。因此用它來組成一個(gè)測溫系統(tǒng),具有電路簡單,在一根通信線上可以掛很多這樣的數(shù)字溫度計(jì),十分方便。目前已被眾多行業(yè)進(jìn)行廣泛的運(yùn)用(鍋爐、溫控表糧庫、冷庫、工業(yè)現(xiàn)場溫度監(jiān)控、儀器儀表溫度監(jiān)控、農(nóng)業(yè)大棚溫度監(jiān)控等)。通過編程,DS18B20可以實(shí)現(xiàn)912位的溫度讀數(shù)。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號(hào)線和地線。讀、寫和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。每片DS18B2

8、0在出廠時(shí)都設(shè)有唯一的產(chǎn)品序列號(hào),因此多個(gè)DS18B20可以掛接于同一條單線總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構(gòu)成多點(diǎn)溫度測控系統(tǒng)。DS18B20的特點(diǎn)介紹(1) 獨(dú)特的單線接口方式,與單片機(jī)通信只需一個(gè)引腳,DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊(2) 在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5 V。 (4)測溫范圍為-55 +125 。在-10+85范圍內(nèi)誤差為0.5 。 (5)通過編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,

9、通過識(shí)別芯片各自唯一的產(chǎn)品序列號(hào)從而實(shí)現(xiàn)單線多掛接,多個(gè)DS18B20可以并聯(lián)在唯一的線上,簡化了分布式溫度檢測的應(yīng)用,實(shí)現(xiàn)多點(diǎn)測溫。 (8)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。單線(1-wire)技術(shù)目前常用的微機(jī)和外設(shè)之間數(shù)據(jù)傳輸?shù)拇锌偩€有I2C總線、SPI總線等,其中,I2C總線采用同步串行兩線(一根時(shí)鐘線、一根數(shù)據(jù)線)方式,而SPI總線采用同步串行三線(一根時(shí)鐘線、一根輸入線和一根數(shù)據(jù)出線)方式。這兩種總線需要至少兩根或兩根以上的信號(hào)線。美國達(dá)拉斯半導(dǎo)體公司推出了一項(xiàng)特有的單線(1-wire)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號(hào)線,即可傳輸時(shí)鐘,又

10、能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單線技術(shù)具有線路簡單、硬件開銷少、成本低廉、便于擴(kuò)展的優(yōu)點(diǎn)。單線技術(shù)適用于單主機(jī)系統(tǒng),單主機(jī)能夠控制一個(gè)或多個(gè)從機(jī)設(shè)備。主機(jī)可以是微控制器,從機(jī)可以是單線器件,它們之間的數(shù)據(jù)交換、控制都由這根線完成。主機(jī)或從機(jī)通過一個(gè)漏極開路或三態(tài)端口連至數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放該線,而讓其他設(shè)備使用。單線通常要外接一個(gè)約5K的上拉電阻,這樣,當(dāng)該線閑置時(shí),其狀態(tài)為高電平。主機(jī)和從機(jī)之間的通信主要分3個(gè)步驟:初始化單線器件、識(shí)別單線器件和單線數(shù)據(jù)傳輸。由于只有一根線通信,所以它們必須是嚴(yán)格的主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,主機(jī)訪問每個(gè)單線器

11、件必須嚴(yán)格遵循單線命令序列,即遵守上述3個(gè)步驟的順序。如果命令序列混亂,單線器件將不會(huì)響應(yīng)主機(jī)。所有的單線器件都要遵循嚴(yán)格的協(xié)議,以保證數(shù)據(jù)的完整性。1-wire協(xié)議由復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1這幾種信號(hào)類型組成。這些信號(hào)中,除了應(yīng)答脈沖,其他均由主機(jī)發(fā)起,并且所有命令和數(shù)據(jù)都是字節(jié)的地位在前DS18B20的引腳及功能介紹DS18B20的外形及TO92封裝引腳排列見左圖,其引腳功能描述見表1,實(shí)測溫度和數(shù)字輸出的對應(yīng)關(guān)系見表2.表1 DS18B20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1GND地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提

12、供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。表2 溫度值分辨率配置表溫度數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008H00000 0000 0000 0000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-2

13、5.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90HDS18B20的使用方法由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機(jī)來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時(shí)序來完成對DS18B20芯片的訪問。 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備

14、,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 DS18B20的復(fù)位時(shí)序,置總線為低電平并保持至少480us,然后拉高電平,等待從端重新拉低電平作為響應(yīng),則總線復(fù)位完成。(1) DS18B20的讀時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。對于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。 (3) DS18B20

15、的寫時(shí)序 ,對于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程。對于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 (4) DS18B20在電路中的連接,見圖4。1- wire總線支持一主多從式結(jié)構(gòu),硬件上需外接上拉電阻。當(dāng)一方完成數(shù)據(jù)通信需要釋放總線時(shí),只需將總線置高點(diǎn)平即可;若需要獲得總線進(jìn)行通信時(shí)則要監(jiān)視總線是否空閑,若空閑,則置低電平獲得總線控制權(quán)。圖4 DS18B20測溫電路DS18B2

16、0采集溫度程序如下: #include<includes.h>/=/=DS18b20模塊初始化=/=/ sbit DQ = P27;/-delayDs18b20延時(shí)函數(shù)void delayDs18b20(uint i)/延時(shí)函數(shù) while(i-);/-18b20初始化函數(shù)void Init_DS18B20(void) DQ = 1; /DQ復(fù)位 delayDs18b20(8); /稍做延時(shí) DQ = 0; /單片機(jī)將DQ拉低 delayDs18b20(80); /精確延時(shí) 大于 480us DQ = 1; /拉高總線 delayDs18b20(20);/-讀一個(gè)字節(jié)uchar R

17、eadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i>0;i-) DQ = 0; / 給脈沖信號(hào) dat>>=1; DQ = 1; / 給脈沖信號(hào) if(DQ) dat|=0x80; delayDs18b20(5); return(dat);/-寫一個(gè)字節(jié)void WriteOneChar(uchar dat) uchar i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delayDs18b20(5); DQ = 1; dat>>=1; delayDs18b

18、20(5);/-讀取溫度float ReadTemperature(void)uchar TH=0;uchar TL=0;Init_DS18B20();WriteOneChar(0xCC); / 跳過讀序號(hào)列號(hào)的操作WriteOneChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換delayDs18b20(200);Init_DS18B20();WriteOneChar(0xCC); /跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度TL=ReadOneChar();TH=ReadOneChar();return(TH*256+TL)*

19、0.0625);鍵盤管理模塊當(dāng)通電或復(fù)位以后,系統(tǒng)進(jìn)入鍵盤管理狀態(tài),單片機(jī)只接收設(shè)定溫度和啟動(dòng)。當(dāng)檢測到有鍵閉合時(shí)先去除抖動(dòng),這里采用軟件延時(shí)的方法,延時(shí)一段時(shí)間后,再確定是否有鍵閉合,然后將設(shè)定好的值送入預(yù)置溫度數(shù)據(jù)區(qū),并調(diào)用溫度合法檢測報(bào)警程序,當(dāng)設(shè)定溫度超過最大值如90時(shí)就會(huì)報(bào)警,最后當(dāng)啟動(dòng)鍵閉合時(shí)啟動(dòng)加熱。鍵盤設(shè)定:用于溫度設(shè)定。共三個(gè)按鍵。 KEY1(P1.1):溫度設(shè)置確認(rèn);溫度重新設(shè)置。KEY2(P1.2): 設(shè)置溫度“+”。KEY3(P1.3): 設(shè)置溫度“-”。 KEY4 (P1.4) :狀態(tài)切換。系統(tǒng)上電后,液晶顯示器全部顯示為零,根據(jù)按 KEY1 次數(shù),決定顯示的狀態(tài),根

20、據(jù)相應(yīng)的狀態(tài),利用KEY2、KEY3進(jìn)行加減,當(dāng)溫度設(shè)定好之后,再按KEY4確定,系統(tǒng)開始測溫,開啟加熱器。按鍵程序 #include<includes.h>/=/=鍵盤延時(shí)函數(shù)=/=/void DelayKeyms(int z) int i,j;for(j=z;j>=0;j-)for(i=110;i>=0;i-); /=/=鍵盤掃描函數(shù)=/=/sbit SET=P10;sbit UP=P11;sbit DOWN=P12;sbit OUT=P13;uchar count=0;uchar OutFlag=0;float TempSet=25.0;float temp;/*

21、uchar KeyScan(void)if(Key1=0)DelayKeyms(10);if(Key1=0)while(!Key1);return 1; if(Key2=0)DelayKeyms(10);if(Key2=0)while(!Key2);return 2;if(Key3=0)DelayKeyms(10);if(Key3=0)while(!Key3);return 3;return 0; */void SetKey() /模式選擇 if(SET=0) DelayKeyms(10); if(SET=0) count+; if(count>2) count=1; while(SET

22、=0); void UpKey() /按鍵加 if(UP=0) DelayKeyms(10); if(UP=0) switch(count) case 1:temp=TempSet; temp=temp+1; if(temp>50.0) temp=20.0; TempSet=temp; break; case 2:temp=TempSet; temp=temp+0.1; if(temp>50.0) temp=20.0; TempSet=temp; break; default:break; while(UP=0); void DownKey() /按鍵減 if(DOWN=0) De

23、layKeyms(10); if(DOWN=0) switch(count) case 1:temp=TempSet; temp=temp-1; if(temp<20.0) temp=50.0; TempSet=temp; break; case 2:temp=TempSet; temp=temp-0.1; if(temp<20.0) temp=50.0; TempSet=temp; break; default:break; while(DOWN=0); void OutKey() /彈出 if(OUT=0) DelayKeyms(10); if(OUT=0) OutFlag+;

24、 if(OutFlag>1) OutFlag=0; while(OUT=0); void keyDone() /按鍵功能執(zhí)行 dispaly(0x80,"Tem:",ReadTemperature(),"'C"); dispaly(0x80+0x40,"Set:",TempSet,"'C"); SetKey(); switch(count) case 1: UpKey(); DownKey(); dispaly(0x80+0x40,"Set:",TempSet,"

25、'C"); break; case 2: UpKey(); DownKey();dispaly(0x80+0x40,"Set:",TempSet,"'C"); break; default:break; OutKey(); LCD顯示電路. 1602液晶也叫1602 字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。1602LCD 主要技術(shù)參數(shù):顯示容量:16×2 個(gè)字符,芯片工作電壓:4.55.5V ;工作電流:2.0mA(

26、5.0V);模塊最佳工作電壓:5.0V; 字符尺寸:2.95×4.35(W×H)mm; 本系統(tǒng)通過 LCD1602 顯示預(yù)設(shè)以及實(shí)際的溫度,并能顯示燈泡現(xiàn)在處于的狀態(tài)是加熱還是停止加熱。其程序如下 :#include<includes.h>/=/=液晶初始化及顯示模塊=/=/sbit RS=P20; /數(shù)據(jù)/命令選擇端sbit RW=P21; /讀/寫選擇端sbit E=P22; /使能端uchar table10='0','1','2','3','4','5',&#

27、39;6','7','8','9'/-delay延時(shí)函數(shù)void delay1602(int z) int i,j;for(j=z;j>=0;j-)for(i=11;i>=0;i-); /-寫com為命令void write_com(uchar com) E=0;RS=0; RW=0;P0=com;E=1; delay1602(20);E=0; RS=1;/-寫dat為數(shù)據(jù)void write_dat ( uchar dat )E=0; RS=1; RW=0;P0=dat;E=1;delay1602(20); E=0; RS=

28、0; /-初始化液晶屏void init_1602()write_com(0x38);delay1602(50); write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);/-液晶顯示函數(shù)/-address為顯示地址:/0x80-第一行,0x80+0x40-第二行/-mean為意義字符串/-value為顯示值/-unit單位字符串void dispaly(uchar address,uchar mean,float value,uchar unit)uchar *pt;int Val;wri

29、te_com(address);for(pt=mean;*pt!='0'pt+)write_dat(*pt);Val = (int)(value*10);write_dat(tableVal/100);write_dat(tableVal%100/10);write_dat('.');write_dat(tableVal%10);for(pt=unit;*pt!='0'pt+)write_dat(*pt);PI計(jì)算程序如下: #include<includes.h>float ErrorNew;float ErrorSum;uchar

30、 PIControl(float Kp,float Ki,float tset,float tfeedback) int Result=0; ErrorNew = tset-tfeedback; ErrorSum+=ErrorNew; if(ErrorSum >400.0) ErrorSum = 400.0; if(ErrorSum<-40.0) ErrorSum =-40.0; Result= Kp*ErrorNew + Ki*ErrorSum; if(Result>=36) Result = 36; if(Result<=7) Result = 7; Result

31、= 40-Result; return Result;系統(tǒng)軟件設(shè)計(jì)1程序結(jié)構(gòu)框架主程序模塊鍵盤輸入LCD顯示DS18B20采集溫度PI計(jì)算程序結(jié)構(gòu)框架圖主程序模塊相當(dāng)于調(diào)度室,對子程序模塊的調(diào)用進(jìn)行管理,它主要負(fù)責(zé)初始化 IO 口; 等待鍵盤被按下,并調(diào)用相應(yīng)的模塊進(jìn)行處理;顯示溫度控制過程;在適當(dāng)?shù)臅r(shí)候通過 DS18B20 檢測實(shí)際溫度, 并與所設(shè)定的值進(jìn)行比較,判斷報(bào)警并通過調(diào)用 PID 算法處理數(shù)據(jù),處理后來控制可控硅的通斷,從而控制恒溫箱達(dá)到控制溫度的目的。系統(tǒng)調(diào)試與仿真1, 硬件調(diào)試根據(jù)設(shè)計(jì)的原理電路做好實(shí)驗(yàn)樣機(jī),便進(jìn)入硬件調(diào)試階段。調(diào)試工作的主要任務(wù)是排除樣機(jī)故障,其中包括設(shè)計(jì)錯(cuò)誤

32、和工藝性故障。1.1 脫機(jī)檢查用萬能表或邏輯測試筆逐步按照邏輯圖檢查機(jī)中各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總線是否有短路等故障。有時(shí)為保護(hù)芯片,先對各管座的電位(或電源)進(jìn)行檢查,確定其無誤后再插入芯片檢查。1.2仿真調(diào)試暫時(shí)排除目標(biāo)板的CPU和EPROM,將樣機(jī)接上仿真機(jī)的40芯仿真插頭進(jìn)行調(diào)試,調(diào)試各部分接口電路是否滿足設(shè)計(jì)要求。這部分工作是一種經(jīng)驗(yàn)性很強(qiáng)的工作,一般來說,設(shè)計(jì)制作的樣機(jī)不可能一次性完好,總是需要調(diào)試的。通常的方法是,先編調(diào)試軟件,逐一檢查調(diào)試硬件電路系統(tǒng)設(shè)計(jì)的準(zhǔn)確性。1.2 檢查CPU的時(shí)鐘電路通過測試ALE信號(hào),如沒有ALE信號(hào),則判斷是晶

33、體或CPU故障,這稱之為“心臟”檢查。檢查ABUS/DBUS的分時(shí)復(fù)用功能的地址鎖存是否正常。檢查I/O地址分配器。一般是由部分譯碼或全譯碼電路構(gòu)成,如是部分譯碼設(shè)計(jì),則排除地址重疊故障。2軟件調(diào)試 軟件調(diào)試 軟件調(diào)試根據(jù)開發(fā)的設(shè)備情況選擇不同的調(diào)試方法總結(jié)通過本次的恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)我學(xué)習(xí)到了許多東西,也認(rèn)識(shí)到了許多我的不足之處,加深了對52單片機(jī)的理解,也豐富了我的課余時(shí)間,增強(qiáng)了我的動(dòng)手能力,使我能更好的把理論知識(shí)與實(shí)際設(shè)計(jì)更好的結(jié)合起來。經(jīng)過老師的指導(dǎo)和同學(xué)的幫助,加強(qiáng)了我的分析,動(dòng)手能力,使我能從更多的方面去考慮問題。參考文獻(xiàn)1 單片機(jī)原理與應(yīng)用/戴勝華等-北京:清華大學(xué)出

34、版社;北京交通大學(xué)出版社,2005.4 2AVR 單片機(jī)快速入門/徐瑋等-北京:機(jī)械工業(yè)出版社,2011.113 C 語言程序設(shè)計(jì)/戴勝華等-北京:清華大學(xué)出版社,2004 單片機(jī)原理與應(yīng)用/戴勝華等-北京:清華大學(xué)出版社;北京交通大學(xué)出版社,2005.4 5 計(jì)算機(jī)控制系統(tǒng)/高金源等-北京:清華大學(xué)出版社,2007.1 附錄 系統(tǒng)源程序#include<includes.h>sbit Controlpin=P26;sbit Light=P25;sbit Beep=P24;/=/=延時(shí)函數(shù)=/=/void Delayms(int z) int i,j;for(j=z;j>=0;j-)for(i=110;i>=0;i-); /=/=主函數(shù)=/=/uchar beepflag=0;uchar Be_LiFlag=0;extern float TempSet;float TempR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論