爐溫控制系統(tǒng)報告(1)_第1頁
爐溫控制系統(tǒng)報告(1)_第2頁
爐溫控制系統(tǒng)報告(1)_第3頁
爐溫控制系統(tǒng)報告(1)_第4頁
爐溫控制系統(tǒng)報告(1)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的水溫控制系統(tǒng)目錄摘要 3第一章 前言 31.1 課題背景和意義 31.2 設(shè)計內(nèi)容概述31.3 報告概述5第二章 課題設(shè)計要求 2.1 課題要求62.2 原件清單6第三章 系統(tǒng)方案設(shè)計73.1 系統(tǒng)的設(shè)計要求 73.2 系統(tǒng)的控制部分 73.3 系統(tǒng)的控制方式 7第四章 系統(tǒng)硬件電路設(shè)計 84.1 STC12C5A60S2最小系統(tǒng)84.2 DS18B20傳感器電路 94.3 矩陣鍵盤 104.4 數(shù)碼管顯示模塊 114.5 蜂鳴器報警電路 12第五章 系統(tǒng)測試方法和結(jié)果 13第六章 總結(jié) 13附錄A系統(tǒng)程序代碼【摘要】溫度是工業(yè)控制對象主要的參數(shù)之一,如何準備而穩(wěn)定的控制恒溫在一些

2、領(lǐng)域是十分重要的,由于受到被控對象的特性的影響,使得控制系統(tǒng)難以被控制,因而設(shè)計一個高性能的溫度控制系統(tǒng)是非常有價值的。本系統(tǒng)采用STC89C52單片機為控制單元,以PID控制算法為控制方法并用LABVIEW設(shè)計上位機實時監(jiān)測溫度。硬件電路包括矩陣鍵盤、1602液晶顯示、蜂鳴器報警電路等。該系統(tǒng)經(jīng)過試驗證明可以準確控制水溫,誤差在+-1,并可設(shè)計所需的恒溫?!娟P(guān)鍵字】單片機STC89C52、PID、恒溫第一章 前言1.1 課題背景和意義 在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、流量和流速都是常用的主要控制參數(shù)。例如在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機械制造和食品加工等諸多領(lǐng)域中,人們都

3、需要對各類加熱爐、鍋爐進行恒溫控制。采用單片機進行控制有控制方便、靈活性強、電路簡單等諸多優(yōu)點。目前溫度控制系統(tǒng)在各行各業(yè)雖然已經(jīng)應(yīng)用的相當廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來講,總體水平仍然不高。成熟產(chǎn)品主要以PID控制器為主,隨著嵌入式技術(shù)的快速發(fā)展及在各行各業(yè)的廣泛應(yīng)用,人們對電子產(chǎn)品小型化和智能化的要求越來越高,作為高新技術(shù)之一的單片機以其體積小、價格低、可靠性高、應(yīng)用范圍廣和控制的靈活性等諸多優(yōu)勢得到越來越廣泛的應(yīng)用。1.2設(shè)計內(nèi)容概述本次計算機控制課程設(shè)計是應(yīng)用計算機的實時監(jiān)控和溫度測量技術(shù),采用單片機、溫度檢測電路、溫度控制電路等,實現(xiàn)電阻爐爐溫的實時監(jiān)控。本次設(shè)計使用的STC12C

4、5A60S2系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機控制,強干擾場合。本系列單片機有豐富的內(nèi)部資源,極大地擴展了8051系列單片機的用途:1.增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)8051;2.工作電壓:STC12C5A60S2系列工作電壓:5.5V-3.3V(5V單片機)STC12LE5A60S2系列工作電壓:3.6V-2.2V(3V單片機);3.工

5、作頻率范圍:0 - 35MHz,相當于普通8051的 0420MHz;4.用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節(jié);5.片上集成1280字節(jié)RAM;6.通用I/O口(36/40/44個),復(fù)位后為:準雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏,每個I/O口驅(qū)動能力均可達到20mA,但整個芯片最大不要超過55Ma;7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,

6、數(shù)秒即可完成一片;8.有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM);9. 看門狗;10.內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地);11.外部掉電檢測電路:在P4.6口有一個低壓門檻比較器,5V單片機為1.32V,誤差為+/-5%,3.3V單片機為1.30V,誤差為+/-3%;12.時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器(溫漂為+/-5%到+/-10%以內(nèi)) 1用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時鐘,常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機為:11MHz15.5MHz,3.3V單

7、片機為:8MHz12MHz,精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,以實際測試為準;13.共4個16位定時器 兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發(fā)生器 做串行通訊的波特率發(fā)生器 再加上2路PCA模塊可再實現(xiàn)2個16位定時器;14. 2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘;15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊, Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4

