接口技術課程設計報告基于單片機的空調溫度控制器設計_第1頁
接口技術課程設計報告基于單片機的空調溫度控制器設計_第2頁
接口技術課程設計報告基于單片機的空調溫度控制器設計_第3頁
接口技術課程設計報告基于單片機的空調溫度控制器設計_第4頁
接口技術課程設計報告基于單片機的空調溫度控制器設計_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 接口 技術課程設計報告 基于單片機的空調溫度控制器設計基于單片機的空調溫度控制器設計 學 院: 年級專業(yè): 學 號: 姓 名: 指導教師: 完成時間: 成 績: 摘 要設計了基于 at89c52 的高精度家用空調溫度控制系統(tǒng),系統(tǒng)硬件主要由電源電路、溫度采集電路(ds18b20) 、鍵盤、顯示電路、輸出控制電路及其他輔助電路組成;軟件采用 8051c 語言編程;該系統(tǒng)可以完成溫度的顯示、溫度的設定、空調的控制等多項功能。關鍵詞:單片機;ds18b20;溫度檢測;顯示目錄目錄1 設計目的及要求.11.1 設計目的和意義.11.2 設計任務與要求.12 硬件電路設計.22.1 總體方案設計.22

2、.2 功能模塊電路設計.32.2.1 單片機的選型.32.2.2 振蕩電路設計.52.2.3 復位電路設計.52.2.4 鍵盤接口電路設計.62.2.5 溫度測量電路設計.62.2.6 系統(tǒng)顯示電路設計.72.2.7 輸出控制電路設計.82.3 總電路設計.82.4 系統(tǒng)所用元器件.93 軟件系統(tǒng)設計.103.1 軟件系統(tǒng)總體方案設計.103.2 軟件流程圖設計.104 系統(tǒng)調試.125 總結.135.1 本系統(tǒng)存在的問題及改進措施 .13參考文獻.14附錄 1:系統(tǒng)的源程序清單.15附錄 2:系統(tǒng)的 pcb 圖.3911 設計目的及要求1.1 設計目的和意義21 世紀的人們生活質量不斷提高,

3、同時也對高科技電子產業(yè)提出了更高的要求,為了使人們生活更人性化、智能化。我設計了這一基于單片機的空調溫度控制系統(tǒng),人們只有生活在一定的溫度環(huán)境內才能長期感覺舒服,才能保證不中暑不受凍,所以對室內溫度要求要高。對于不同地區(qū)空調要求不同,有的需要升溫,有的需要降溫。一般都要維持在 2126c。目前,雖然我國大量生產空調制冷產品,但由于我國人口眾多,需求量過盛,在我國的北方地區(qū),還有好多家庭還沒有安裝有效地室內溫控系統(tǒng)。溫度不能很好的控制在一定的范圍內,夏天室內溫度過高,冬天溫度過低,這些均對人們正常生活帶來不利的影響,溫度、濕度均達不到人們的要求。以前溫度控制主要利用機械通風設備進行室內、外空氣的

4、交換來達到降低室內溫度,實現(xiàn)室內溫度適宜人們生活。以前通風設備的開啟和關停,均是由人手動控制的,即由人們定時查看室內外的溫度、濕度情況,按要求開關通風設備,這樣人們的勞動強度大,可靠性差,而且消耗人們體力,勞累成本過高。為此,需要有一種符合機械溫控要求的低成本的控制器,在溫差和濕度超過用戶設定值范圍時,啟動制冷通風設備,否則自動關閉制冷通風設備。鑒于目前大多數(shù)制冷設備現(xiàn)在狀況,我設計了一款基于 mcs51 單片機的空調溫度控制系統(tǒng)。1.2 設計任務與要求系統(tǒng)要求利用單片機設計一空調溫度控制器,能夠實時檢測并顯示室溫,能夠利用鍵盤設定溫度,并且和室溫進行比較,當室溫低于設定溫度時,系統(tǒng)能夠驅動加

