版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
目錄
1產(chǎn)品功能分析...........................................................................................................1
2設(shè)計(jì)方案遴選...........................................................................................................1
2.1單片機(jī)的選擇...............................................................................................1
2.2系統(tǒng)框圖設(shè)計(jì)...............................................................................................2
3產(chǎn)品硬件設(shè)計(jì)...........................................................................................................3
3.1電路原理圖及工作原理................................................................................3
3.2STC89C52RC單片機(jī)核心電路設(shè)計(jì)..............................................................3
3.3檢測水溫電路設(shè)計(jì)........................................................................................6
3.4水位檢測模塊電路設(shè)計(jì)................................................................................7
3.5報(bào)警模塊電路設(shè)計(jì).......................................................................................7
3.6LCD1602液晶顯示屏模塊電路....................................................................8
4產(chǎn)品軟件設(shè)計(jì)...........................................................................................................9
4.1主程序流程圖...............................................................................................9
4.2LCD1602液晶顯示程序設(shè)計(jì)......................................................................10
4.3下位機(jī)(APP程序設(shè)計(jì))..........................................................................11
4.4產(chǎn)品程序清單.............................................................................................11
5產(chǎn)品使用說明.........................................................................................................12
5.1產(chǎn)品裝配圖.................................................................................................12
5.2產(chǎn)品調(diào)試.....................................................................................................12
5.3產(chǎn)品使用說明.............................................................................................13
6、產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)...............................................................................................14
參考資料.....................................................................................................................15
附錄.............................................................................................................................16
附錄1元器件清單.......................................................................................16
附錄2電路原理圖.......................................................................................17
附錄3PCB設(shè)計(jì)圖........................................................................................18
I
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄4產(chǎn)品實(shí)物圖.......................................................................................19
附錄5主程序...............................................................................................20
II
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于52單片機(jī)飲水機(jī)定時(shí)加熱的設(shè)計(jì)與制作
1產(chǎn)品功能分析
隨著電子技術(shù)的快速發(fā)展,尤其是大規(guī)模集成電路的產(chǎn)生,給人們的生活
帶來了根本性的變化。如果說微型計(jì)算機(jī)的出現(xiàn)給我們現(xiàn)代科學(xué)的研究帶來了
質(zhì)的飛躍,那么單片機(jī)技術(shù)的出現(xiàn)就是給我們現(xiàn)代工業(yè)控制測控領(lǐng)域帶來了一
次新的革命。尤其是C51系列單片機(jī)的出現(xiàn)。
在能源日益緊張的今天,飲水機(jī)、電熱水器之類的家用電器在保溫的時(shí)候
呢,是通過使用了溫敏電阻來實(shí)現(xiàn)它們自己本身簡單的溫控的功能,但是因此
會造成很大的能源浪費(fèi)。所以我將利用STC89C52單片機(jī)作為核心,利用
CD1602液晶顯示屏和繼電器等來完成對飲水機(jī)定時(shí)加熱的設(shè)計(jì)。
2設(shè)計(jì)方案遴選
為了發(fā)揮器件的基本功能,在進(jìn)行硬件電路搭建前必須要選擇好合適的產(chǎn)
品零部件。
一個(gè)完整的飲水機(jī)定時(shí)加熱的設(shè)計(jì)與制作需要很多個(gè)零部件組成,雖然我
們有很多的模塊可以選擇并且使用,但是還是要考慮我們自身的經(jīng)濟(jì)水平還有
產(chǎn)品的兼容性。
本產(chǎn)品設(shè)計(jì)的基本形式就是由顯示功能、紅外遙控功能、溫度檢測功能組
成。
2.1單片機(jī)的選擇
方案1:采用傳統(tǒng)的二位模擬控制法
采用模擬電路,使用電位器來進(jìn)行設(shè)定給定值,使用上下限比較電路,然
后將反饋的溫度值與給定的溫度值進(jìn)行作比較,比較之后,再決定加熱還是不
加熱。因?yàn)椴捎媚M控制的方式,系統(tǒng)受環(huán)境的影響很大,所以不能實(shí)現(xiàn)復(fù)雜
的控制算法使控制精度做的較高。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
方案2:采用52系列單片機(jī)
以STC89C52單片機(jī)為控制中心,我將會使用LCD1602液晶顯示屏來進(jìn)行
顯示飲水機(jī)水位、上下限溫度值和定時(shí)時(shí)間,(水溫檢測的顯示范圍為00~
99℃),精度為±1℃。通過按鍵是否按下來檢測飲水機(jī)是否進(jìn)行飲水機(jī)加水
和加熱的工作,(如果沒有按下溫度鍵,那么就按照當(dāng)前的溫度來進(jìn)行工作;
如果溫度鍵已經(jīng)按下了,那么就開始設(shè)定溫度的范圍,并且按照新的設(shè)定值開
始進(jìn)行加熱)。如果檢測溫度超過預(yù)設(shè)溫度或者飲水機(jī)內(nèi)沒有水,那么就會發(fā)
出警報(bào)的聲音而且會停止加熱。與此同時(shí)又因?yàn)镾TC89C52單片機(jī)具有結(jié)構(gòu)簡
單、控制能力強(qiáng)、可靠性高、體積小、價(jià)格低等優(yōu)點(diǎn),所以呢,被許多行業(yè)都
進(jìn)行了廣泛的應(yīng)用。
綜合以上,我選擇方案2。
2.2系統(tǒng)框圖設(shè)計(jì)
產(chǎn)品系統(tǒng)框圖設(shè)計(jì)如下圖1所示:
圖1產(chǎn)品系統(tǒng)框圖
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3產(chǎn)品硬件設(shè)計(jì)
3.1電路原理圖及工作原理
電路原理圖如下圖2所示:
圖2產(chǎn)品電路原理圖
此產(chǎn)品通過水位傳感器檢測飲水機(jī)內(nèi)是否有水,如果飲水機(jī)內(nèi)有水則進(jìn)行
加熱操作,通過DS18B20傳感器感受加熱水的溫度,將接收到的溫度通過1602
液晶顯示出來,再根據(jù)所顯示的溫度再進(jìn)行判斷是否需要再次進(jìn)行加熱,當(dāng)溫
度達(dá)到設(shè)定值時(shí),加熱繼電器會停止加熱;當(dāng)溫度低于設(shè)定值時(shí),加熱繼電器
繼續(xù)加熱。如果飲水機(jī)內(nèi)沒有水則會發(fā)出警報(bào)聲并不進(jìn)行操作。
3.2STC89C52RC單片機(jī)核心電路設(shè)計(jì)
STC89C52RC單片機(jī)是宏晶科技推出的一種低功耗、高性能CMOS8位微控制
器、具有8K在系統(tǒng)可編程Flash存儲器的單片機(jī),為什么我會選擇這款芯片
呢?因?yàn)樵谶@款單芯片上,它擁有靈巧的8位CPU并且能夠在系統(tǒng)上可以進(jìn)行
編程Flash,致使STC89C52單片機(jī)提供了高靈活的、超有效的解決方式,又同
時(shí)因?yàn)樗唵魏苋菀咨鲜?,所以這款芯片被使用的很廣泛,也有很不錯(cuò)的學(xué)習(xí)
價(jià)值。
STC89C52RC單片機(jī)核心電路原理圖如圖3所示:
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖3STC89C52RC單片機(jī)核心電路原理圖
使用STC89C52RC單片機(jī)核心芯片的原因是因?yàn)樗膬?yōu)點(diǎn)為是一種加強(qiáng)型
8051單片機(jī)6時(shí)鐘、機(jī)器周期和12時(shí)鐘機(jī)器周期都可以自主選擇,完全兼容
傳統(tǒng)8051的指令代碼。
主要特性:
1.具有看門狗定時(shí)器功能;
2.具有EEPROM功能;
3.能夠通用異步串行口[UART],還可以使用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。
STC89C52RC單片機(jī)基本工作條件引腳有以下:
1.電源引腳:
①VCC(40引腳):+5V電源;
②VSS(20引腳):接地。
2.時(shí)鐘引腳:
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
①XTAL1(19引腳):片內(nèi)振蕩器的反相放大器和外部時(shí)
鐘發(fā)生器的輸入端;
②XTAL2(18引腳):片內(nèi)振蕩器的反相放大器和外部時(shí)
鐘發(fā)生器的輸出端。
3.控制信號引腳:
①RST(9引腳):復(fù)位引腳,高電平有效(兩
個(gè)機(jī)器周期),正常工作時(shí)該引腳電壓≤
0.5V;
②ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存
儲器時(shí),ALE輸出脈沖用于鎖存地址的低8
位字節(jié);
③PSEN:程序存儲允許輸出是外部程序存儲器
的讀選通信號;
④EA/VPP:外部允許訪問。
4.輸入/輸出(I/O)引腳(P0、P1、P2、P3):
①P0(P0.0~P0.7)8位漏極開關(guān)型雙向I/O端
口,可以作為通用I/O口使用,但必須加上
拉電阻;
②P1(P1.0~P1.7)內(nèi)部帶上拉電阻的8位準(zhǔn)雙
向I/O端口;
③P2(P2.0~P2.7)內(nèi)部帶上拉電阻的8位準(zhǔn)雙
向I/O端口;
④P2(P3.0~P3.7)內(nèi)部帶上拉電阻的8位多功
能雙向I/O端口。
STC89C52RC單片機(jī)引腳圖如下圖4所示:
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖4STC89C52RC單片機(jī)引腳圖
STC89C52RC單片機(jī)實(shí)物圖如圖5所示:
圖5STC89C52RC單片機(jī)實(shí)物圖
3.3檢測水溫電路設(shè)計(jì)
本設(shè)計(jì)中的溫度采集系統(tǒng)是由DS18B20傳感器負(fù)責(zé)的。當(dāng)傳感器工作時(shí),
如果水溫超過上限值,就將溫度傳給單片機(jī),然后飲水機(jī)停止加熱;如果水溫
低于下限值,那么飲水機(jī)繼續(xù)加熱。
檢測水溫電路原理圖如下圖6所示:
圖6檢測水溫電路原理圖
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3.4水位檢測模塊電路設(shè)計(jì)
本產(chǎn)品通過水位傳感器來檢測飲水機(jī)內(nèi)是否有水,然后再進(jìn)行判斷是否再
進(jìn)行加熱操作,即:如果飲水機(jī)內(nèi)沒有水,則防止干燒,加熱繼電器不工作,
加水繼電器可以工作;如果飲水機(jī)內(nèi)有水,則可以通過按鍵進(jìn)行控制加熱繼電
器進(jìn)行飲水的加熱操作。
檢測水位電路原理圖如下圖7所示:
圖7檢測水位電路原理圖
3.5報(bào)警模塊電路設(shè)計(jì)
報(bào)警電路主要是由三極管和蜂鳴器組成的簡單電路。當(dāng)溫度超過設(shè)置的上
限值和下限值時(shí),P2.6口輸出高電平,三極管導(dǎo)通,蜂鳴器工作,發(fā)出警報(bào)
聲。
報(bào)警電路原理圖如下圖8所示:
圖8報(bào)警電路原理圖
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3.6LCD1602液晶顯示屏模塊電路
LCD1602液晶顯示屏是一種工業(yè)字元型液晶,可以同時(shí)間顯示16X02
個(gè)子元,也就是說32個(gè)字元。
字段顯示和字符顯示是LCD1602液晶顯示屏的兩種。字段顯示,是需要
送達(dá)對應(yīng)信號與對應(yīng)管腳時(shí)才能顯示;而字符顯示則是根據(jù)它所需要顯示的基
本字符就能夠進(jìn)行顯示操作。
本設(shè)計(jì)系統(tǒng)選擇了字符型顯示,因?yàn)長CD1602液晶顯示屏的很好的優(yōu)點(diǎn)
是體積小、耗功低、顯示的內(nèi)容很豐富,所以被廣泛使用。
LCD1602液晶顯示屏使用的是標(biāo)準(zhǔn)的14腳(無背光)或者16腳(帶背
光)接口,每個(gè)引腳的接口的說明如下圖9所示:
圖9LCD1602液晶顯示屏引腳接口說明
LCD1602液晶顯示屏電路原理圖如下圖10所示:
本產(chǎn)品通過LCD1602液晶顯示屏來顯示當(dāng)前飲水機(jī)的水位和溫度值,通
過按鍵來控制加水繼電器和加熱繼電器,從而來實(shí)現(xiàn)飲水機(jī)的加水和加熱,然
后我就可以通過LCD1602液晶顯示屏來觀察飲水機(jī)水位和溫度的變化。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖10LCD1602液晶顯示屏電路原理圖
LCD1602液晶顯示屏電路實(shí)物圖如圖下圖11所示:
圖11LCD1602液晶顯示屏電路實(shí)物圖
4產(chǎn)品軟件設(shè)計(jì)
本產(chǎn)品采用了C語言,KELL編程環(huán)境,采用的是簡單的模塊化設(shè)計(jì),由
多個(gè)程序和模塊化程序組成的整體程序。
4.1主程序流程圖
由下圖12所示:
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖12主程序流程圖
4.2LCD1602液晶顯示程序設(shè)計(jì)
LCD1602液晶模塊內(nèi)部的控制器一共有11條控制指令,若下圖13所示:
圖13功能表
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
在整個(gè)LCD顯示系統(tǒng)工作中,當(dāng)LCD1602進(jìn)行了初始化之后,該系統(tǒng)開
始進(jìn)行延時(shí),然后芯片接收到超聲波傳達(dá)的數(shù)據(jù)之后,再由芯片進(jìn)行處理分
析,然后再把數(shù)據(jù)傳輸入LCD1602顯示屏中。
4.3下位機(jī)(APP程序設(shè)計(jì))
對計(jì)算機(jī)的程序編寫完成之后,還需要通過使用軟件將所編寫的程序進(jìn)行
測試和編譯,如果程序是不能通過編譯的,那么就需要對程序再一次進(jìn)行修
改。當(dāng)所有程序都編譯通過之后,可以使用遙控將單片機(jī)設(shè)備以及上位機(jī)聯(lián)
通,實(shí)現(xiàn)遠(yuǎn)程傳輸?shù)男Ч?。程序編譯圖如下圖14所示:
圖14程序編譯通過圖
4.4產(chǎn)品程序清單
該產(chǎn)品程序清單由下圖15所示:
圖15產(chǎn)品程序清單圖
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5產(chǎn)品使用說明
5.1產(chǎn)品裝配圖
由下圖16所示:
圖16產(chǎn)品裝配圖
5.2產(chǎn)品調(diào)試
1.檢查單片機(jī)所有的部件都需要手工焊接到萬能板的上面,然后需要對
每一個(gè)焊點(diǎn)進(jìn)行仔細(xì)檢查,確保焊接板上的器件沒有被虛焊漏焊,并且再看看
是不是有多余的毛刺。
2.使用萬能表進(jìn)行測試板件的時(shí)候,還需要仔細(xì)查看各個(gè)焊點(diǎn)連接狀況
是不是合格的,然后再進(jìn)一步檢查每根電源線與地線是不是有短路的現(xiàn)象。
3.對產(chǎn)品進(jìn)行上電檢查。
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.將編寫好了的程序燒錄到單片機(jī)里面。
5.程序被燒錄成功之后的界面就如下圖17所示:
圖17燒錄成功圖
5.3產(chǎn)品使用說明
1.LCD1602液晶顯示屏第一列分別顯示的是當(dāng)前的溫度和預(yù)設(shè)的時(shí)間,默
認(rèn)是飲水機(jī)沒有開啟加熱;第二列設(shè)置的是上限值和下限值。
2.模擬飲水機(jī)開始加熱的時(shí)候,將下限水位傳感器放入水中,當(dāng)沒有水
時(shí),加熱是停止的,當(dāng)有水時(shí),才開始加熱(為了防止干燒,在沒有加水之前
是不加熱的);當(dāng)水位注射達(dá)到上限值的時(shí)候,我們再將上限水位傳感器放入
水中,此時(shí)加水繼電器停止工作;當(dāng)我們把上限水位傳感器從水中拿出來的時(shí)
候,水位值此時(shí)就處于下限值之上,上限值之下;當(dāng)我們把下限水位傳感器從
水中拿出來的時(shí)候,加水繼電器開始工作,加熱繼電器停止工作。
3.模擬水溫的時(shí)候,當(dāng)水溫升高的時(shí)候,溫度高于上限值時(shí),加熱繼電
器就停止加熱;溫度低于下限值時(shí),加熱繼電器又繼續(xù)加熱。
4.當(dāng)上限水位傳感器檢測到有水,而下限水位傳感器檢測沒水的時(shí)候,
蜂鳴器發(fā)出警報(bào)的聲音,因?yàn)榇藭r(shí)系統(tǒng)是錯(cuò)誤的狀態(tài),不存在這種情況,所以
發(fā)出警報(bào)聲,直到有人為的按下取消報(bào)警的按鍵。
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
6、產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)
[1]J-STD-001E電氣與電子組件的焊接要求;
[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求;
[3]IPC-7711/21電子組件和電路板的返工&返修;
[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語;
[5]GB/T8566-2007信息技術(shù)軟件生存周期過程標(biāo)準(zhǔn);
[6]GB/T8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范。
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
參考資料
[1]吳國經(jīng).單片機(jī)應(yīng)用技術(shù)[M].北京:中國電力出版社,2004:10.
[2]張振榮.MCS-51單片機(jī)原理及實(shí)用技術(shù)[M].北京:人民郵電出版社,2000:10-13.
[3]沈紅衛(wèi).基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005:30-35.
[4]肖洪兵.跟我學(xué)用單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2002:100-103.
[5]樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2003:50-60.
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄
附錄1元器件清單
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄2電路原理圖
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄3PCB設(shè)計(jì)圖
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄4產(chǎn)品實(shí)物圖
19
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄5主程序代碼
//張瑤202004010141
//基于52單片機(jī)飲水機(jī)定時(shí)加熱的設(shè)計(jì)與制作
//程序頭函數(shù)
#include<reg52.h>
//顯示函數(shù)
#include<display.h>
#include"eeprom52.h"
//宏定義
#defineuintunsignedint
#defineucharunsignedchar
//管腳聲明
sbitjdq=P1^0;//加熱繼電器
sbitshui=P1^3;//加水繼電器
sbitFeng=P2^6;//蜂鳴器
//按鍵
sbitKey1=P1^4;//設(shè)置
sbitKey2=P1^5;//加
sbitKey3=P1^6;//減
sbitKey4=P1^7;//確定
sbitshang=P3^6;//上限
sbitxia=P3^7;//下限
sbitP32=P3^3;//紅外遙控接的IO口
bitflag_jiema_en=1;//紅外解碼成功標(biāo)志位
sbitDQ=P2^2;//定義DS18B20總線I/O
signedcharw,bj,bjx,bjd;//溫度值全局變量
uintc;//溫度值全局變量
bitbdataflag=0,flag_BJ,flag_off=1,que;
ucharhw_table[4];//紅外解碼的緩沖區(qū)
//設(shè)置變量
//上限
ucharxx=35;
//下限
ucharsx=25;
unsignedintds=25;
ucharMode=0;
20
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
voidinit_eeprom();
voidwrite_eeprom();
voidread_eeprom();
voiddelay(uintz)
{
uinti,j;
for(i=0;i<z;i++)
for(j=0;j<121;j++);
}
/********************************************************************
******************************
**************************溫度工作程序
*************************************************************
********************************************************************
******************************/
/*****延時(shí)子程序*****/
voidDelay_DS18B20(intnum)
{
while(num--);
}
/*****初始化DS18B20*****/
voidInit_DS18B20(void)
{
unsignedcharx=0;
DQ=1;//DQ復(fù)位
Delay_DS18B20(8);//稍做延時(shí)
DQ=0;//單片機(jī)將DQ拉低
Delay_DS18B20(80);//精確延時(shí),大于480us
DQ=1;//拉高總線
Delay_DS18B20(10);
x=DQ;//稍做延時(shí)后,如果x=0則初始化成功,x=1則初始化失
敗
Delay_DS18B20(5);
}
/*****讀一個(gè)字節(jié)*****/
unsignedcharReadOneChar(void)
{
unsignedchari=0;
unsignedchardat=0;
for(i=8;i>0;i--)
{
DQ=0;//給脈沖信號
dat>>=1;
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
DQ=1;//給脈沖信號
if(DQ)
dat|=0x80;
Delay_DS18B20(5);
}
return(dat);
}
/*****寫一個(gè)字節(jié)*****/
voidWriteOneChar(unsignedchardat)
{
unsignedchari=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
Delay_DS18B20(5);
DQ=1;
dat>>=1;
}
Delay_DS18B20(5);
}
/*****讀取溫度*****/
unsignedintReadTemperature(void)
{
unsignedinta=0;
unsignedintb=0;
unsignedintt=0;
Init_DS18B20();
WriteOneChar(0xCC);//跳過讀序號列號的操作
WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換
Delay_DS18B20(200);
Init_DS18B20();
WriteOneChar(0xCC);//跳過讀序號列號的操作
WriteOneChar(0xBE);//讀取溫度寄存器
a=ReadOneChar();//讀低8位
b=ReadOneChar();//讀高8位
b<<=8;
t=a+b;
t=t*(0.625);//溫度值擴(kuò)大10倍,精確到1位小數(shù)
return(t);
}
22
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
/*****讀取溫度*****/
voidcheck_wendu(void)
{
c=ReadTemperature();//獲取溫度值
w=c/10;//計(jì)算得到整數(shù)位
if(w<0){w=0;}//設(shè)置溫度顯示上限
if(w>99){w=99;}//設(shè)置溫度顯示上限
}
/********************************************************************
******************************
********************************************************************
*******************************
********************************************************************
******************************/
/********************************************************************
******************************
************************************按鍵工作程序
***************************************************
********************************************************************
******************************/
voidKey()
{
//模式選擇
if(Key1==0)
{
while(Key1==0);
Feng=0;
Mode++;
Display_wd();
if(Mode==4)
{
Mode=1;
Feng=1;
}
write_com(0x38);//屏幕初始化
write_com(0x0d);//打開顯示無光標(biāo)光標(biāo)閃爍
write_com(0x06);//當(dāng)讀或?qū)懸粋€(gè)字符是指針后一一位
switch(Mode)
{
case1:
{
write_com(0x80+15);//位置
23
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
Feng=1;
break;
}
case2:
{
write_com(0x80+0x40+5);//位置
Feng=1;
break;
}
case3:
{
write_com(0x80+0x40+14);//位置
Feng=1;
break;
}
}
}
if(Key2==0&&Mode!=0)
{
while(Key2==0);
Feng=0;
switch(Mode)
{
case1:
{
if(ds<999)
{
ds++;
write_eeprom();
write_com(0x80+13);
write_data('0'+ds/100);
write_data('0'+ds/10%10);
write_data('0'+ds%10);
write_com(0x80+15);//位置
}
Feng=1;
break;
}
case2:
{
if(xx<99-1)
{
xx++;
24
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
write_com(0x80+0x40+4);
write_data('0'+xx/10%10);
write_data('0'+xx%10);
write_com(0x80+0x40+5);//位置
}
Feng=1;
break;
}
case3:
{
if(sx<xx-1)
{
sx++;
write_com(0x80+0x40+13);
write_data('0'+sx/10%10);
write_data('0'+sx%10);
write_com(0x80+0x40+14);//位置
}
Feng=1;
break;
}
}
}
if(Key3==0&&Mode!=0)
{
while(Key3==0);
Feng=0;
switch(Mode)
{
case1:
{
if(ds>0)
{
ds--;
write_eeprom();
write_com(0x80+13);
write_data('0'+ds/100);
write_data('0'+ds/10%10);
write_data('0'+ds%10);
write_com(0x80+15);//位置
}
Feng=1;
break;
25
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
}
case2:
{
if(xx>sx+1)
{
xx--;
write_eeprom();
write_com(0x80+0x40+4);
write_data('0'+xx/10%10);
write_data('0'+xx%10);
write_com(0x80+0x40+5);//位置
}
Feng=1;
break;
}
case3:
{
if(sx>0)
{
sx--;
write_eeprom();
write_com(0x80+0x40+13);
write_data('0'+sx/10%10);
write_data('0'+sx%10);
write_com(0x80+0x40+14);//位置
}
Feng=1;
break;
}
}
}
if(Key4==0)
{
while(Key4==0);
Feng=0;
Mode=0;
Init1602();
if(ds>0)
{
flag=1;
jdq=1;
TR1=1;
}
26
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
Feng=1;
write_eeprom();
}
if(flag_jiema_en==1)
{
flag_jiema_en=0;
if(hw_table[2]==0x45)//遙控設(shè)置鍵
{
Feng=0;
Mode++;
Display_wd();
if(Mode==4)
{
Mode=1;
Feng=1;
}
write_com(0x38);//屏幕初始化
write_com(0x0d);//打開顯示無光標(biāo)光標(biāo)閃爍
write_com(0x06);//當(dāng)讀或?qū)懸粋€(gè)字符是指針后一一位
switch(Mode)
{
case1:
{
write_com(0x80+15);//位置
Feng=1;
break;
}
case2:
{
write_com(0x80+0x40+5);//位置
Feng=1;
break;
}
case3:
{
write_com(0x80+0x40+14);//位置
Feng=1;
break;
}
}
}
//+鍵
27
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
elseif(hw_table[2]==0x15)
{
if(Mode!=0)
{
Feng=0;
switch(Mode)
{
case1:
{
if(ds<999)
{
ds++;
write_eeprom();
write_com(0x80+13);
write_data('0'+ds/100);
write_data('0'+ds/10%10);
write_data('0'+ds%10);
write_com(0x80+15);//位置
}
Feng=1;
break;
}
case2:
{
if(xx<99-1)
{
xx++;
write_eeprom();
write_com(0x80+0x40+4);
write_data('0'+xx/10%10);
write_data('0'+xx%10);
write_com(0x80+0x40+5);//位置
}
Feng=1;
break;
}
case3:
{
if(sx<xx-1)
{
sx++;
write_eeprom();
write_com(0x80+0x40+13);
28
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
write_data('0'+sx/10%10);
write_data('0'+sx%10);
write_com(0x80+0x40+14);//位置
}
Feng=1;
break;
}
}
}
}
//-鍵
elseif(hw_table[2]==0x07)
{
if(Mode!=0)
{
Feng=0;
switch(Mode)
{
case1:
{
if(ds>0)
{
ds--;
write_eeprom();
write_com(0x80+13);
write_data('0'+ds/100);
write_data('0'+ds/10%10);
write_data('0'+ds%10);
write_com(0x80+15);//位置
}
Feng=1;
break;
}
case2:
{
if(xx>sx+1)
{
xx--;
write_eeprom();
write_com(0x80+0x40+4);
write_data('0'+xx/10%10);
write_data('0'+xx%10);
write_com(0x80+0x40+5);//位置
29
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
}
Feng=1;
break;
}
case3:
{
if(sx>0)
{
sx--;
write_eeprom();
write_com(0x80+0x40+13);
write_data('0'+sx/10%10);
write_data('0'+sx%10);
write_com(0x80+0x40+14);//位置
}
Feng=1;
break;
}
}
}
}
//確定鍵
elseif(hw_table[2]==0x09)
{
Feng=0;
Mode=0;
Init1602();
if(ds>0)
{
flag=1;
jdq=1;
TR1=1;
}
Feng=1;
write_eeprom();
}
}
}
/********************************************************************
******************************
********************************************************************
*******************************
30
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
********************************************************************
******************************/
/********************************************************************
******************************
************************************報(bào)警部分程序
***************************************************
********************************************************************
******************************/
voidAlam()
{
if(flag_
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年西寧晚報(bào)數(shù)字報(bào)刊內(nèi)容版權(quán)保護(hù)與許可合同3篇
- 建設(shè)工程消防查驗(yàn)合同(2篇)
- 重點(diǎn)領(lǐng)域政策力度持續(xù)加強(qiáng) 債券市場信用風(fēng)險(xiǎn)趨于緩和-2024年債券市場信用風(fēng)險(xiǎn)分析及2025年展望 -新世紀(jì)
- 初三中考備考指導(dǎo)模板
- 2025年銷售薪資結(jié)構(gòu)優(yōu)化合同規(guī)范2篇
- 九年級自我介紹綜評范文(4篇)
- 益陽雙面銑床施工方案
- 雨刷器機(jī)械原理課程設(shè)計(jì)
- 二零二五民法典合同編電子書制作合同4篇
- 2025年度電影院日常保潔與觀眾安全服務(wù)合同4篇
- 物業(yè)民法典知識培訓(xùn)課件
- 2023年初中畢業(yè)生信息技術(shù)中考知識點(diǎn)詳解
- 2024-2025學(xué)年山東省德州市高中五校高二上學(xué)期期中考試地理試題(解析版)
- 《萬方數(shù)據(jù)資源介紹》課件
- 麻風(fēng)病病情分析
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- 第一章-地震工程學(xué)概論
- JJF(陜) 063-2021 漆膜沖擊器校準(zhǔn)規(guī)范
- 《中國糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 交通運(yùn)輸類專業(yè)生涯發(fā)展展示
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
評論
0/150
提交評論