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

下載本文檔

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

文檔簡(jiǎn)介

1、西南科技大學(xué)計(jì)算機(jī)控制系統(tǒng)報(bào)告設(shè)計(jì)名稱(chēng): 恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì) 姓 名: XXX 學(xué) 號(hào): XXX 班 級(jí): 自動(dòng)09XX 指導(dǎo)教師: 聶詩(shī)良 起止日期: 2012.10.15-2012.11.15 西南科技大學(xué)信息工程學(xué)院制25設(shè) 計(jì) 任 務(wù) 書(shū)學(xué)生班級(jí): 自動(dòng)0903 學(xué)生姓名: XXX 學(xué)號(hào): 2009XXX 設(shè)計(jì)名稱(chēng): 恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì) 起止日期: 10月15日11月15日 指導(dǎo)教師: 聶詩(shī)良 設(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ā)選取了體積小、精度相對(duì)高的數(shù)字式溫度傳感元件DS18B20作為溫度采集器,單片機(jī)AT89C51作為主控芯片,液晶作為顯示輸出,實(shí)現(xiàn)了對(duì)溫度的實(shí)時(shí)測(cè)量與恒定控制。關(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對(duì)溫度進(jìn)行控制,采用單總線傳輸方式的DS18B20作為溫度傳感器,與按鍵、液晶顯示、報(bào)鳴器等外部輔助硬件共同組成一個(gè)溫度控制系統(tǒng),實(shí)現(xiàn)溫度的自我調(diào)節(jié)。2控制要求1)溫度采集傳感器采用熱電阻或熱電偶,或一體化數(shù)字溫度傳感器DS18B20。(2)控制燈泡亮度或發(fā)熱量,采用繼電器開(kāi)關(guān)控制或用可控硅平滑控制。(3)采用單片機(jī)或PLC作為控制器。(4)采用LED或LCD或PC機(jī)的液晶顯示器作為顯示器,同時(shí)顯示給定溫度和實(shí)際溫度。(5)采用自制按鍵或PC機(jī)的鍵盤(pán)作為溫度給定值輸入。(6)恒溫箱實(shí)際溫

5、度達(dá)到給定值時(shí)(誤差要求1)需聲光提示,聲音時(shí)延5秒后停止。(7)恒溫箱最高溫度50。(8)系統(tǒng)操作流程是:1)確認(rèn)系統(tǒng)連接就緒,無(wú)安全隱患;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)無(wú)安全隱患后可離開(kāi)。3.系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)溫度控制系統(tǒng)是一個(gè)過(guò)程控制系統(tǒng),組成框圖如圖 1 所示 控制器執(zhí)行器溫度傳感器被控對(duì)象 計(jì)算機(jī)控制系統(tǒng)框圖 圖1本系統(tǒng)中 CPU 選擇為AT89S52單片機(jī),執(zhí)行器為可控硅,控制加熱燈泡通斷,檢測(cè)裝置為ds18B20溫度傳感器,采集溫度并反饋給單片機(jī)。另外還有鍵盤(pán)輸入部

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

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

8、設(shè)有唯一的產(chǎn)品序列號(hào),因此多個(gè)DS18B20可以掛接于同一條單線總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構(gòu)成多點(diǎn)溫度測(cè)控系統(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)測(cè)溫范圍為-55 +125 。在-10+85范圍內(nèi)誤差為0.5 。 (5)通過(guò)編程可實(shí)現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,通過(guò)識(shí)別芯片

9、各自唯一的產(chǎn)品序列號(hào)從而實(shí)現(xiàn)單線多掛接,多個(gè)DS18B20可以并聯(lián)在唯一的線上,簡(jiǎn)化了分布式溫度檢測(cè)的應(yīng)用,實(shí)現(xiàn)多點(diǎn)測(cè)溫。 (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)線。美國(guó)達(dá)拉斯半導(dǎo)體公司推出了一項(xiàng)特有的單線(1-wire)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號(hào)線,即可傳輸時(shí)鐘,又能傳輸數(shù)據(jù),

10、而且數(shù)據(jù)傳輸是雙向的,因而這種單線技術(shù)具有線路簡(jiǎn)單、硬件開(kāi)銷(xiāo)少、成本低廉、便于擴(kuò)展的優(yōu)點(diǎn)。單線技術(shù)適用于單主機(jī)系統(tǒng),單主機(jī)能夠控制一個(gè)或多個(gè)從機(jī)設(shè)備。主機(jī)可以是微控制器,從機(jī)可以是單線器件,它們之間的數(shù)據(jù)交換、控制都由這根線完成。主機(jī)或從機(jī)通過(guò)一個(gè)漏極開(kāi)路或三態(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ī)訪問(wèn)每個(gè)單線器件必須嚴(yán)格遵

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