5、熱系統(tǒng)工作,當室溫高于設定溫度時,系統(tǒng)能夠驅動制冷系統(tǒng)工作,當兩者溫度相等時,不做動作。22 硬件電路設計2.1 總體方案設計空調溫度控制系統(tǒng),主要要完成對溫度的采集、顯示以及設定等工作,從而實現(xiàn)對空調的控制。傳統(tǒng)采用鉑電阻充當測溫器件的方案,雖然其中段測量線性度好,精度較高,但是測量電路的設計難度高 ,且測量電路系統(tǒng)龐大,難于調試 ,而且成本相對較高。鑒于上述原因,本系統(tǒng)采用 ds18b20 充當測溫器件。外部溫度信號經(jīng) ds18b20 將輸入的模擬信號轉換成 8 位的數(shù)字信號, 通過并 口傳送到單片機系統(tǒng)( at89c52) 。單片機系統(tǒng)將接收的數(shù)字信號譯碼處理,通過 lcd1602 將溫

6、度顯示出來,同時單片機系統(tǒng)還將完成鍵盤掃描 、按鍵溫度設定、超溫報警等程序的處理 ,將處理的溫度信號與系統(tǒng)設定溫度值比較,形成可以控制空調制冷、制熱與停止工作三種工作狀態(tài),從而實現(xiàn)空調的智能化。另外,鍵盤輸入方面,采用了軟件來修正誤操作輸入 ,即輸入的溫度范圍必須在系統(tǒng)硬件所確定的范圍內,直接降低由于誤操作帶來的風險,提高了系統(tǒng)的可靠性 ,體現(xiàn)了人性化的系統(tǒng)設計原則。系統(tǒng)的整體框圖如圖 1 所示:圖圖1 系統(tǒng)整體框圖系統(tǒng)整體框圖32.2 功能模塊電路設計2.2.1 單片機的選型由于本系統(tǒng)只需要單片機完成矩陣鍵盤檢測以及處理 ds18b20 送來的溫度數(shù)據(jù)并送 lcd1602 進行顯示對于 i/

7、o 資源以及處理速度無特殊要求,故選擇 atmel 公司生產的 at89c52 單片機,at89c52 增加了在線調試功能,即程序可以通過 jtag 接口下載,調試和固化,因而該芯片的開發(fā)不再需要昂貴的硬件仿真器,可實現(xiàn)實時仿真,所有的資源都可以為用戶所使用,可以在線編程或在系統(tǒng)編程,更進一步地說,在線編程或在系統(tǒng)編程是開發(fā)的系統(tǒng)具有了通過網(wǎng)絡進行升級、維護的潛在功能。at89c52 的性能及特點1:與 mcs-51 系列單片機兼容。片內有 8k 可在線重復編程的快速內 存可擦寫存儲器(flash memory) 。存儲器可循環(huán)寫入/擦寫 10000 次以上。存儲器數(shù)據(jù)保存時間為 10 年以上

8、。寬工作電壓范圍:vcc 可為 2.7v-6.5v。全靜態(tài)工作:可從 0hz-24mhz。程序存儲器具有三級加密保護。256 字節(jié)的內部 ram。32 條可編程 i/o 口線。三個 16 位定時器/計數(shù)器。中斷結構具有 5 級(6 級)中斷源和兩個優(yōu)下級??删幊倘p工串行通訊??臻e維持低功耗和掉電狀態(tài)保護存儲數(shù)據(jù)。 at89c52 引腳圖如圖 2 所示。4圖圖 2 at89c52 引腳圖引腳圖vcc: +5v 電源輸入gnd:接地p0 口是一個雙向 8 位三態(tài) i/o 口,每個口可獨立控制。使用時需外接上拉電阻。p1 口是一個準雙向 8 位 i/o 口,它的功能是單一的,只能用作數(shù)據(jù)的輸入或者