8、, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ), CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3);16. PWM(2路)/PCA(可編程計數(shù)器陣列,2路):也可用來當2路D/A使用也可用來再實現(xiàn)2個定時器也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持);17.A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達250K/S(每秒鐘25萬次)18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口;19. STC12C5A60S2系列有雙串口,后綴有S2標志的才有雙串口

9、,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3);20.工作溫度范圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯(lián))來擴展I/O口, 還可用A/D做按鍵掃描來節(jié)省I/O口或用雙CPU,三線通信,還多了串口。1.3報告概述這份技術(shù)報告中,詳盡地介紹了本系統(tǒng)的整體結(jié)構(gòu)、硬件電路、軟件控制算法、調(diào)試方法等,并附有單片機程序和詳細的操作方法。本文主要介紹基于STC12C5A60S2單片機的爐溫

10、控制設(shè)計流程,介紹了爐溫控制方案以及各個主要模塊的工作原理和設(shè)計思路。本文并涉及溫度傳感器系統(tǒng)、繼電器系統(tǒng)、顯示系統(tǒng)、輸入系統(tǒng)的設(shè)計。由于系統(tǒng)的復(fù)雜性和硬件使用要求以及人力、時間等方面的制約,考慮到系統(tǒng)的實時性和運算能力,系統(tǒng)并沒有采用復(fù)雜的處理算法和控制算法,一切以實用為主。對于溫度控制算法還有待進一步的研究和改進。同時,在電路保護方面的設(shè)計有待進一步地學(xué)習(xí)和實踐。第二章 課題設(shè)計要求2.1課題要求用單片機及相應(yīng)的組成部件組成電阻爐溫的自動控制系統(tǒng),要求測溫范圍0100,使其控制系統(tǒng)控制的溫度保溫值的變化范圍為3060。要求:(1)完成電阻爐溫度控制系統(tǒng)設(shè)計,包括硬件電路設(shè)計和軟件程序設(shè)計;

11、(2)能夠顯示控溫時的實際爐溫和恒溫時間;(3)對其主電路和控制電路設(shè)計相應(yīng)的保護電路,使其安全可靠地工作。2.2元器件清單元件名稱數(shù)量電熱杯1個SL1型51單片機綜合試驗箱1個DS18B20溫度傳感器1片STC12C5A60S2單片機1片USB下載線1條單線固態(tài)繼電器1個導(dǎo)線若干另有剪刀、鑷子等工具表2.1 元器件表第三章 系統(tǒng)方案設(shè)計3.1 系統(tǒng)的設(shè)計要求 應(yīng)用計算機的實時監(jiān)控和溫度測量技術(shù),采用單片機、溫度檢測電路、溫度控制電路等,實現(xiàn)電阻爐爐溫的實時監(jiān)控。要求及技術(shù)指標:用單片機及相應(yīng)的組成部件組成電阻爐溫的自動控制系統(tǒng),要求測溫范圍0100,使其控制系統(tǒng)控制的溫度保溫值的變化范圍為3

12、060要求:(1) 完成電阻爐溫度控制系統(tǒng)設(shè)計,包括硬件電路設(shè)計和軟件程序設(shè)計(2) 能夠顯示控溫時的實際爐溫和恒溫時間(3) 對其主電路和控制電路設(shè)計相應(yīng)的保護電路,使其安全可靠地工作3.2 系統(tǒng)的控制部分水溫控制系統(tǒng)以STC12C5A60S2單片機為核心,其總體的結(jié)構(gòu)圖:STC12C5A60S2單片機DS18B20矩陣鍵盤LED顯示蜂鳴器繼電器單片機通過溫度傳感器DS18B20采集環(huán)境溫度,根據(jù)矩陣鍵盤輸入的恒溫溫度控制繼電器的通斷,并用LED數(shù)碼管顯示恒溫溫度和實時溫度,如果實時溫度超過恒溫溫度,蜂鳴器將會報警。3.3 系統(tǒng)的控制方式本系統(tǒng)采用PID控制算法實現(xiàn)對溫度的閉環(huán)控制比例,積分

13、,微分(PID)是建立在經(jīng)典控制理論基礎(chǔ)上的一種控制策略。PID控制器作為最早實用化的控制器,已經(jīng)有五十多年的歷史,現(xiàn)在仍然是最廣泛的工業(yè)控制器。PID控制器最大的特點是簡單易懂,使用中不需要精確的系統(tǒng)模型等先決條件,因而成為應(yīng)用最廣泛的控制器。本系統(tǒng)采用了數(shù)字PID式中:k 采樣信號,k=0,1,2,uk 第k 次采樣時刻的計算機輸出值ek 第k 次采樣時刻輸入的偏差值ek1 第k-1 次采樣時刻輸入的偏差值KI 積分系數(shù)(積分時間TI即為累積多少次/個T)KD 微分系數(shù)u0 開始進行PID 控制時的原始初值(應(yīng)為前一次的給定值)如果采樣周期取得足夠小,則以上近似計算可獲得足夠精確的結(jié)果,離