12、DD可選擇的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-25.0625

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

14、作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(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è)過(guò)程。對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。 (3) DS18B20的寫(xiě)時(shí)序 ,

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

16、序如下: #include/=/=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 ReadOneChar(void)uchar i=

17、0;uchar dat = 0;for (i=8;i0;i-) DQ = 0; / 給脈沖信號(hào) dat=1; DQ = 1; / 給脈沖信號(hào) if(DQ) dat|=0x80; delayDs18b20(5); return(dat);/-寫(xiě)一個(gè)字節(jié)void WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delayDs18b20(5); DQ = 1; dat=1; delayDs18b20(5);/-讀取溫度f(wàn)loat ReadTemperature(void)uchar TH=0;uc

18、har TL=0;Init_DS18B20();WriteOneChar(0xCC); / 跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換delayDs18b20(200);Init_DS18B20();WriteOneChar(0xCC); /跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度TL=ReadOneChar();TH=ReadOneChar();return(TH*256+TL)*0.0625);鍵盤(pán)管理模塊當(dāng)通電或復(fù)位以后,系統(tǒng)進(jìn)入鍵盤(pán)管理狀態(tài),單片機(jī)只接收設(shè)定溫度和啟動(dòng)。當(dāng)檢測(cè)到

19、有鍵閉合時(shí)先去除抖動(dòng),這里采用軟件延時(shí)的方法,延時(shí)一段時(shí)間后,再確定是否有鍵閉合,然后將設(shè)定好的值送入預(yù)置溫度數(shù)據(jù)區(qū),并調(diào)用溫度合法檢測(cè)報(bào)警程序,當(dāng)設(shè)定溫度超過(guò)最大值如90時(shí)就會(huì)報(bào)警,最后當(dāng)啟動(dòng)鍵閉合時(shí)啟動(dòng)加熱。鍵盤(pán)設(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),根據(jù)相應(yīng)的狀態(tài),利用KEY2、KEY3進(jìn)行加減,當(dāng)溫度設(shè)定好之后,再按KEY4確定,系統(tǒng)開(kāi)始測(cè)溫,開(kāi)啟加熱

20、器。按鍵程序 #include/=/=鍵盤(pán)延時(shí)函數(shù)=/=/void DelayKeyms(int z) int i,j;for(j=z;j=0;j-)for(i=110;i=0;i-); /=/=鍵盤(pán)掃描函數(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;/*uchar KeyScan(void)if(Key1=0)DelayKeyms(10);if(Key1=0)while(!Key1);return 1; i

21、f(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(count2) count=1; while(SET=0); void UpKey() /按鍵加 if(UP=0) DelayKeyms(10); if(UP=0) switch(count) case 1:temp

22、=TempSet; temp=temp+1; if(temp50.0) temp=20.0; TempSet=temp; break; case 2:temp=TempSet; temp=temp+0.1; if(temp50.0) temp=20.0; TempSet=temp; break; default:break; while(UP=0); void DownKey() /按鍵減 if(DOWN=0) DelayKeyms(10); if(DOWN=0) switch(count) case 1:temp=TempSet; temp=temp-1; if(temp20.0) temp

23、=50.0; TempSet=temp; break; case 2:temp=TempSet; temp=temp-0.1; if(temp1) 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,C); break; case 2: U

24、pKey(); DownKey();dispaly(0x80+0x40,Set:,TempSet,C); break; default:break; OutKey(); LCD顯示電路. 1602液晶也叫1602 字符型液晶它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。1602LCD 主要技術(shù)參數(shù):顯示容量:162 個(gè)字符,芯片工作電壓:4.55.5V ;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V; 字符尺寸:2.954.35(WH)mm; 本系統(tǒng)通過(guò) LCD1602 顯示預(yù)設(shè)以及實(shí)際的溫

25、度,并能顯示燈泡現(xiàn)在處于的狀態(tài)是加熱還是停止加熱。其程序如下 :#include/=/=液晶初始化及顯示模塊=/=/sbit RS=P20; /數(shù)據(jù)/命令選擇端sbit RW=P21; /讀/寫(xiě)選擇端sbit E=P22; /使能端uchar table10=0,1,2,3,4,5,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-); /-寫(xiě)com為命令void write_com(uchar com) E=0;RS=0; RW=0;P0=com;E=1; delay1602(20);