9、輸出。p2 口是一個準雙向 8 位 i/o 口,輸出時,從 p2.x 端口可輸出 cpu 寫到鎖存器上的信號。當該接口用做數(shù)據(jù)輸入接口是,應先向該位寫 1,然后,讀該位即可讀入輸入數(shù)據(jù)。p3 口是具有第二功能的準雙向 8 位 i/o 口。ale/prog:地址所存/編程信號線。當 p0 口工作在第二功能時從該端口可復用工作,某時刻該端口可以送出地址信號 a0a7,而另外的時刻該端口傳送的是數(shù)據(jù)信號d0d7。利用 ale 可以將地址信號 a0a7 鎖存到地址鎖存器。/vpp:該控制信號線也具有雙重功能,是允許訪問片外 rom/編程高電壓引線。ea5:程序存儲器允許輸出控制端,常用作片外 rom

10、的讀控制信號,低電平有psen效。reset:復位引腳,當該端加上超過 24 個時鐘周期的高電平時,可是 8051 復位。系統(tǒng)復位電路如圖 2.3 所示。x1、x2:外接時鐘引腳。x1 為片內振蕩電路的輸入端,x2 為片內振蕩電路的輸出端。2.2.2 振蕩電路設計at89c52 內部有一個用于構成片內振蕩器的高增益反相放大器, 振蕩器產生的信號送到 cpu, 作為 cpu 的時鐘信號,驅動 cpu 產生執(zhí)行指令功能的機器周期。引腳xtal1 和 xtal2 是此放大器的輸人端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構成一個自激振蕩器, 振蕩電路的連接如圖所示圖 8 所

11、示,外接石英晶體或陶瓷諧振器以及電容 c1 和 c2 構成并聯(lián)諧振電路, 接在放大器的反饋回路中。對外接電容 c1 和 c2 的值雖然沒有嚴格的要求, 但電容的大小多少會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振圈內部振蕩的接法的快速性和溫度穩(wěn)定性。外接石英晶體時, c1 和 c2 一般?。?0pf-10pf) ,外接的是石英晶體, 所以,c1、c2選擇標稱值 30pf。系統(tǒng)振蕩電路如圖 3 所示。圖圖 3 振蕩電路振蕩電路2.2.3 復位電路設計單片機復位是使 cpu 和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài), 并從這個狀態(tài)開始工作。無論是在單片機剛開始接上電源時, 還是斷電后或者發(fā)生

12、故障后都要復位。89 系列單片機的復位信號是從 rst 引腳輸人到芯片的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時, 且振蕩器穩(wěn)定后, 如果 rst 引腳有一個高電平并維持 2 個機器周期(24 個振蕩周期), 則 cpu 就可響應并且將系統(tǒng)復位。復位分為手動復位和6上電復位。本設計系統(tǒng)采用的是上電自動復位。系統(tǒng)復位電路如圖 4 所示。圖圖 4 復位電路復位電路2.2.4 鍵盤接口電路設計獨立鍵盤與單片機連接時,每個按鍵都需要單片機的一個 i/o 口,若單片機系統(tǒng)需要較多按鍵,如果用獨立按鍵會占用過多的 i/o 口資源。單片機系統(tǒng)中 i/o 口資源往往比較寶貴,當用到多個按鍵時,為了節(jié)省 i/

13、o 口線,一般需使用矩陣鍵盤。本系統(tǒng)共需使用 16 個按鍵,故選擇的矩陣鍵盤。鍵盤接口電路如圖 5 所示。44圖圖 5 鍵盤接口電路鍵盤接口電路2.2.5 溫度測量電路設計 本系統(tǒng)的溫度測量電路采用 ds18b20 來實現(xiàn)。ds18b20 是美國 dallas 半導體公司推出的第一片采用“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾、能力強、易配微處理器等優(yōu)點,可直接將溫度轉化成串行數(shù)字信號供處理器處理。ds18b20 的性能及特點2:7適應電壓范圍寬,電壓范圍在,在寄生電源方式下可由數(shù)據(jù)線供電。v5 . 50 . 3獨特的單線接口方式,它與微處理器連接時僅需一條口線即可實