14、散控制過程與連續(xù)控制過程十分接近。第四章 系統(tǒng)硬件電路設(shè)計4.1 STC12C5A60S2最小系統(tǒng)4.2 DS18B20傳感器電路單線結(jié)構(gòu),只需一根信號線和CPU相連,不需要外部元件,直接輸出串行數(shù)據(jù),可不需要外部電源,直接通過信號線供電,電源電壓范圍為3.3V5V,測溫精度高,測溫范圍為:一55+125,在-10+85范圍內(nèi),精度為±O.5,測溫分辨率高,當選用12位轉(zhuǎn)換位數(shù)時,溫度分辨率可達00625,數(shù)字量的轉(zhuǎn)換精度及轉(zhuǎn)換時間可通過簡單的編程來控制:9位精度的轉(zhuǎn)換時間為9375 ms:10位精度的轉(zhuǎn)換時間187.5ms:12位精度的轉(zhuǎn)換時間750ms,具有非易失性上、下限報警設(shè)

15、定的功能,用戶可方便地通過編程修改上、下限的數(shù)值,可通過報警搜索命令識別哪片DS18820采集的溫度超越上、下限。4.3 矩陣鍵盤矩陣鍵盤共有十六個鍵,用了其中的十二個鍵0-9、A、B鍵,按A鍵表示設(shè)置開始,然后按數(shù)字鍵輸入恒溫溫度,最后按B鍵確定,此矩陣鍵盤運用了反轉(zhuǎn)法4.4數(shù)碼管顯示模塊數(shù)碼管的顯示原理不論是共陰還是共陽,其基本原理是一樣的,都是靠點亮內(nèi)部的LED來發(fā)光。一位數(shù)碼管的引腳是十個,顯示一個8字需要7個小段,另外還有一個小數(shù)點。1. 數(shù)碼管內(nèi)部原理圖實際實驗時,為了保證編程的方便和通常將數(shù)碼管的數(shù)字所對應(yīng)的八位數(shù)字記錄在數(shù)組中,程序中直接使用查表的方法,可以提高程序的效率,也使

16、程序的編寫更加簡單方便。符號編碼符號編碼00xC080x8010xF990x9020xA4A0x8830xB0B0xC740x99C0xC650x92D0xA160x82E0x8670xF8F0x8E我們實驗箱中的LED數(shù)碼管是四位數(shù)碼管,因此為了控制方便,四個數(shù)碼管的“段選端”是連在一起的,他們的GND或VCC端作為“位選端”來輸入控制信號,這樣單片機就可以通過程序來控制顯示的字符。下圖是實驗箱開發(fā)板中的數(shù)碼管電路圖:2實驗箱數(shù)碼管電路4.5 蜂鳴器報警電路當輸入端給高電平時,9014導(dǎo)通,這樣蜂鳴器中將會有電流,蜂鳴器將會報警。第五章 系統(tǒng)測試方法和結(jié)果通過矩陣鍵盤輸入恒溫溫度為45,水溫

17、從室溫開始升,上位機上的溫度和1602液晶會顯示實時溫度,待溫度升到43時,通過單片機控制繼電器的通斷,這樣將不再加溫,但是水壺的加熱器仍然是很熱的,通過余溫加熱,一旦超過定溫度,蜂鳴器將會報警,符合我們的設(shè)計要求。第六章 總結(jié)本次課程設(shè)計的題目為水度控制系統(tǒng),是應(yīng)用非常廣泛的溫度控制器,在實踐中我們運用了單片機、傳感器、電子電路等各方面的知識,實現(xiàn)了可以較好的控制水溫的效果,鍛煉了我們的動手能力。在調(diào)試系統(tǒng)的過程中會用到很多的問題,有些問題是不細心而導(dǎo)致的,有些錯誤時致命的,而且很不容易發(fā)現(xiàn),所以在實踐的過程中一定要細心。附附錄A 系統(tǒng)程序代碼DS18B20通信程序#define uchar