26、E=0; RS=1;/-寫(xiě)dat為數(shù)據(jù)void write_dat ( uchar dat )E=0; RS=1; RW=0;P0=dat;E=1;delay1602(20); E=0; RS=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

27、為顯示值/-unit單位字符串void dispaly(uchar address,uchar mean,float value,uchar unit)uchar *pt;int Val;write_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

28、計(jì)算程序如下: #includefloat ErrorNew;float ErrorSum;uchar 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=36) Result = 36; if(Result=7) Result = 7; Result = 40-Result; return Result;系統(tǒng)軟件設(shè)計(jì)

29、1程序結(jié)構(gòu)框架主程序模塊鍵盤(pán)輸入LCD顯示DS18B20采集溫度PI計(jì)算程序結(jié)構(gòu)框架圖主程序模塊相當(dāng)于調(diào)度室,對(duì)子程序模塊的調(diào)用進(jìn)行管理,它主要負(fù)責(zé)初始化 IO 口; 等待鍵盤(pán)被按下,并調(diào)用相應(yīng)的模塊進(jìn)行處理;顯示溫度控制過(guò)程;在適當(dāng)?shù)臅r(shí)候通過(guò) DS18B20 檢測(cè)實(shí)際溫度, 并與所設(shè)定的值進(jìn)行比較,判斷報(bào)警并通過(guò)調(diào)用 PID 算法處理數(shù)據(jù),處理后來(lái)控制可控硅的通斷,從而控制恒溫箱達(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ò)誤和工藝性故障。1.1 脫機(jī)檢查用萬(wàn)能表或邏輯測(cè)試筆逐步按照邏輯圖檢

30、查機(jī)中各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總線是否有短路等故障。有時(shí)為保護(hù)芯片,先對(duì)各管座的電位(或電源)進(jìn)行檢查,確定其無(wú)誤后再插入芯片檢查。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)的工作,一般來(lái)說(shuō),設(shè)計(jì)制作的樣機(jī)不可能一次性完好,總是需要調(diào)試的。通常的方法是,先編調(diào)試軟件,逐一檢查調(diào)試硬件電路系統(tǒng)設(shè)計(jì)的準(zhǔn)確性。1.2 檢查CPU的時(shí)鐘電路通過(guò)測(cè)試ALE信號(hào),如沒(méi)有ALE信號(hào),則判斷是晶體或CPU故障,這稱(chēng)之為“心臟”檢查。檢查ABUS/DBUS的分時(shí)

31、復(fù)用功能的地址鎖存是否正常。檢查I/O地址分配器。一般是由部分譯碼或全譯碼電路構(gòu)成,如是部分譯碼設(shè)計(jì),則排除地址重疊故障。2軟件調(diào)試 軟件調(diào)試 軟件調(diào)試根據(jù)開(kāi)發(fā)的設(shè)備情況選擇不同的調(diào)試方法總結(jié)通過(guò)本次的恒溫箱溫度計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)我學(xué)習(xí)到了許多東西,也認(rèn)識(shí)到了許多我的不足之處,加深了對(duì)52單片機(jī)的理解,也豐富了我的課余時(shí)間,增強(qiáng)了我的動(dòng)手能力,使我能更好的把理論知識(shí)與實(shí)際設(shè)計(jì)更好的結(jié)合起來(lái)。經(jīng)過(guò)老師的指導(dǎo)和同學(xué)的幫助,加強(qiáng)了我的分析,動(dòng)手能力,使我能從更多的方面去考慮問(wèn)題。參考文獻(xiàn)1 單片機(jī)原理與應(yīng)用/戴勝華等-北京:清華大學(xué)出版社;北京交通大學(xué)出版社,2005.4 2AVR 單片機(jī)快速入門(mén)/徐瑋等-北京:機(jī)械工業(yè)出版社,2011.113 C 語(yǔ)言程序設(shè)計(jì)/戴勝華等-北京:清華大學(xué)出版社,2004 單片機(jī)原理與應(yīng)用/戴勝華等-北京:清華大學(xué)出版社;北京交通大學(xué)出版社,2005.4 5 計(jì)算機(jī)控制系統(tǒng)/高金源等-北京:清華大學(xué)出版社,2007.1 附錄 系統(tǒng)源程序#includesbit 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 beepfl

溫馨提示

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

評(píng)論

0/150

提交評(píng)論