14、現(xiàn)微處理器與ds18b20 的雙向通信。支持多點組網(wǎng)功能,多個 ds18b20 可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。在使用中不需要任何外接元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路里。測溫范圍-55+125,在-10+85時精度為0.5??删幊谭直媛蕿?912 位,對應的可分辨溫度分別為 0.5,0.25,0.125和 0.0625,可實現(xiàn)高精度測溫。在 9 位分辨率時,最多在 93.75ms 內把溫度轉換為數(shù)字;12 位分辨率時,最多在 750ms 內把溫度值轉換為數(shù)字。測量結果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給 cpu,同時可傳送crc 校驗碼,具有極強的

15、抗干擾糾錯能力。負壓特性。電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。系統(tǒng)溫度測量電路如圖 6 所示。圖圖 6 溫度測量電路溫度測量電路2.2.6 系統(tǒng)顯示電路設計本系統(tǒng)采用 lcd1602 作為系統(tǒng)的顯示器件,1602 字符型液晶是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,能分兩行顯示,它有若干個或者等75115點陣字符位組成,每個點陣字符位都可以顯示一個字符。1602 型液晶接口信號如下:1 腳 vss:電源地。2 腳 vdd:電源正極。3 腳 vo:液晶顯示對比度調節(jié)端。4 腳 rs:數(shù)據(jù)/命令選擇端(h/l)。85 腳 r/:讀寫選擇端(h/l) 。w6 腳 e:使

16、能信號。腳:數(shù)據(jù)口。147d7d015 腳 bl1:背光電源正極。16 腳 bl2:背光電源負極。系統(tǒng)顯示電路如圖 7 所示。圖圖 7 系統(tǒng)顯示電路系統(tǒng)顯示電路2.2.7 輸出控制電路設計系統(tǒng)要求在當前室溫低于設定溫度時,能夠自動驅動加熱系統(tǒng)工作 ;在當前室溫高于設定溫度時能夠自動驅動制冷系統(tǒng)工作。本系統(tǒng)在復位后即置 p26 腳和 p27 腳為低電平,在當前室溫低于設定溫度時,通過置 p27 腳為高電平來驅動后級加熱系統(tǒng),本系統(tǒng)采用紅色 led 來代替加熱系統(tǒng);在當前室溫高于設定溫度時,通過置 p26 腳高電平來驅動后級制冷系統(tǒng),本系統(tǒng)采用藍色 led 來代替制冷系統(tǒng)。輸出控制電路如圖 8 所

17、示。圖圖 8 輸出控制電路輸出控制電路92.3 總電路設計系統(tǒng)總電路圖如圖 9 所示。圖圖 9 系統(tǒng)總電路圖系統(tǒng)總電路圖2.4 系統(tǒng)所用元器件本系統(tǒng)所用的元器件清單如表 1 所示。 表表 1 系統(tǒng)所用元器件系統(tǒng)所用元器件元器件名稱元器件名稱數(shù)量數(shù)量點觸式開關1630pf 瓷片電容210uf 電解電容1藍色 led1紅色 red15v 電源插座1自鎖開關1lcd160211/4w10k 電阻31010k 可調電阻1at89c521ds18b20112mhz 晶振13 軟件系統(tǒng)設計3.1 軟件系統(tǒng)總體方案設計 系統(tǒng)軟件由主程序模塊、測溫程序模塊、鍵盤掃描程序模塊以及液晶驅動程序模塊組成。3.2 軟

18、件流程圖設計系統(tǒng)軟件流程圖如圖 10 所示。11圖圖 10 系統(tǒng)軟件流程圖系統(tǒng)軟件流程圖4 系統(tǒng)調試系統(tǒng)調試程序在 keil uvision4 環(huán)境下編寫,編譯通過后生成.hex 文件加載到 protuse 下可正常運行。程序默認溫度為 21.0,protuse 下設定 ds18b20 的溫度也為 21.0,故開始12運行時兩路 led 燈都不點亮。當利用鍵盤設定的溫度高于 ds18b20 默認的 21.0時,紅色 led 燈被點亮;當設定的溫度低于 ds18b20 默認的 21.0時,藍色 led 燈被點亮。附上仿真圖當設定的溫度高于 ds18b20 默認的 21.0時,紅色 led 燈被點