18、 unsigned char#define DELAY_TIME1 8sbit DQ=P30; /改成P30void ds18b20_delay(int time)/延時時間為(time * 6 us)int i,s,temp;temp=time;for(i=0;i<DELAY_TIME1;i+)s=temp;while(s>0)s-;/*18B20復(fù)位函數(shù)*/void Init_DS18B20(void)unsigned char x=1,j;DQ=1;/先將數(shù)據(jù)口拉高for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();_nop_();/延時大

19、約2uswhile(x) /進行判斷,當數(shù)據(jù)口返回一個0時,跳出循環(huán)。初始化成功DQ=0; /拉低ds18b20_delay(80);/延時大約850us,晶振為11.0592DQ=1;/拉高ds18b20_delay(8);/延時50usif(DQ=1) /設(shè)置判斷條件,看ds1820的返回值,0則跳出while循環(huán) x=1;elsex=0;ds18b20_delay(40);/延時500us/*18B20寫命令函數(shù)*/void WriteOneChar(uchar val)uchar i,j;for (i = 8; i > 0; i-) /定義 8 bit,寫 8 bitDQ = 1

20、;for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();DQ = 0;for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();_nop_();_nop_();_nop_();/5usDQ = val & 0x01; /最低位移出,并寫入總線ds18b20_delay(6); /66usval = val >> 1; /右移一位,倒數(shù)第二位變?yōu)樽畹臀籇Q = 1;ds18b20_delay(1); /高電平維持11us,寫結(jié)束/*18B20讀1個字節(jié)函數(shù)*/uchar ReadOneChar(void)ucha

21、r i,j;uchar value = 0;for (i = 8; i > 0; i-)DQ = 1;for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();value >>= 1; /右移一位DQ = 0;for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();_nop_();_nop_(); /4usDQ = 1;for(j=0;j<DELAY_TIME1;j+)_nop_();_nop_();_nop_();_nop_(); /4us ,讀時隙if (DQ)value |= 0x80; /DQ=1,則

22、寫入為 10000000ds18b20_delay(6); /66usDQ = 1;return(value);float ReadTemperature(void)uchar n = 0; /存儲符號unsigned int t;uchar a,b;/*讀出溫度函數(shù)*/Init_DS18B20(); /總線復(fù)位WriteOneChar(0xCC); / 發(fā)Skip ROM命令WriteOneChar(0xBE); / 發(fā)讀命令a = ReadOneChar(); /溫度低8位b = ReadOneChar(); /溫度高8位Init_DS18B20();WriteOneChar(0xCC);

23、 / Skip ROMWriteOneChar(0x44); / 發(fā)轉(zhuǎn)換命令t = (b << 8) + a;return (t*0.0625);鍵盤掃描程序#include<STC12C5A60S2.h>#include"shuma.h"extern unsigned char KeyCounter;extern bit KeyFlag;extern bit SetFlag;extern bit DisFlag;extern bit ShowTimeFlag;unsigned char code keycode16=0x77,0x7b,0x7d,0

24、x7e, /1,2,3,A0xb7,0xbb,0xbd,0xbe, /4,5,6,B0xd7,0xdb,0xdd,0xde, /7,8,9,C0xe7,0xeb,0xed,0xee, /*,0,#,D;unsigned char Key_Scan() /返回的是keycode數(shù)組的位數(shù)unsigned char i,X,Y;unsigned char KeyCode;P2 = 0x0f;if(P2 != 0x0f)Delay(500);if(P2 != 0x0f)X = P2;P2 = 0xf0;if(P2 != 0xf0)Y = P2;while(P2!=0xf0); /如果不松鍵 則一直停

25、在這邊KeyCode = X|Y;elseKeyCode = 0xff; for(i=0;i<16;i+)if(KeyCode=keycodei)return i;return 255; unsigned char Get_Code()unsigned char i=0xff,j=0xff;i=Key_Scan();switch(i)case 0:j=1;KeyFlag=1;break;case 1:j=2;KeyFlag=1;break;case 2:j=3;KeyFlag=1;break;case 3:break; /'A"case 4:j=4;KeyFlag=1;

26、break;case 5:j=5;KeyFlag=1;break;case 6:j=6;KeyFlag=1;break;case 7:break; /'B'case 8:j=7;KeyFlag=1;break;case 9:j=8;KeyFlag=1;break;case 10:j=9;KeyFlag=1;break;case 11:break; /'C'case 12:j='a'KeyFlag=1;SetFlag=1;KeyCounter=0;break;case 13:j=0;KeyFlag=1;break;case 14:j='b&

27、#39;KeyFlag=1;DisFlag=DisFlag;break;case 15:j='c'KeyFlag=1;ShowTimeFlag=ShowTimeFlag;break; /'D' /'D'default:KeyFlag=0;break;return j;數(shù)碼管顯示#include<STC12C5A60S2.h>sbit SegDin=P36; /顯示數(shù)據(jù)高地位sbit SegClk=P37; /數(shù)據(jù)顯示時鐘unsigned char code Seg_Table13 = 0xC0,/*0*/ 0xF9,/*1*/ 0xA

