




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南商務(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檢測(cè)水溫電路設(shè)計(jì)........................................................................................6
3.4水位檢測(cè)模塊電路設(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)品使用說(shuō)明.........................................................................................................12
5.1產(chǎn)品裝配圖.................................................................................................12
5.2產(chǎn)品調(diào)試.....................................................................................................12
5.3產(chǎn)品使用說(shuō)明.............................................................................................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)生,給人們的生活
帶來(lái)了根本性的變化。如果說(shuō)微型計(jì)算機(jī)的出現(xiàn)給我們現(xiàn)代科學(xué)的研究帶來(lái)了
質(zhì)的飛躍,那么單片機(jī)技術(shù)的出現(xiàn)就是給我們現(xiàn)代工業(yè)控制測(cè)控領(lǐng)域帶來(lái)了一
次新的革命。尤其是C51系列單片機(jī)的出現(xiàn)。
在能源日益緊張的今天,飲水機(jī)、電熱水器之類(lèi)的家用電器在保溫的時(shí)候
呢,是通過(guò)使用了溫敏電阻來(lái)實(shí)現(xiàn)它們自己本身簡(jiǎn)單的溫控的功能,但是因此
會(huì)造成很大的能源浪費(fèi)。所以我將利用STC89C52單片機(jī)作為核心,利用
CD1602液晶顯示屏和繼電器等來(lái)完成對(duì)飲水機(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ì)的基本形式就是由顯示功能、紅外遙控功能、溫度檢測(cè)功能組
成。
2.1單片機(jī)的選擇
方案1:采用傳統(tǒng)的二位模擬控制法
采用模擬電路,使用電位器來(lái)進(jìn)行設(shè)定給定值,使用上下限比較電路,然
后將反饋的溫度值與給定的溫度值進(jìn)行作比較,比較之后,再?zèng)Q定加熱還是不
加熱。因?yàn)椴捎媚M控制的方式,系統(tǒng)受環(huán)境的影響很大,所以不能實(shí)現(xiàn)復(fù)雜
的控制算法使控制精度做的較高。
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
方案2:采用52系列單片機(jī)
以STC89C52單片機(jī)為控制中心,我將會(huì)使用LCD1602液晶顯示屏來(lái)進(jìn)行
顯示飲水機(jī)水位、上下限溫度值和定時(shí)時(shí)間,(水溫檢測(cè)的顯示范圍為00~
99℃),精度為±1℃。通過(guò)按鍵是否按下來(lái)檢測(cè)飲水機(jī)是否進(jìn)行飲水機(jī)加水
和加熱的工作,(如果沒(méi)有按下溫度鍵,那么就按照當(dāng)前的溫度來(lái)進(jìn)行工作;
如果溫度鍵已經(jīng)按下了,那么就開(kāi)始設(shè)定溫度的范圍,并且按照新的設(shè)定值開(kāi)
始進(jìn)行加熱)。如果檢測(cè)溫度超過(guò)預(yù)設(shè)溫度或者飲水機(jī)內(nèi)沒(méi)有水,那么就會(huì)發(fā)
出警報(bào)的聲音而且會(huì)停止加熱。與此同時(shí)又因?yàn)镾TC89C52單片機(jī)具有結(jié)構(gòu)簡(jiǎn)
單、控制能力強(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)品通過(guò)水位傳感器檢測(cè)飲水機(jī)內(nèi)是否有水,如果飲水機(jī)內(nèi)有水則進(jìn)行
加熱操作,通過(guò)DS18B20傳感器感受加熱水的溫度,將接收到的溫度通過(guò)1602
液晶顯示出來(lái),再根據(jù)所顯示的溫度再進(jìn)行判斷是否需要再次進(jìn)行加熱,當(dāng)溫
度達(dá)到設(shè)定值時(shí),加熱繼電器會(huì)停止加熱;當(dāng)溫度低于設(shè)定值時(shí),加熱繼電器
繼續(xù)加熱。如果飲水機(jī)內(nèi)沒(méi)有水則會(huì)發(fā)出警報(bào)聲并不進(jìn)行操作。
3.2STC89C52RC單片機(jī)核心電路設(shè)計(jì)
STC89C52RC單片機(jī)是宏晶科技推出的一種低功耗、高性能CMOS8位微控制
器、具有8K在系統(tǒng)可編程Flash存儲(chǔ)器的單片機(jī),為什么我會(huì)選擇這款芯片
呢?因?yàn)樵谶@款單芯片上,它擁有靈巧的8位CPU并且能夠在系統(tǒng)上可以進(jìn)行
編程Flash,致使STC89C52單片機(jī)提供了高靈活的、超有效的解決方式,又同
時(shí)因?yàn)樗?jiǎ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.具有看門(mén)狗定時(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.控制信號(hào)引腳:
①RST(9引腳):復(fù)位引腳,高電平有效(兩
個(gè)機(jī)器周期),正常工作時(shí)該引腳電壓≤
0.5V;
②ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存
儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8
位字節(jié);
③PSEN:程序存儲(chǔ)允許輸出是外部程序存儲(chǔ)器
的讀選通信號(hào);
④EA/VPP:外部允許訪問(wèn)。
4.輸入/輸出(I/O)引腳(P0、P1、P2、P3):
①P0(P0.0~P0.7)8位漏極開(kāi)關(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檢測(cè)水溫電路設(shè)計(jì)
本設(shè)計(jì)中的溫度采集系統(tǒng)是由DS18B20傳感器負(fù)責(zé)的。當(dāng)傳感器工作時(shí),
如果水溫超過(guò)上限值,就將溫度傳給單片機(jī),然后飲水機(jī)停止加熱;如果水溫
低于下限值,那么飲水機(jī)繼續(xù)加熱。
檢測(cè)水溫電路原理圖如下圖6所示:
圖6檢測(cè)水溫電路原理圖
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
3.4水位檢測(cè)模塊電路設(shè)計(jì)
本產(chǎn)品通過(guò)水位傳感器來(lái)檢測(cè)飲水機(jī)內(nèi)是否有水,然后再進(jìn)行判斷是否再
進(jìn)行加熱操作,即:如果飲水機(jī)內(nèi)沒(méi)有水,則防止干燒,加熱繼電器不工作,
加水繼電器可以工作;如果飲水機(jī)內(nèi)有水,則可以通過(guò)按鍵進(jìn)行控制加熱繼電
器進(jìn)行飲水的加熱操作。
檢測(cè)水位電路原理圖如下圖7所示:
圖7檢測(cè)水位電路原理圖
3.5報(bào)警模塊電路設(shè)計(jì)
報(bào)警電路主要是由三極管和蜂鳴器組成的簡(jiǎn)單電路。當(dāng)溫度超過(guò)設(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è)子元,也就是說(shuō)32個(gè)字元。
字段顯示和字符顯示是LCD1602液晶顯示屏的兩種。字段顯示,是需要
送達(dá)對(duì)應(yīng)信號(hào)與對(duì)應(yīng)管腳時(shí)才能顯示;而字符顯示則是根據(jù)它所需要顯示的基
本字符就能夠進(jìn)行顯示操作。
本設(shè)計(jì)系統(tǒng)選擇了字符型顯示,因?yàn)長(zhǎng)CD1602液晶顯示屏的很好的優(yōu)點(diǎn)
是體積小、耗功低、顯示的內(nèi)容很豐富,所以被廣泛使用。
LCD1602液晶顯示屏使用的是標(biāo)準(zhǔn)的14腳(無(wú)背光)或者16腳(帶背
光)接口,每個(gè)引腳的接口的說(shuō)明如下圖9所示:
圖9LCD1602液晶顯示屏引腳接口說(shuō)明
LCD1602液晶顯示屏電路原理圖如下圖10所示:
本產(chǎn)品通過(guò)LCD1602液晶顯示屏來(lái)顯示當(dāng)前飲水機(jī)的水位和溫度值,通
過(guò)按鍵來(lái)控制加水繼電器和加熱繼電器,從而來(lái)實(shí)現(xiàn)飲水機(jī)的加水和加熱,然
后我就可以通過(guò)LCD1602液晶顯示屏來(lái)觀察飲水機(jī)水位和溫度的變化。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖10LCD1602液晶顯示屏電路原理圖
LCD1602液晶顯示屏電路實(shí)物圖如圖下圖11所示:
圖11LCD1602液晶顯示屏電路實(shí)物圖
4產(chǎn)品軟件設(shè)計(jì)
本產(chǎn)品采用了C語(yǔ)言,KELL編程環(huán)境,采用的是簡(jiǎ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)開(kāi)
始進(jìn)行延時(shí),然后芯片接收到超聲波傳達(dá)的數(shù)據(jù)之后,再由芯片進(jìn)行處理分
析,然后再把數(shù)據(jù)傳輸入LCD1602顯示屏中。
4.3下位機(jī)(APP程序設(shè)計(jì))
對(duì)計(jì)算機(jī)的程序編寫(xiě)完成之后,還需要通過(guò)使用軟件將所編寫(xiě)的程序進(jìn)行
測(cè)試和編譯,如果程序是不能通過(guò)編譯的,那么就需要對(duì)程序再一次進(jìn)行修
改。當(dāng)所有程序都編譯通過(guò)之后,可以使用遙控將單片機(jī)設(shè)備以及上位機(jī)聯(lián)
通,實(shí)現(xiàn)遠(yuǎn)程傳輸?shù)男Ч?。程序編譯圖如下圖14所示:
圖14程序編譯通過(guò)圖
4.4產(chǎn)品程序清單
該產(chǎn)品程序清單由下圖15所示:
圖15產(chǎn)品程序清單圖
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
5產(chǎn)品使用說(shuō)明
5.1產(chǎn)品裝配圖
由下圖16所示:
圖16產(chǎn)品裝配圖
5.2產(chǎn)品調(diào)試
1.檢查單片機(jī)所有的部件都需要手工焊接到萬(wàn)能板的上面,然后需要對(duì)
每一個(gè)焊點(diǎn)進(jìn)行仔細(xì)檢查,確保焊接板上的器件沒(méi)有被虛焊漏焊,并且再看看
是不是有多余的毛刺。
2.使用萬(wàn)能表進(jìn)行測(cè)試板件的時(shí)候,還需要仔細(xì)查看各個(gè)焊點(diǎn)連接狀況
是不是合格的,然后再進(jìn)一步檢查每根電源線與地線是不是有短路的現(xiàn)象。
3.對(duì)產(chǎn)品進(jìn)行上電檢查。
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
4.將編寫(xiě)好了的程序燒錄到單片機(jī)里面。
5.程序被燒錄成功之后的界面就如下圖17所示:
圖17燒錄成功圖
5.3產(chǎn)品使用說(shuō)明
1.LCD1602液晶顯示屏第一列分別顯示的是當(dāng)前的溫度和預(yù)設(shè)的時(shí)間,默
認(rèn)是飲水機(jī)沒(méi)有開(kāi)啟加熱;第二列設(shè)置的是上限值和下限值。
2.模擬飲水機(jī)開(kāi)始加熱的時(shí)候,將下限水位傳感器放入水中,當(dāng)沒(méi)有水
時(shí),加熱是停止的,當(dāng)有水時(shí),才開(kāi)始加熱(為了防止干燒,在沒(méi)有加水之前
是不加熱的);當(dāng)水位注射達(dá)到上限值的時(shí)候,我們?cè)賹⑸舷匏粋鞲衅鞣湃?/p>
水中,此時(shí)加水繼電器停止工作;當(dāng)我們把上限水位傳感器從水中拿出來(lái)的時(shí)
候,水位值此時(shí)就處于下限值之上,上限值之下;當(dāng)我們把下限水位傳感器從
水中拿出來(lái)的時(shí)候,加水繼電器開(kāi)始工作,加熱繼電器停止工作。
3.模擬水溫的時(shí)候,當(dāng)水溫升高的時(shí)候,溫度高于上限值時(shí),加熱繼電
器就停止加熱;溫度低于下限值時(shí),加熱繼電器又繼續(xù)加熱。
4.當(dāng)上限水位傳感器檢測(cè)到有水,而下限水位傳感器檢測(cè)沒(méi)水的時(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ù)語(yǔ);
[5]GB/T8566-2007信息技術(shù)軟件生存周期過(guò)程標(biāo)準(zhǔn);
[6]GB/T8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范。
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
參考資料
[1]吳國(guó)經(jīng).單片機(jī)應(yīng)用技術(shù)[M].北京:中國(guó)電力出版社,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;//給脈沖信號(hào)
dat>>=1;
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
DQ=1;//給脈沖信號(hào)
if(DQ)
dat|=0x80;
Delay_DS18B20(5);
}
return(dat);
}
/*****寫(xiě)一個(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);//跳過(guò)讀序號(hào)列號(hào)的操作
WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換
Delay_DS18B20(200);
Init_DS18B20();
WriteOneChar(0xCC);//跳過(guò)讀序號(hào)列號(hào)的操作
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);//打開(kāi)顯示無(wú)光標(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);//打開(kāi)顯示無(wú)光標(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 郴州應(yīng)急搶險(xiǎn)管理辦法
- 簽證索賠管理辦法心得
- 贛州戶外燒烤管理辦法
- 鄂州員工寢室管理辦法
- 孕婦學(xué)校培訓(xùn)課件
- 格塞爾培訓(xùn)課件
- 學(xué)習(xí)項(xiàng)目小組培訓(xùn)課件
- 肝癌手術(shù)護(hù)理課件
- 肝癌中醫(yī)課件
- 高新一小學(xué)數(shù)學(xué)試卷
- GB/T 44412-2024船舶與海上技術(shù)液化天然氣燃料船舶加注規(guī)范
- 國(guó)家開(kāi)放大學(xué)專(zhuān)科《法理學(xué)》期末紙質(zhì)考試第四大題問(wèn)答題題庫(kù)2024版
- 微生物限度檢查操作規(guī)程中國(guó)藥典四部通則
- 乒乓球社團(tuán)活動(dòng)記錄
- (高清版)JTT 529-2016 預(yù)應(yīng)力混凝土橋梁用塑料波紋管
- 小學(xué)科學(xué)培訓(xùn)講座
- DLT 5100水工混凝土外加劑技術(shù)規(guī)程
- 廣告制作、宣傳用品、宣傳物料采購(gòu)項(xiàng)目投標(biāo)方案(技術(shù)方案)
- 2024屆湖北省仙桃市小升初復(fù)習(xí)語(yǔ)文模擬試卷含答案
- AI技術(shù)在智能旅游中的應(yīng)用
- 中國(guó)石油夏季安全生產(chǎn)“八防”措施
評(píng)論
0/150
提交評(píng)論