19、亮,如圖 11 所示。圖圖 11 紅色紅色 led 燈點亮燈點亮當設定的溫度低于 ds18b20 默認的 21.0時,藍色 led 燈被點亮。如圖 12 所示。13圖圖 12 藍色藍色 led 燈點亮燈點亮14 5 總結總結5.1 本系統(tǒng)存在的問題及改進措施本系統(tǒng)所設計的空調溫度控制器僅對溫度部分實現(xiàn)了控制,但對于實際空調中的模式選擇以及定時運行等工作過程還無法實現(xiàn),希望在以后的學習研究中能夠解決這些問題。5.2 心得體會 本次課程設計從獲得題目開始便著手準備,首先分析系統(tǒng)要求,在 protuse 里完成硬件原理圖的搭建,然后開始在 keil 環(huán)境下著手編寫各部分程序,調試相應的程序,在調試通

20、過后再下載到 protuse 里進行仿真,發(fā)現(xiàn)問題后再返回 keil 下修改相應程序,直到最后仿真通過,最后在 altium designer 6 中畫出電路原理圖。在本次課程設計過程中得到了老師以及許多同學的幫助,感謝那些提供過幫助的老師和同學。15參考文獻1 郭文川主編. 單片機原理與接口技術. 北京:中國農業(yè)出版社,2007.2 郭天祥主編. 51 單片機 c 語言教程. 北京:電子工業(yè)出版社,2009.16附錄 1:系統(tǒng)的源程序清單global.h:ifndef _global_h#define _global_h#include#define uchar unsigned char/

21、宏定義#define uint unsigned int#definek_up 0x20/定義鍵值#definek_down 0x21#definek_clear 0x24#definek_ok 0x25#definek_one 0x30#definek_four 0x31#definek_seven 0x32#definek_point 0x33#definek_two 0x34#definek_five 0x43#definek_eight0x36#definek_zero0x37#definek_three0x3817#definek_six 0x40#definek_nine0x41#

22、definek_set 0x42extern float temp_now;extern float temp_set;extern uint t_count;extern uint s_count;extern uint p_count;extern uint n_count;extern uint m_count;extern uchar current_temp_display_buffer;extern uchar set_temp_display_buffer;extern int sel;sbit lcden=p21;/液晶使能sbit lcdrs=p20;/液晶數(shù)據(jù)/命令選擇端s

23、bit dq =p22;/ds18b20 數(shù)據(jù)端sbit xx =p25;/讀寫選擇端sbit cold =p26;/輸出信號sbit warm =p27;/輸出信號#endifmain.c:#include#includeglobal.h#includekey.h#include18b20.h#includelcd.h/全局變量/float temp_now=0.0;float temp_set=21.0;uint t_count=0;uint s_count=0;uint p_count=0;uint n_count=0;18uint m_count=1;uchar current_tem

24、p_display_buffer= now:-23.5 ;uchar set_temp_display_buffer= set: 21.0 ;int sel=0;void comparison();/定時/void timer0_init(void)tmod =0 x00 ; /設置定時器 0 的工作方式th0 = (8192-5000)/32;/單片機晶振為 12mhz,機器周期為 1us,t=5ms, /n=5000/1=5000tl0 = (8192-5000)%32;ie =0 x82;tr0=1;void timer0() interrupt 1 th0 = (8192-5000)/

25、32;tl0 = (8192-5000)%32; if(+t_count = 100) /100 為 0.5s tr0=0;read_temperature();display_temperature() ;t_count=0;if(+p_count = 6) n_count=1; tr0=1;/主程序/void main()19init_lcd();init_ds18b20();timer0_init();while(1)print();set_num();comparison();void comparison()if(n_count&m_count)if(temp_nowtemp_set

26、)cold=1;warm=0;if(temp_now=temp_set)cold=0;warm=0;18b20.h:#ifndef _18b20_h20#define _18b20_h#includeglobal.hextern uchar init_ds18b20(); extern void read_temperature();extern void display_temperature();#endif18b20.c:#includeglobal.h#include intrins.h#define delaynop() _nop_();_nop_();_nop_();_nop_()