28、4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/0x9c,/*10*/ /上框 代表實際溫度 0xa3,/*11*/ /下框 代表設(shè)定溫度 0xff/all off;unsigned char code Pos_Dis_Buf5 = 0xef,0xdf,0xbf,0x7f,0xff;unsigned char Digit3 = 0;/*函數(shù):Delay()功能:不精確延時參數(shù):延時參數(shù)返回值:無*/void Delay(unsigned int n)while(-n);/*函

29、數(shù):Seg_Display()功能:數(shù)碼管在指定位置顯示指定的數(shù)參數(shù):Pos 顯示位置(0 1 2 3) ucDATA (09)待顯示的數(shù)字 Point 為1則顯示小數(shù)點,否則不顯示返回值:無*/void Bit_Display(unsigned char Pos, unsigned char ucDATA, bit Point)unsigned char i;unsigned char ucTemp;ucTemp = Seg_TableucDATA;/查段碼表if(Point)ucTemp &= 0x7f; P4 = Pos_Dis_Buf4;/關(guān)閉所有顯示for(i = 0; i

30、< 8; i+)SegDin = ucTemp & 0x80;/*每次取最高位,最高位為1,則SEG_DIN=1;反之亦然*/SegClk = 0;SegClk = 1; /*產(chǎn)生74164移位時鐘上升沿*/ucTemp <<= 1;P4 = Pos_Dis_BufPos;/使能位選/*函數(shù):Seg_Display()功能:數(shù)碼管上顯示指定的數(shù)參數(shù):uiData (09999)待顯示的數(shù)字返回值:無*/void Seg_Display(float uiData)unsigned char i;Digit0 = (unsigned int)(uiData/10)%10;

31、 /十位Digit1 = (unsigned int)uiData%10; /個位Digit2 = (unsigned int)(uiData*10)%10; /小數(shù)后一位for(i = 0; i < 3; i+)if(i!=1)Bit_Display(i,Digiti,0); /不顯示小數(shù)點elseBit_Display(i,Digiti,1); /顯示小數(shù)點Delay(50);主程序#include<STC12C5A60S2.h>#include"shuma.h"#include"keyScan.h"#include"ds

32、18b20.h"unsigned char data DisData2; /溫度顯示值unsigned char data SetData2; /溫度設(shè)定值unsigned char KeyCounter; /設(shè)置溫度位數(shù)計數(shù)器float RTValue; /實際溫度值unsigned char STValue=50; /設(shè)置溫度值unsigned char ShowTime3=0;/恒溫時間值 unsigned int m;/定義粗略延遲變量unsigned int cc;/計數(shù)次數(shù)unsigned int CountFlag;unsigned int TimeCounter=0;

33、/設(shè)置恒溫時間計數(shù)器bit ShowTimeFlag=0;/是否顯示恒溫時間bit KeyFlag=0;/是否接收到有用鍵值 1有bit SetFlag=0;/是否設(shè)定鍵按下 1按下bit DisFlag=0; /1顯示設(shè)定值 0顯示實際值sbit Beep = P35;sbit Heat = P31;void InitSys()TMOD=0X01;/MODE 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1; /開中斷ET0=1;/開定時器0中斷P4SW=0xf0; void main()unsigned char i,j,num,k;uns

34、igned char Counter=0; unsigned int htime=0;unsigned int stime=0;InitSys();while(1)RTValue=ReadTemperature(); /獲取實際溫度num=Get_Code();if(DisFlag=0&&SetFlag=0)/顯示實際溫度for(j=0;j<50;j+)/每次用循環(huán)顯示 也許可以提高亮度for(i=0;i<50;i+)Bit_Display(3,10,0); /上方框 表示實際溫度Seg_Display(RTValue);if(DisFlag=1&&

35、SetFlag=0)/顯示設(shè)定溫度for(j=0;j<50;j+)/每次用循環(huán)顯示 也許可以提高亮度for(i=0;i<50;i+)Bit_Display(3,11,0);/下方框 表示設(shè)定溫度Seg_Display(STValue); if(TimeCounter=1000)TimeCounter=0;if(TimeCounter!=0)stime=TimeCounter;ShowTime0=stime/100;ShowTime1=(stime/10)%10;ShowTime2= stime%10;if(DisFlag=0&&SetFlag=0&&ShowTime

溫馨提示

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

評論

0/150

提交評論