版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、恒溫控制系統(tǒng)設(shè)計(jì)報(bào)告 學(xué) 院:電子信息學(xué)院 班 級:12級電子信息工程 指導(dǎo)老師:xxx 姓 名:zzz 學(xué) 號: 前言水溫控制無論是在工業(yè)生產(chǎn)中,還是在日常生活中都起著非常重要的作用,過低的溫度或過高的溫度都會(huì)使水資源失去應(yīng)有的作用,從而造成水資源的巨大浪費(fèi)。為了保證生產(chǎn)過程正常安全地進(jìn)行,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動(dòng)強(qiáng)度、節(jié)約能源,要求對水溫進(jìn)監(jiān)測、顯示、控制,使之達(dá)到工藝標(biāo)準(zhǔn),滿足需要。由于電子行業(yè)的迅猛發(fā)展,計(jì)算機(jī)技術(shù)和傳感器技術(shù)的不斷改進(jìn),而且計(jì)算機(jī)和傳感器的價(jià)格也日益降低,可靠性逐步提高,用信息技術(shù)來實(shí)現(xiàn)水溫控制并提高控制的精確度不僅是可以達(dá)到的而且是容易實(shí)現(xiàn)的。其發(fā)展
2、必將帶來新一輪的工業(yè)化的革命和社會(huì)發(fā)展的飛躍。在計(jì)算機(jī)沒有發(fā)明之前,這些控制都是我們難以想象的。而當(dāng)今,隨著電子行業(yè)的迅猛發(fā)展,計(jì)算機(jī)技術(shù)和傳感器技術(shù)的不斷改進(jìn),而且計(jì)算機(jī)和傳感器的價(jià)格也日益降低,可靠性逐步提高,用信息技術(shù)來實(shí)現(xiàn)水溫控制并提高控制的精確度不僅是可以達(dá)到的而且是容易實(shí)現(xiàn)的。用高新技術(shù)來解決工業(yè)生產(chǎn)問題,排除生活用水問題實(shí)施對水溫的控制已成為我們電子行業(yè)的任務(wù),以此來加強(qiáng)工業(yè)化建設(shè),提高人民的生活水平。采用PID算法進(jìn)行溫度控制,它具有控制精度高,能夠克服容量滯后的特點(diǎn),特別適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。因此,我們在此基礎(chǔ)上運(yùn)用PID控制器方案制作
3、溫度控制器。 目錄前言目錄摘要3第1章 設(shè)計(jì)方案論證.31.1主控芯片的選擇2 1.2溫度控制模塊.3 1.3溫度采集模塊.4 1.4溫度顯示模塊.4第2章 系統(tǒng)設(shè)計(jì).5 2.1總體方案設(shè)計(jì).52.2硬件電路設(shè)計(jì).52.2.1 stc89c52最小系統(tǒng)模塊.52.2.2溫度控制模塊.6 2.2.3溫度采集模塊.7 2.2.4溫度顯示模塊.8 2.2.5鍵盤輸入模塊.9 2.3軟件設(shè)計(jì).10 2.3.1 程序流程圖.10 2.3.2 PWM輸出程序設(shè)計(jì)112.3.3 PID程序設(shè)計(jì).112.3.4 DS18B20溫度采集程序設(shè)計(jì).12 2.3.5 數(shù)碼管顯示程序設(shè)計(jì).13 2.3.6 獨(dú)立按鍵掃
4、描程序設(shè)計(jì).15第3章 系統(tǒng)測試.17 3.1測試數(shù)據(jù)記錄.17 3.2數(shù)據(jù)分析與結(jié)論.18第4章 總結(jié).18參考文獻(xiàn).19附錄.19附錄1 主要元器件明細(xì)表 附錄2 儀器設(shè)備清單附錄3 程序設(shè)計(jì)摘要:本設(shè)計(jì)基于STC89C52RC單片機(jī)水溫測量及控制系統(tǒng)的設(shè)計(jì)。系統(tǒng)硬件部分由單片機(jī)電路、溫度采集電路、鍵盤電路、LED顯示電路、MOS管控制電路等組成。本系統(tǒng)采用數(shù)字式溫度傳感器DS18B20作為溫度傳感器,簡易實(shí)用,方便拓展。軟件設(shè)計(jì)中由兩個(gè)定時(shí)器產(chǎn)生一個(gè)PWM波,并通過PID控制PWM波的占空比從而控制MOS管的通斷時(shí)間以控制加熱功率。本系統(tǒng)可實(shí)現(xiàn)水溫的動(dòng)態(tài)平衡,穩(wěn)態(tài)溫差0.1攝氏度。關(guān)鍵詞
5、: STC89C52 占空比 PID第1章 設(shè)計(jì)方案論證 1.1主控芯片的選擇 方案一:STC89C52RCSTC89C52RC 單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單 片機(jī),指令代碼完全兼容傳統(tǒng) 8051 單片機(jī),STC89C52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核。內(nèi)部含有兩個(gè)16位定時(shí)器模塊,兩個(gè)外部中斷,8k字節(jié)flash閃速存儲(chǔ)器,256字節(jié)RAM,支持位操作指令方案二:MSP430F149Msp430f149是TI公司推出的超低功耗處理器,工作電壓3.6V1.8V ,正常工作模式280A1MHz,2.2V,待機(jī)模式1.6A,RAM數(shù)據(jù)保存的掉電模式下0.
6、1A。五級節(jié)電模式。內(nèi)部含有2個(gè)16位計(jì)數(shù)器,16個(gè)外部中斷,60k字節(jié)flash閃速存儲(chǔ)器,2k字節(jié)RAM。由于溫度具有很強(qiáng)的滯后性,所以對處理器的速度要求不高;又因?yàn)閱纹瑱C(jī)功耗與加熱功耗相比非常小,所以我們選擇操作簡單,價(jià)格便宜的STC89C52RC單片機(jī)作為主控芯片。1.2溫度控制模塊方案一:采用可控硅來控制加熱器有效功率。可控硅是一種半控器件,應(yīng)用于交流電的功率控制有兩種形式:控制導(dǎo)通的交流周期數(shù)達(dá)到控制功率的目的;控制導(dǎo)通角的控制交流功率。由交流過零檢測電路輸出方波經(jīng)適當(dāng)延時(shí)控制雙向可控硅的導(dǎo)通角,延時(shí)時(shí)間即移相偏移量由溫度誤差計(jì)算得到。可以實(shí)現(xiàn)對交流電單個(gè)周期有效值周期性控制,保證
7、系統(tǒng)的動(dòng)態(tài)性能指標(biāo)。該方案電路稍復(fù)雜,需使用光耦合驅(qū)動(dòng)芯片以及變壓器等器件。但該方案可以實(shí)現(xiàn)功率的連續(xù)調(diào)節(jié),因此反應(yīng)速度快,控制精度高。方案二:采用繼電器控制。使用繼電器可以很容易地實(shí)現(xiàn)通過較高的電壓和電流,在正常條件下,工作十分可靠。繼電器無需外加光耦,自身即可實(shí)現(xiàn)電氣隔離。這種電路無法精確實(shí)現(xiàn)電熱絲功率控制,電熱絲只能工作在最大功率或零功率,對控制精度將造成影響。但可以由多路加熱絲組成功率控制,由單片機(jī)對溫差的處理實(shí)現(xiàn)分級功率控制提高系統(tǒng)動(dòng)態(tài)性能。方案三:采用MOS管控制MOS管(Field Effect Transistor縮寫(FET)簡稱場效應(yīng)管。由多數(shù)載流子參與導(dǎo)電,也稱為單極型晶
8、體管。它屬于電壓控制型半導(dǎo)體器件。具有輸入電阻高(108109)、噪聲小、功耗低、動(dòng)態(tài)范圍大、易于集成、沒有二次擊穿現(xiàn)象、安全工作區(qū)域?qū)挼葍?yōu)點(diǎn),場效應(yīng)管能在很小電流和很低電壓的條件下工作,而且它的制造工藝可以很方便地把很多場效應(yīng)管集成在一塊硅片上,因此場效應(yīng)管在大規(guī)模集成電路中得到了廣泛的應(yīng)用??煽毓桦娐愤^載能力小,尤其是短路時(shí)必須要由快速熔短器來保護(hù),安全性能差;繼電器無法精確實(shí)現(xiàn)電熱絲功率控制;所以我們選擇方案三 1.3溫度采集模塊方案一:選用Harris公司生產(chǎn)的采用激光修正的精密集成溫度傳感器AD590。AD590的岑溫范圍是-55+150,最大非線性誤差為0.3,響應(yīng)時(shí)間為20us,
9、重復(fù)性誤差低至0.05,功耗低,僅為2mW。方案二:采用熱敏電阻。選用此類元件的優(yōu)點(diǎn)價(jià)格便宜,但由于熱敏電阻的非線性特性會(huì)帶來較大的誤差。方案三:使用帶有A/D(模數(shù)轉(zhuǎn)換)單片集成的DS18B20傳感器。DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的即單總線器件,無需其他外加電路,直接輸出數(shù)字量??芍苯优c單片機(jī)通信,讀取測溫?cái)?shù)據(jù)。具有線路簡單,性能穩(wěn)定體積小的特點(diǎn)。比較以上方案,結(jié)合設(shè)計(jì)精度要求最小區(qū)分度為1,所以選擇方案三。 1.4溫度顯示模塊方案一:采用8個(gè)LED八段數(shù)碼管分別顯示溫度的十位、個(gè)位和小數(shù)位。數(shù)碼管具有低能耗,低損耗,壽命長,耐老化,對外界環(huán)境要求低。但LED八度數(shù)碼管引腳
10、排列不規(guī)則,動(dòng)態(tài)顯示時(shí)要加驅(qū)動(dòng)電路,硬件電路復(fù)雜。方案二:采用帶有字庫的12864液晶顯示屏。12864液晶顯示屏(LCD)具有功耗低、輕薄短小無輻射危險(xiǎn),平面顯示及影像穩(wěn)定,不閃爍,可視面積大,畫面效果好,抗干擾能力強(qiáng)。同時(shí),12864帶有字庫,編程容易,且具有多種功能:光標(biāo)顯示、畫面移位、睡眠模式,增加可讀性,降低功耗。由于要顯示只有設(shè)定和測量的兩個(gè)溫度值,8位數(shù)碼管足夠使用,所以我們選擇方案一。 第2章 系統(tǒng)設(shè)計(jì) 2.1總體方案設(shè)計(jì) 2.2硬件電路設(shè)計(jì) 2.2.1 stc89c52最小系統(tǒng)模塊STC89C52RC 單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全
11、兼容傳統(tǒng) 8051 單片機(jī),12 時(shí)鐘/機(jī)器周期和 6 時(shí)鐘/機(jī)器周 期可以任意選擇。主要特性如下: 1、兼容MCS51指令系統(tǒng);2、8kB可反復(fù)擦寫(大于1000次)Flash ROM;3、32個(gè)雙向I/O口;4、256x8bit內(nèi)部RAM;5、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;6、時(shí)鐘頻率0-24MHz;7、2個(gè)串行中斷,可編程UART串行通道;8、2個(gè)外部中斷源,共8個(gè)中斷源;9、2個(gè)讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C52為8 位通用微處理器,采用工業(yè)
12、標(biāo)準(zhǔn)的C51內(nèi)核。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0端口(第39-32腳):雙向信號,多功能端口。它是八位漏極開路的雙向I/O端口;在拓展外部總線時(shí),分時(shí)作為低八位總線和八位雙向數(shù)據(jù)總線。P0端口可驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。P0口漏極開路,即高阻狀態(tài),適用于輸入/輸出,可獨(dú)立輸入/輸出低電平和高阻狀態(tài),若需要輸出高電平,則需使用外部上拉電阻。P1端口(第1-8腳):雙向信號,具有內(nèi)部
13、上拉電阻的8位準(zhǔn)雙向I/O端口,可驅(qū)動(dòng)四個(gè)LSTTL負(fù)載。P2端口(第21-28腳):雙向信號,多功能端口,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口;在拓展外部總線時(shí),用作高八位地址總線,可驅(qū)動(dòng)四個(gè)LSTTL負(fù)載。P3端口(第10-17腳):雙向信號,多功能端口,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口,可驅(qū)動(dòng)四個(gè)LSTTL負(fù)載;該端口的每一位都可以作為其他功能模塊的輸入/輸出及控制引腳使用。 圖2.2.1STC89C52RC最小系統(tǒng)2.2.2溫度控制模塊 此部分電路主要由MOS管控制。MOS管源極接地;漏極接一個(gè)50W,10歐姆的加熱電阻接15V直流電;柵極接單片機(jī)PWM波輸出端口。單片機(jī)通過輸
14、出PWM波的占空比控制MOS管的閉合時(shí)間來控制加熱功率;控制部分電路圖如圖2.2.2所示:圖2.2.2 溫度控制電路 2.2.3溫度采集模塊 溫度采集模塊選用高度集成芯片DS18B20。DS18B20為單總線結(jié)構(gòu),總共有三個(gè)引腳VCC、GND和信號線。電路連接簡單方便,只需格外接少量的電阻電容。硬件電路圖如圖2.2.3所示:圖2.2.3 DS18B20硬件連接圖2.2.4溫度顯示模塊 溫度顯示模塊采用8個(gè)八位共陰極數(shù)碼管,通過8位鎖存器MC74HC573完成段選和位選,節(jié)省IO口的使用。硬件連接電路圖如圖2.2.4所示: 圖2.2.4 數(shù)碼管顯示電路2.2.5鍵盤輸入模塊按鍵輸入模塊選用四個(gè)獨(dú)
15、立按鍵,通過獨(dú)立按鍵掃描方式輸入設(shè)定值。硬件電路圖如圖2.2.5所示:圖2.2.5 獨(dú)立按鍵硬件連接圖 2.3軟件設(shè)計(jì) 2.3.1 程序流程圖開始定時(shí)器0、1初始化測量水的溫度全速加熱VsetVtest+3 Yes NoPID算法調(diào)節(jié)占空比圖2.3.1 程序流程圖 2.3.2 PWM輸出程序設(shè)計(jì) 本模塊通過STC89C52RC兩個(gè)定時(shí)器協(xié)調(diào)工作輸出一個(gè)頻率為50Hz,占空比可調(diào)的PWM波形,并通過P2.0口輸出以控制MOS管。其中定時(shí)器1初始值恒定為0xb800,精確定時(shí)0.02ms。通過改變定時(shí)器0的初始值改變占空比的大小,程序每執(zhí)行一個(gè)循環(huán)重新裝載一次定時(shí)器0的初始值。程序如下:void
16、init_time(void) TMOD |=0X01; TMOD |=0X10; TH1=0Xb8; TL1=0X00; ET0=1; ET1=1; EA=1; PT1=0; PT0=0;TR1=1; /定時(shí)器0中斷服務(wù)函數(shù)void time0(void)interrupt 1/PWM_OUT=0;TR0=0;/定時(shí)器1中斷服務(wù)函數(shù) void time1()interrupt 3TH1=0Xb8;TL1=0X00; PWM_OUT=1; TH0=th0;TL0=tl0; TR0=1;2.3.3 PID程序設(shè)計(jì)PID是比例(P)、積分(I)、微分(D)控制算法,計(jì)算公式為dout=kp*e+k
17、i*se+kd*de; 比例(P)、積分(I)、微分(D)控制算法各有作用:比例,反應(yīng)系統(tǒng)的基本(當(dāng)前)偏差e(t),系數(shù)大,可以加快調(diào)節(jié),減小誤差,但過大的比例使系統(tǒng)穩(wěn)定性下降,甚至造成系統(tǒng)不穩(wěn)定;積分,反應(yīng)系統(tǒng)的累計(jì)偏差,使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度,因?yàn)橛姓`差,積分調(diào)節(jié)就進(jìn)行,直至無誤差; 微分,反映系統(tǒng)偏差信號的變化率e(t)-e(t-1),具有預(yù)見性,能預(yù)見偏差變化的趨勢,產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除,因此可以改善系統(tǒng)的動(dòng)態(tài)性能。但是微分對噪聲干擾有放大作用,加強(qiáng)微分對系統(tǒng)抗干擾不利。 積分和微分都不能單獨(dú)起作用,必須與比例控制配合。PID算法程序
18、如下:void pid(void) float t0,zkb; uint t0_value; float e=0,de=0,dout=0; e=set_value-test_value; se=se+e; de=e-le; dout=kp*e+ki*se+kd*de; le=e; zkb=15+dout; if(zkb80)zkb=80; t0=184.31*zkb; t0=65535-t0;t0_value=(uint)t0;th0=(t0_value & 0xff00)8;tl0=(t0_value & 0x00ff);2.3.4 DS18B20溫度采集程序設(shè)計(jì)DS18B20是單總線結(jié)構(gòu),
19、最高精度0.0625攝氏度。要讀取溫度時(shí)首先通過單總線向DS18B20發(fā)送跳過ROM指令,然后發(fā)送溫度轉(zhuǎn)換命令,等待溫度轉(zhuǎn)換完成后向DS18B20發(fā)送讀取溫度命令,然后就可以讀取DS18B20的12位采樣值。程序如下:/18b20溫度轉(zhuǎn)換與讀溫度操作函數(shù) void read_18b20() short wendu;short a;short b;uint wd;init_18b20();display_value();keyscan();write_bites(0xcc);write_bites(0x44);delay_750ms();init_18b20();display_value();
20、keyscan();write_bites(0xcc);write_bites(0xbe);display_value();a=read_bites();b=read_bites();wendu=b*256+a; test_value=wendu*0.0625;wd=wendu*0.625;value3=wd/100;value4=wd/10%10;value5=wd%10;display_value(); 2.3.5數(shù)碼管顯示程序設(shè)計(jì) 數(shù)碼管顯示程序采用8個(gè)共陰極數(shù)碼管動(dòng)態(tài)刷新模式進(jìn)行,通過8位鎖存器MC74HC573完成段選和位選,節(jié)省IO口的使用。程序如下:void display_va
21、lue(void) P0=sz12;DU=1;DU=0;P0=0x7f;WE=1;WE=0; delay_ms(1);P0=szvalue5;DU=1;DU=0;P0=0xbf;WE=1;WE=0;delay_ms(1);P0=szvalue4+0x80;DU=1;DU=0;P0=0xdf;WE=1;WE=0;delay_ms(1);P0=szvalue3;DU=1;DU=0;P0=0xef;WE=1;WE=0;delay_ms(1);P0=sz12;DU=1;DU=0;P0=0xf7;WE=1;WE=0;delay_ms(1);P0=szvalue2;DU=1;DU=0;P0=0xfb;WE
22、=1;WE=0;delay_ms(1);P0=szvalue1+0x80;DU=1;DU=0;P0=0xfd;WE=1;WE=0;delay_ms(1);P0=szvalue0;DU=1;DU=0;P0=0xfe;WE=1;WE=0;delay_ms(1);2.3.6獨(dú)立按鍵掃描程序設(shè)計(jì)獨(dú)立按鍵掃描程序采用4個(gè)獨(dú)立按鍵不間斷掃描方式進(jìn)行,當(dāng)獨(dú)立按鍵按下后,對應(yīng)IO口會(huì)變成低電平,消抖后通過判斷對應(yīng)IO口是否為低電平來判斷按鍵是否按下。四個(gè)按鍵中,key1的功能為設(shè)定溫度整數(shù)部分-1,key2功能為設(shè)定溫度整數(shù)部分+1,key3的功能為設(shè)定溫度小數(shù)部分-1,key4功能為設(shè)定溫度小數(shù)部分+1,程
23、序設(shè)計(jì)如下:void keyscan(void)if(key4=0) display_value();if(key4=0)while(!key4) /等待按鍵松開 display_value(); if(value1=0)value1=9; value0-; elsevalue1-; set_value=value0*10+value1+value2*0.1;if(key3=0)display_value();if(key3=0)while(!key3)display_value(); if(value1=9)value1=0; value0+; elsevalue1+; set_value=
24、value0*10+value1+value2*0.1;if(key2=0) display_value();if(key2=0)while(!key2)display_value(); if(value2=0)value2=9; if(value1=0)value0-; value1=9; elsevalue1-; elsevalue2-; set_value=value0*10+value1+value2*0.1; if(key1=0) display_value();if(key1=0)while(!key1)display_value(); if(value2=9)value2=0;
25、if(value1=9)value0+; value1=0; elsevalue1+; elsevalue2+; set_value=value0*10+value1+value2*0.1; 第3章 系統(tǒng)測試 3.1測試數(shù)據(jù)記錄 初始溫度 :38.5 設(shè)定溫度 :44.7 加熱電壓 :15V 加熱電阻 :10歐姆 全速加熱功率:19W實(shí)驗(yàn)所測數(shù)據(jù)表格如表3.1所示:時(shí)間t/分鐘012345678910測量溫度/攝氏度38.540.841.94343.644.144.544.644.644.644.6時(shí)間t/分鐘1112131415161718192021測量溫度/攝氏度44.644.644.6
26、44.644.644.644.644.644.644.644.6表3.1 時(shí)間、溫度記錄表3.2數(shù)據(jù)分析與結(jié)論 由實(shí)驗(yàn)所測數(shù)據(jù)表格繪制如圖3.2所示溫度測量曲線圖:圖3.2 溫度測量曲線圖由溫度測量曲線圖可以看出系統(tǒng)從設(shè)定溫度38.5逐漸靠近設(shè)定溫度44.7,并最終穩(wěn)定在44.6不變。當(dāng)系統(tǒng)穩(wěn)定在44.6時(shí),輸出占空比為40.5%,加熱功率為9.6W。另實(shí)驗(yàn)時(shí)觀察輸出占空比發(fā)現(xiàn)占空比在緩慢增加,當(dāng)占空比緩慢增加到一定程度,系統(tǒng)將穩(wěn)定在44.7。在程序中可適當(dāng)?shù)脑黾覲ID中的積分參數(shù)I的大小以使溫度更快的穩(wěn)定在設(shè)定溫度。由溫度測量曲線圖可以看出本水溫控制系統(tǒng)穩(wěn)態(tài)誤差為0.1,系統(tǒng)上升時(shí)間7分鐘。
27、因此該水溫控制系統(tǒng)很好的完成了設(shè)計(jì)要求。第4章 總結(jié)本系統(tǒng)穩(wěn)態(tài)誤差小,超調(diào)量小,整體性能良好。另外,系統(tǒng)還可以通過按鍵設(shè)置設(shè)定溫度大小,設(shè)定溫度和控制溫度可精確到一位小數(shù);通過數(shù)碼管動(dòng)態(tài)實(shí)時(shí)顯示設(shè)定溫度和當(dāng)前測量溫度,人機(jī)交互界面良好。但設(shè)計(jì)也有些不足的地方:系統(tǒng)要用開關(guān)電源供電;加熱功率最大20W,系統(tǒng)上升時(shí)間較長;系統(tǒng)所處環(huán)境改變或所燒水量發(fā)生改變后,系統(tǒng)響應(yīng)曲線會(huì)發(fā)生變化,可能會(huì)出現(xiàn)超調(diào)現(xiàn)象,但在PID作用下最終會(huì)穩(wěn)定在設(shè)定溫度上。參考文獻(xiàn)1胡壽松. 自動(dòng)控制原理.北京:科學(xué)出版社,2014.122 陳蕾,等.單片機(jī)原理與接口技術(shù).蘇州:機(jī)械工業(yè)出版社,2012.8附錄附錄1 主要元器件
28、明細(xì)表STC89C52RC、10歐姆,50W功率電阻、IRF530、DS18B20 附錄2 儀器設(shè)備清單(1)數(shù)字示波器(2)直流穩(wěn)壓電源附錄3 程序主函數(shù)#include#define uchar unsigned char#define uint unsigned int#define kp_value 20#define ki_value 0.3#define kd_value 5sbit ds=P22; sbit DU=P26;sbit WE=P27;sbit PWM_OUT=P20;/*獨(dú)立按鍵位定義*/sbit key1=P37; /設(shè)定溫度整數(shù)部分-1sbit key2=P36;
29、 /設(shè)定溫度整數(shù)部分+1sbit key3=P35; /設(shè)定溫度小數(shù)部分-1sbit key4=P34; /設(shè)定溫度小數(shù)部分+1uchar code sz17=0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d , 0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 , 0x5e , 0x79 , 0x71 , 0x00; /0-9&A-F&“不顯示” 字型碼float set_value=45.0,test_value=0;uint th0=0xc3,tl0=0x50;uchar value6=4,5,0,0,0,0;float
30、 kp=kp_value,ki=ki_value,kd=kd_value;float le=0,se=0;void display_value(void);void keyscan(void);void pid(void);void delay_ms(uint xms) /xms等于幾就延遲幾毫秒 uint i,j;for(i=xms;i0;i-) for(j=112;j0;j-);void delay_750ms(void) /xms等于幾就延遲幾毫秒 uint i; for(i=0;i500;i+)display_value(); keyscan();/ 18b20寫入1個(gè)字節(jié) void
31、write_bites(uchar date)uchar i,temp,j;for(i=0;i=1;if(temp) /寫1ds=0;j+;ds=1;j=8; /延時(shí)60-120uswhile(j-);elseds=0;j=8; /延時(shí)60-120uswhile(j-);ds=1;j+;j+;/18b20讀1個(gè)字節(jié) uchar read_bites(void)uchar i,j,temp,date;for(i=0; i8; i+)ds=0;j+;ds=1;j+;j+;temp=ds;temp=1;date=date | temp;j=8; /延時(shí)60-120uswhile(j-);return
32、 date;/ 18b20初始化函數(shù) void init_18b20(void) uint i; ds=0; i=103; /將總線拉低480us960us while(i0)i-; ds=1; /然后拉高總線,若DS18B20做出反應(yīng)會(huì)將在15us60us后將總線拉低 i=4; /15us60us等待 while(i0)i-;void init_time(void) TMOD |=0X01; /T0工作在16位計(jì)數(shù)模式 TMOD |=0X10; /T1工作在16位計(jì)數(shù)模式 TH1=0Xb8;TL1=0X00; /計(jì)時(shí)器1初值:50Hz ET0=1; /開啟T0中斷 ET1=1; /開啟T1中
33、斷 EA=1; /開啟總中斷 PT1=0;/T0優(yōu)先級高 PT0=0;TR1=1; /定時(shí)器0開始計(jì)時(shí) void display_value(void) P0=sz12;DU=1;DU=0;P0=0x7f;WE=1;WE=0; delay_ms(1);P0=szvalue5;DU=1;DU=0;P0=0xbf;WE=1;WE=0;delay_ms(1);P0=szvalue4+0x80;DU=1;DU=0;P0=0xdf;WE=1;WE=0;delay_ms(1);P0=szvalue3;DU=1;DU=0;P0=0xef;WE=1;WE=0;delay_ms(1);P0=sz12;DU=1;
34、DU=0;P0=0xf7;WE=1;WE=0;delay_ms(1);P0=szvalue2;DU=1;DU=0;P0=0xfb;WE=1;WE=0;delay_ms(1);P0=szvalue1+0x80;DU=1;DU=0;P0=0xfd;WE=1;WE=0;delay_ms(1);P0=szvalue0;DU=1;DU=0;P0=0xfe;WE=1;WE=0;delay_ms(1);/數(shù)據(jù)轉(zhuǎn)換與顯示函數(shù) /18b20溫度轉(zhuǎn)換與讀溫度操作函數(shù) void read_18b20() short wendu;short a;short b;uint wd;init_18b20();display
35、_value();keyscan();write_bites(0xcc);write_bites(0x44);delay_750ms();init_18b20();display_value();keyscan();write_bites(0xcc);write_bites(0xbe);display_value();a=read_bites();b=read_bites();wendu=b*256+a; test_value=wendu*0.0625;wd=wendu*0.625;value3=wd/100;value4=wd/10%10;value5=wd%10;display_value();void keyscan(void)if(key4=0)/年月日時(shí)分秒星期選擇 display_value();if(key4=0)while(!key4) /等待按鍵松開 display_value(); if(value1=0)value1=9; value0-; elsevalue1-; set_value=value0*10+value1+value2*0.1;if(key3
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年北京市七年級上學(xué)期第三次月考英語試題
- 光伏從業(yè)培訓(xùn)課件教學(xué)
- 值班安全教育培訓(xùn)課件
- 首件檢驗(yàn):從-走過場-到-質(zhì)量基石-的終極指南
- 侵權(quán)公司的培訓(xùn)課件
- 偵查學(xué)介紹課件
- 余熱電廠安全培訓(xùn)記錄課件
- 偽造安全培訓(xùn)證書課件
- 企財(cái)險(xiǎn)培訓(xùn)課件教學(xué)
- 企劃部培訓(xùn)課件
- 電子版?zhèn)€人勞務(wù)合同范本
- 兼職醫(yī)生勞務(wù)協(xié)議
- 達(dá)托霉素完整版本
- 科研方法論智慧樹知到期末考試答案章節(jié)答案2024年南開大學(xué)
- JTG-H30-2015公路養(yǎng)護(hù)安全作業(yè)規(guī)程
- 獸醫(yī)內(nèi)科學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- 拒絕臟話文明用語(課件)-小學(xué)生主題班會(huì)
- 中醫(yī)熱敏灸療法課件
- 馬克思主義政治經(jīng)濟(jì)學(xué)試題及答案
- 回顧性中醫(yī)醫(yī)術(shù)實(shí)踐資料(醫(yī)案)表
- 蠶絲被的詳細(xì)資料
評論
0/150
提交評論