27、;uchar code temperature_char8 = 0 x0c,0 x12,0 x12,0 x0c,0 x00,0 x00,0 x00,0 x00;uchar code df_table=0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9;uchar currentt = 0;uchar temp_value=0 x00,0 x00;uchar display_digit=0,0,0,0;bit ds18b20_is_ok = 1;void delay_ini(uint x) while(-x);void delay(unsigned int n)do_nop_();_

28、nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();21n-;while(n);uchar init_ds18b20() uchar status;dq = 1;delay_ini(8);dq = 0;delay_ini(90);dq = 1;delay_ini(8);status=dq;delay_ini(100);dq = 1;return status;uchar readonebyte() uchar i,dat=0;dq = 1;_nop_();for(i=0;i= 1;dq = 1;_nop_();_nop_

29、();if(dq)dat |= 0x80;delay(30);22dq = 1;return dat;void writeonebyte(uchar dat) uchar i;for(i=0;i= 1;void read_temperature() if(init_ds18b20()=1)ds18b20_is_ok=0;elsewriteonebyte(0 xcc);writeonebyte(0 x44);init_ds18b20();writeonebyte(0 xcc);writeonebyte(0 xbe);temp_value0 = readonebyte(); temp_value1

30、 = readonebyte();ds18b20_is_ok=1;void display_temperature()23uchar t = 150, ng = 0;if(temp_value1&0 xf8)=0 xf8) temp_value1 = temp_value1;temp_value0 = temp_value0+1;if(temp_value0=0 x00)temp_value1+;ng = 1;display_digit0 = df_tabletemp_value0&0 x0f;currentt = (temp_value0&0 xf0)4) | (temp_value1&0

31、x07)4);display_digit3 = currentt/100;display_digit2 = currentt%100/10;display_digit1 = currentt%10;current_temp_display_buffer11 = display_digit0 + 0;current_temp_display_buffer10 = .;current_temp_display_buffer9 = display_digit1 + 0;current_temp_display_buffer8 = display_digit2 + 0;current_temp_dis

32、play_buffer7 = display_digit3 + 0;temp_now=display_digit2*10+display_digit1+display_digit0*0.1 ;if(display_digit3 = 0)current_temp_display_buffer7 = ;if(display_digit2 = 0&display_digit3=0)current_temp_display_buffer8 = ;if(ng)temp_now=-(display_digit2*10+display_digit1+display_digit0*0.1); if(curre

33、nt_temp_display_buffer8 = )current_temp_display_buffer8 = -;else if(current_temp_display_buffer7 = )current_temp_display_buffer7 = -;else 24current_temp_display_buffer6 = -; key.h:#ifndef _key_h#define _key_h#includeextern unsigned char keys_scan();extern void set_num();extern void set();#endifkey.c

34、:#include #include #include #include18b20.huchar code keycodetable= 0 x11,0 x12,0 x14,0 x18,0 x21,0 x22,0 x24,0 x28,0 x41,0 x42,0 x44,0 x48,0 x81,0 x82,0 x84,0 x88;void delay_key() uchar i;for(i=0;i200;i+);uchar keys_scan() uchar scode,kcode,k;p3 = 0 xf0;if(p3&0 xf0)!=0 xf0)25 delay_key();if(p3&0 xf

35、0)!=0 xf0) scode = 0 xfe;for(k=0;k47)&(set_temp_display_buffer1147)&(set_temp_display_buffer947)&(set_temp_display_buffer848)&(set_temp_display_buffer1148)&(set_temp_display_buffer948)&(set_temp_display_buffer858) set_temp_display_buffer8-=1;28else if(set_temp_display_buffer8=48) set_temp_display_bu

36、ffer8=57; if(k_one = key)while(keys_scan() = k_one);set_temp_display_buffer11=1;sel+;if(k_two = key)while(keys_scan() = k_two);set_temp_display_buffer11=2;sel+;if(k_three = key)while(keys_scan() = k_three);set_temp_display_buffer11=3;sel+;if(k_four = key)while(keys_scan() = k_four);set_temp_display_

37、buffer11=4;sel+;if(k_five = key)while(keys_scan() = k_five);set_temp_display_buffer11=5;29sel+;if(k_six = key)while(keys_scan() = k_six);set_temp_display_buffer11=6;sel+;if(k_seven = key)while(keys_scan() = k_seven);set_temp_display_buffer11=7;sel+;if(k_eight = key)while(keys_scan() = k_eight);set_t

38、emp_display_buffer11=8;sel+;if(k_nine = key)while(keys_scan() = k_nine);set_temp_display_buffer11=9;sel+;if(k_zero = key)while(keys_scan() = k_zero);set_temp_display_buffer11=0;sel+;if(k_ok = key)while(keys_scan() = k_ok);30temp_set=(set_temp_display_buffer8-48)*10+(set_temp_display_buffer9-48)+(set

39、_temp_display_buffer11-48)*0.1;sel=0;m_count=1;if(sel=1)key = keys_scan();if(k_clear = key)while(keys_scan() = k_clear);set_temp_display_buffer8 = ;set_temp_display_buffer9 = ;set_temp_display_buffer10= ;set_temp_display_buffer11= ; m_count=0;cold=0;warm=0;sel=0; if(k_one = key)while(keys_scan() = k

40、_one);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=1;sel+;if(k_two = key)while(keys_scan() = k_two);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=2;sel+;31if(k_three = key)while(keys_scan() = k_three);set_temp_display_buffer10=set_te

41、mp_display_buffer11 ;set_temp_display_buffer11=3;sel+;if(k_four = key)while(keys_scan() = k_four);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=4;sel+;if(k_five = key)while(keys_scan() = k_five);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_bu

42、ffer11=5;sel+;if(k_six = key)while(keys_scan() = k_six);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=6;sel+;if(k_seven = key)while(keys_scan() = k_seven);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=7;sel+;32if(k_eight = key)while(k

43、eys_scan() = k_eight);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=8;sel+;if(k_nine = key)while(keys_scan() = k_nine);set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=9;sel+;if(k_zero = key)while(keys_scan() = k_zero);set_temp_display_b

44、uffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=0;sel+;if(sel=2)key = keys_scan(); if(k_clear = key)while(keys_scan() = k_clear);set_temp_display_buffer8 = ;set_temp_display_buffer9 = ;set_temp_display_buffer10= ;set_temp_display_buffer11= ; m_count=0;cold=0;warm=0;33sel=0; if(k_point =

45、 key)while(keys_scan() = k_point);set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=.;sel+;if(sel=3)key = keys_scan(); if(k_clear = key)while(keys_scan() = k_clear);set_temp_display_buffer8 = ;set_temp_display_buffer9 =

46、 ;set_temp_display_buffer10= ;set_temp_display_buffer11= ; m_count=0;cold=0;warm=0;sel=0; if(k_one = key)while(keys_scan() = k_one);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_dis

47、play_buffer11=1;sel+;34if(k_two = key)while(keys_scan() = k_two);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=2;sel+;if(k_three = key)while(keys_scan() = k_three);

48、set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=3;sel+;if(k_four = key)while(keys_scan() = k_four);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display

49、_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=4;sel+;if(k_five = key)while(keys_scan() = k_five);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_t

50、emp_display_buffer11 ;set_temp_display_buffer11=5;sel+;35if(k_six = key)while(keys_scan() = k_six);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=6;sel+;if(k_seven =

51、 key)while(keys_scan() = k_seven);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=7;sel+;if(k_eight = key)while(keys_scan() = k_eight);set_temp_display_buffer8=set_te

52、mp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=8;sel+;if(k_nine = key)while(keys_scan() = k_nine);set_temp_display_buffer8=set_temp_display_buffer9 ;set_temp_display_buffer9=set_temp_display_buffer10 ;set_temp_display_buffer10=set_temp_display_buffer11 ;set_temp_display_buffer11=9;36sel+;if(k_zero = key)while(keys_scan() = k_zero);set_temp_display_buffer8=set_temp_display_buffer9

溫馨提示

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

評論

0/150

提交評論