版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(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通訊方式的選擇.............................................2
2.3系統(tǒng)框圖設(shè)計(jì)...............................................2
3產(chǎn)品硬件設(shè)計(jì)....................................................2
3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)..............................3
3.2按鍵電路設(shè)計(jì)...............................................3
3.3數(shù)碼管顯示模塊電路.........................................4
4產(chǎn)品軟件設(shè)計(jì)....................................................6
4.1主程序流程圖...............................................6
4.2數(shù)碼管顯示程序設(shè)計(jì)........................................6
4.3上位機(jī)程序................................................7
4.4產(chǎn)品程序清單..............................................8
5產(chǎn)品使用說明....................................................8
5.1產(chǎn)品裝配圖.................................................8
5.2產(chǎn)品調(diào)試...................................................9
5.3產(chǎn)品使用說明...............................................9
6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)................................................10
參考資料..........................................................11
附錄..............................................................12
附錄1元器件清單..............................................12
附錄2電路原理圖..............................................13
附錄3PCB設(shè)計(jì)圖...............................................14
附錄4產(chǎn)品實(shí)物圖..............................................15
附錄5主程序代碼..............................................17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
基于51單片機(jī)水溫控制系統(tǒng)設(shè)計(jì)與制作
1產(chǎn)品功能分析
本設(shè)計(jì)是一個(gè)基于單面機(jī)的溫度測控系統(tǒng),主要由單面機(jī)構(gòu)成溫度采集與
控制終端,實(shí)現(xiàn)溫度采集與控制。溫控系統(tǒng)是將負(fù)載的電加熱絲看成是被控對(duì)
象,溫度是控制量,控制前先設(shè)定溫度值,然后對(duì)電加熱絲進(jìn)行溫度采集,并將
采集的數(shù)據(jù)通過串行通信傳送給上位機(jī),通過控制P口的高低電平,控制電加
熱絲的通斷,從而實(shí)現(xiàn)對(duì)溫度的控制,并將顯示的溫度通過藍(lán)牙模塊傳輸?shù)绞?/p>
機(jī)端上顯示。此設(shè)計(jì)軟硬件兩部分組成硬件電路是系統(tǒng)的結(jié)構(gòu)框架,是軟件的
載體,軟件是系統(tǒng)的內(nèi)核,通過硬件來進(jìn)行具體操作,因此軟硬件相互配合,
共同完成各種功能。此系統(tǒng)硬件主要由以下幾個(gè)部分構(gòu)成:單片機(jī)、溫度采集
電路、溫度控制電路、數(shù)碼管顯示電路,以及藍(lán)牙模塊,而系統(tǒng)軟件主要通過
對(duì)單片機(jī)編程來實(shí)現(xiàn)。
2設(shè)計(jì)方案遴選
產(chǎn)品硬件電路在設(shè)計(jì)與搭建前需要選擇好我們產(chǎn)品所需要的各個(gè)零件,才
能把我們自作的產(chǎn)品功能能夠發(fā)揮出效果來。有效果的水溫控制系統(tǒng)需要很多
個(gè)零部件組成的,有很多零件以及模塊可以讓我們選擇,需要我們根據(jù)實(shí)際以
及根據(jù)我們的經(jīng)濟(jì)水平和產(chǎn)品兼容性上來考慮的,產(chǎn)品的基本形式是由溫度顯
示,蜂鳴器報(bào)警,數(shù)碼管顯示功能組成。
2.1單片機(jī)的選擇
方案1:使用STM32系列單片機(jī)
STM32單片機(jī)產(chǎn)品的優(yōu)缺點(diǎn):是一款性價(jià)比超高、功能強(qiáng)大的單片機(jī)?;?/p>
專為需要高性能、低成本和低功耗的嵌入式應(yīng)用而設(shè)計(jì)的ARM。但是它對(duì)于一個(gè)
學(xué)生來講成本相對(duì)較高了而且使用起來比較復(fù)雜不推薦學(xué)生使用這款單片機(jī)。
方案2:使用51系列單片機(jī)
51單片機(jī)產(chǎn)品的優(yōu)缺點(diǎn):51單片機(jī)是一種上手容易操作系數(shù)不難的一款單
片機(jī),而且很經(jīng)典的一款產(chǎn)品。軟件到內(nèi)部硬件都擁有整套的按位操作系統(tǒng),
1
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
一般可稱為微處理器,片內(nèi)RAM雙重功能地址區(qū)間是所擁有的功能,以及乘法
和除法指令,使用極為活,但是沒有完美無瑕的產(chǎn)品以及毫無邏輯漏洞的程序,
凡是都有兩面性51單片機(jī)也還是有缺點(diǎn)的,比如AD、EEPROM之類的功能需擴(kuò)
展,增加了硬軟件的負(fù)擔(dān),且保護(hù)芯片能力較差,很容易燒掉芯片,綜合成本、
技術(shù)成熟程度以及產(chǎn)品功能的需求,主要是成本相對(duì)于其他的要低也符合一個(gè)
學(xué)生的經(jīng)濟(jì)水平以及產(chǎn)品的需求,所以選擇了51系列的單片機(jī)。
2.2通訊方式的選擇
通過藍(lán)牙模塊與安卓手機(jī)進(jìn)行連接將數(shù)據(jù)通過藍(lán)牙傳輸?shù)桨沧渴謾C(jī)上顯示。
藍(lán)牙設(shè)備是一個(gè)比較新型的連接設(shè)備,支持設(shè)備短距離通信無線電技術(shù)當(dāng)
屬于是藍(lán)牙這款了,可以在大量外設(shè)等其他設(shè)備中通過無線信息交換與交流,
極大程度簡化了移動(dòng)通信終端設(shè)備兩者之間的通信,主要是對(duì)于產(chǎn)品而言藍(lán)牙
模塊是最佳的選擇了,因?yàn)閷?duì)于學(xué)生的經(jīng)濟(jì)水平來說藍(lán)牙模塊性價(jià)比很高,而
且相對(duì)于我們專業(yè)來講,藍(lán)牙模塊的使用比較頻繁,產(chǎn)品用藍(lán)牙模塊上手會(huì)很
容易一點(diǎn),所以選擇使用了藍(lán)牙模塊。
2.3系統(tǒng)框圖設(shè)計(jì)
系統(tǒng)框圖如圖1所示。
Led指示燈電源電路
DS18B20溫度傳感數(shù)碼管顯示
單片機(jī)處理單
器
元
繼電器控制水泵藍(lán)牙無線傳輸
報(bào)警電路
按鍵電路設(shè)置電路
圖1系統(tǒng)框圖
3產(chǎn)品硬件設(shè)計(jì)
由STC89C52RC單片機(jī)組成的此系統(tǒng),數(shù)碼管顯示器,蜂鳴器模塊,按鍵模
2
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
塊,藍(lán)牙模塊,LED顯示模塊、繼電器模塊,以及電源組成。
主要利用DS18B2檢測到的溫度傳輸?shù)酱趯?shí)際參數(shù)值,再把串口收到的實(shí)
際溫度值顯示于數(shù)碼管顯示器上面,在通過藍(lán)牙傳輸?shù)绞謾C(jī)上顯示溫度值。
電路板上面有4個(gè)按鍵,一個(gè)是電源的開關(guān)按鍵,有一個(gè)是設(shè)置鍵,其余
兩個(gè)是:溫度值加0.1,以及溫度值減0.1,只于設(shè)置模式之中才可以對(duì)它進(jìn)行
操作。
在處于設(shè)置模式之中時(shí),數(shù)碼管顯示器有對(duì)應(yīng)顯示標(biāo)志,設(shè)置溫度上限值
和下限值,數(shù)碼管上都會(huì)有相應(yīng)的變化。
3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)
51系列單片機(jī)它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源等方面與標(biāo)準(zhǔn)的52系列
的單片機(jī)可以完全的兼容。51系列的單片機(jī)執(zhí)行速率快(最高時(shí)鐘頻率為90
MHz),功耗低,在系統(tǒng)、在應(yīng)用可編程,不占用用戶的資源。根據(jù)本系統(tǒng)設(shè)計(jì)的
實(shí)際要求,選擇STC89C52RC單片機(jī)做為本設(shè)計(jì)的單片機(jī)使用,它是由ATMEL公
司生產(chǎn)的高性能、低功耗的CMOS8位單片機(jī)。STC89C52RC單片機(jī)具有以下幾個(gè)
性能特點(diǎn):4k字節(jié)的閃存片內(nèi)程序存儲(chǔ)器,128字節(jié)的數(shù)據(jù)存儲(chǔ)器,32個(gè)
外部輸入和輸出口,2個(gè)全雙工串行通信口,看門狗電路,5個(gè)中斷源,2
個(gè)16位可編程定時(shí)計(jì)數(shù)器,片內(nèi)震蕩和時(shí)鐘電路且全靜態(tài)工作并由低功耗
的閑置和掉電模式。
STC89C52RC單片機(jī)實(shí)物圖如圖2所示。
圖2STC89C52RC單片機(jī)實(shí)物圖
3.2按鍵電路設(shè)計(jì)
按鍵也是一種電子開關(guān),實(shí)現(xiàn)開關(guān)接通僅需按下按鍵,斷開連接僅需松開
按
3
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
鍵,輕觸按鍵內(nèi)部中金屬彈片受力彈動(dòng)觸發(fā)來實(shí)現(xiàn)接通斷開功能,本設(shè)計(jì)
中這三個(gè)按鍵是最重要的部分控制著整個(gè)產(chǎn)品,有些模塊的效果是靠按鍵來設(shè)
置的,比如溫度的上下限值。按鍵是一個(gè)系統(tǒng)輸入,按鍵單片機(jī)控制引腳默認(rèn)
為高電平,按鍵按下,單片機(jī)對(duì)應(yīng)引腳于是成為低電平。
圖3按鍵電路原理圖
3.3數(shù)碼管顯示模塊電路
數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。能顯示4位數(shù)
字的叫四位數(shù)碼管,當(dāng)然也有多位和只有一位的數(shù)碼管,他們的電氣原理相同。
數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)
發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按發(fā)光二極管單元連接方式分為共陽極
數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形
成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)
某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極
為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到
一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地
線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某
一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。數(shù)碼管的電路原理和實(shí)物見圖4、
圖5。
寄存器選擇控制表和其管腳功能表如表1所示:
數(shù)碼管引腳功能表
引腳連接的對(duì)象
1E
4
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
2D
3Dp
4C
5G
6S4
7B
8S3
9S2
10F
11A
12S1
圖4數(shù)碼管顯示電路原理圖
5
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖5數(shù)碼管顯示器實(shí)物圖
4產(chǎn)品軟件設(shè)計(jì)
本產(chǎn)品軟件設(shè)計(jì)使用C語言,利用keil5軟件編譯程序環(huán)境,采用的是簡單
的模塊化設(shè)計(jì),多個(gè)程序模塊化連接而成的整體程序。
4.1主程序流程圖
主程序流程圖如圖6所示。
圖6主程序流程圖
4.2數(shù)碼管顯示程序設(shè)計(jì)
數(shù)碼管顯示的單片機(jī)的基礎(chǔ)功能,數(shù)碼管具有動(dòng)態(tài)顯示,和靜態(tài)顯示兩種
狀態(tài),其顯示的原理就是利用人眼睛的視覺暫留現(xiàn)象,通過控制單片機(jī)IO快速
6
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
刷新數(shù)碼管的顯示內(nèi)容,達(dá)到人們眼中所見的穩(wěn)定不變的顯示。
4.3上位機(jī)程序
上位機(jī)是一個(gè)藍(lán)牙串口的APP,在與藍(lán)牙模塊進(jìn)行連接是,數(shù)碼管上顯示的
溫度會(huì)傳輸?shù)剿{(lán)牙串口上顯示。上位機(jī)上有三個(gè)按鍵對(duì)應(yīng)產(chǎn)品上的三個(gè)按鍵其
功能一致,分別為設(shè)置鍵、溫度數(shù)值加鍵、溫度數(shù)值減鍵。
未連接藍(lán)牙之前與連接藍(lán)牙之后的圖片狀態(tài)如圖7所示,連接后的顯示圖
片如圖8所示。
圖7未連接時(shí)界面圖8連接后的界面
三個(gè)控制按鍵:按鍵一是進(jìn)入設(shè)置狀態(tài),E1為設(shè)置溫度的上限值,E2為設(shè)
置溫度的下限值,操作界面如圖9所示。
7
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖9三個(gè)按鍵的初始狀態(tài)
4.4產(chǎn)品程序清單
溫度讀取
處理轉(zhuǎn)換
頭文件定時(shí)器初始化
函數(shù)
傳感器
main.cIO口定義
驅(qū)動(dòng)程
序
串口接收
數(shù)碼管顯示函
數(shù)
5產(chǎn)品使用說明
5.1產(chǎn)品裝配圖
產(chǎn)品是由單片機(jī),數(shù)碼管顯示模塊,報(bào)警模塊,繼電器模塊,報(bào)警模塊
(LED顯示和蜂鳴器),藍(lán)牙模塊,電源和按鍵模塊組成。
裝配圖如圖10所示。
8
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
圖10產(chǎn)品裝配圖
5.2產(chǎn)品調(diào)試
對(duì)各個(gè)模塊的部件進(jìn)行測試與調(diào)節(jié),將散件的各個(gè)部件手工的焊接到萬能
板上,對(duì)照程序原理圖將各個(gè)部件的聯(lián)系用線連接好,焊接完成后需要對(duì)每一
個(gè)焊點(diǎn)進(jìn)行仔細(xì)的檢查,確保沒有虛焊漏焊以及是否有毛刺等。使用萬用表進(jìn)
行測試各個(gè)點(diǎn)之間的焊接狀況是否合格,再檢查各電源線與地線是否有短路的
現(xiàn)象,是著對(duì)產(chǎn)品進(jìn)行通電,看看效果是否和預(yù)想的一樣。
將編譯好的程序燒錄到單片機(jī)中,程序燒錄成功界面如圖11所示。
圖11程序燒錄圖
5.3產(chǎn)品使用說明
基本的使用說明:
1.接上電源通電,將ds18b20的端口放入水中,再按下電源開關(guān),數(shù)碼管
上顯示當(dāng)時(shí)的水溫的溫度。
2.按鍵1進(jìn)入設(shè)置,設(shè)置溫度的上限和下限值,按鍵2溫度加0.1,按鍵3
溫度減0.1。
3.蜂鳴器溫度達(dá)到上限或者下限值是會(huì)報(bào)警
4.LED顯示溫度達(dá)到下限值以下紅燈會(huì)亮起,當(dāng)溫度達(dá)到上限值以上黃燈
9
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
會(huì)亮起,溫度在上限與下限之內(nèi)紅黃兩燈處于熄滅狀態(tài)
5.藍(lán)牙模塊,用安卓手機(jī)下一個(gè)藍(lán)牙專屬的APP,進(jìn)行與藍(lán)牙模塊進(jìn)行連
接配對(duì),連接成功后,在數(shù)碼管顯示的溫度會(huì)通過藍(lán)牙模塊傳輸?shù)绞謾C(jī)APP上
顯示當(dāng)前的溫度
6.繼電器的作用是配合蜂鳴器和LED顯示,進(jìn)行報(bào)警與LED顯示。
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ī)范
10
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
參考資料
[1]郭天祥.新概念51單片機(jī)C語言教程.北京:電子工業(yè)出版社,2009.P342-P354
[2]李建忠.單片機(jī)原理與應(yīng)用.西安:西安電子科技大學(xué)出版社,2009.P16-P50
[3]閻實(shí).數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,1983.P178-P182
[4]譚浩強(qiáng).C語言程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.P49-P86
[5]陳杰,黃鴻.傳感器監(jiān)測與技術(shù).北京:高等教育出版社,2002.P15-P50
[6]張紅潤,張亞凡,鄧洪.傳感器原理與應(yīng)用.北京:清華大學(xué)出版社,2008.P35-P38
[7]童師白,華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,1980.
[8]朱清慧,張鳳蕊.proteus教程.北京:清華大學(xué)出版社,2008.
11
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄
附錄1元器件清單
元器件編號(hào)封裝參數(shù)數(shù)量
HDR1X2CON2
10uFC1RB7.6-15'CAPACITOR
POL
22C2,C3'RAD-0.3CAP
IN4148D2'SOT-23_LDIODE
KEY1K1,K2,K3SPST-2KEY1
LEDLED2,LED4,LED5LED-1LED
10KR1,R11AXIAL-0.4RES2.10K
1KR4,R10,R13,R14,R15,R16,R19,R22,R214AXIAL-0.41K
4.7KRP1HDR1X9RP8
STC89C52RCU1DIP40AT89C51
4-LEDU3W4-LED7
SWITCHU4HDR2X3SWITCH
POWU5U5POW
S8550U7,U11,U12,U13,U14SOT-23B_LPNP
BELLU8PIN2BELL
JDQ-5U10U10JDQ-5
S8550U16S8550SOT-23B_LPNP
DS18B20U22HDR1X3CON3
HC-05U75HDR1X6HC-05
12MHzY1R38CRYSTAL
12
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄2電路原理圖
13
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄3PCB設(shè)計(jì)圖
14
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄4產(chǎn)品實(shí)物圖
15
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
16
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
附錄5主程序代碼
#include"reg52.h"
#include<intrins.h>
//20移動(dòng)互聯(lián)3班吳松成
//基于51單片機(jī)的水溫控制系統(tǒng)制作與設(shè)計(jì)
#include"common.h"
#include"DS18B20_One.h"
#include"eeprom52.h"
#include"uart.h"
sbitset=P1^3;//設(shè)置
sbitadd=P1^4;//加
sbitdec=P1^5;//減
sbitSMG1=P2^0;//右邊數(shù)第一個(gè)數(shù)碼管
sbitSMG2=P2^2;//右邊數(shù)第二個(gè)數(shù)碼管
sbitSMG3=P2^4;//右邊數(shù)第三個(gè)數(shù)碼管
sbitSMG4=P2^6;//右邊數(shù)第四個(gè)數(shù)碼管
sbitbeep=P3^5;
sbitjdq=P3^7;
sbitled1=P1^0;
sbitled2=P1^1;
unsignedcharset_mode=0;//設(shè)置變量,不在設(shè)置模式下是0,1是設(shè)置下
限,2是設(shè)置上限
unsignedcharcount1=0;
staticuintcount=0;
shorttempeature=0;//溫度值
intTemp_min_value=100;//下限值
intTemp_max_value=350;//上限值
charcheck=111;//檢驗(yàn)位
unsignedcharcode
smgduan[12]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0xff,
0xe4};//共陽數(shù)碼管編碼
unsignedcharDisplayData[4];//顯示數(shù)據(jù)緩存區(qū)
17
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
/*******************************************************************
*函數(shù)名:delay
*函數(shù)功能:延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
*************************************************************/
voiddelay(unsignedinti)
{
while(i--);
}
voidTimer0Init()//定時(shí)器初始化
{
TMOD|=0x01;//設(shè)定定時(shí)器0,工作方式1
TL0=0x00;//10ms
TH0=0xDC;
ET0=1;
TR0=1;
EA=1;
}
voidwrite_eeprom()//eeprom存儲(chǔ)數(shù)據(jù),設(shè)置值
{
SectorErase(0x2000);//清除
byte_write(0x2001,Temp_min_value%256);//存儲(chǔ)低8位數(shù)據(jù)
byte_write(0x2002,Temp_min_value/256);//存儲(chǔ)高8位數(shù)據(jù)
byte_write(0x2003,Temp_max_value%256);
byte_write(0x2004,Temp_max_value/256);
byte_write(0x2009,check);
}
voideeprom_init()//eeprom讀取數(shù)據(jù)
{
check=byte_read(0x2009);
if(check!=111)//單片機(jī)第一次使用時(shí),check校驗(yàn)值便不是111,所
以這里要把初始的數(shù)據(jù)先存一遍再讀取
{
check=111;
18
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
Temp_min_value=100;
Temp_max_value=350;
write_eeprom();
}
Temp_min_value=byte_read(0x2002)*256+byte_read(0x2001);//
讀取下限值
Temp_max_value=byte_read(0x2004)*256+byte_read(0x2003);//
讀取上限值
}
/*******************************************************************
*函數(shù)名:DigDisplay()
*函數(shù)功能:數(shù)碼管顯示函數(shù)
*輸入:無
*輸出:無
***********************************************************/
voidDigDisplay()
{
unsignedchari;
for(i=0;i<4;i++)
{
switch(i)//位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(0):SMG1=0;SMG2=1;SMG3=1;SMG4=1;break;//顯示第1位
case(1):SMG1=1;SMG2=0;SMG3=1;SMG4=1;break;//顯示第2位
case(2):SMG1=1;SMG2=1;SMG3=0;SMG4=1;break;//顯示第3位
case(3):SMG1=1;SMG2=1;SMG3=1;SMG4=0;break;//顯示第4位
}
P0=DisplayData[i];//發(fā)送數(shù)據(jù)
delay(100);//間隔一段時(shí)間掃描
P0=0xff;//消隱
}
}
19
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
/*******************************************************************
*函數(shù)名:datapros()
*函數(shù)功能:溫度讀取處理轉(zhuǎn)換函數(shù)
*輸入:temp
*輸出:無
*******************************************************************/
voiddatapros()
{
if(set_mode==0)
{
tempeature=DS18B20_TF()*10;//讀取溫度值
//裝載到顯示緩存區(qū)
DisplayData[3]=smgduan[tempeature%1000/100];//顯示十位
DisplayData[2]=smgduan[tempeature%100/10]&0xdf;//顯示個(gè)位
DisplayData[1]=smgduan[tempeature%10];//小數(shù)點(diǎn)后一位
DisplayData[0]=smgduan[11];//顯示C
}
}
unsignedcharxdataRevBuf[COM_RX1_Lenth];//串口接收緩存
voidkeyscan()//按鍵掃描
{
staticunsignedintCount3=0;
memset(RevBuf,0,COM_RX1_Lenth);//清除緩存
uart_recv(RevBuf,50);//接受串口內(nèi)容
if(set==0||(strstr(RevBuf,"k1")!=NULL))//設(shè)置鍵按下
{
delay_ms(10);
if(set==0||(strstr(RevBuf,"k1")!=NULL))
{
while(!set);//等待按鍵松開
set_mode++;//記錄按下次數(shù)
if(set_mode>2)//超過兩次,退出設(shè)置
{
20
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
set_mode=0;
count=200;//這里賦值200,是為了退出時(shí)立馬能
讀取溫度數(shù)據(jù),請(qǐng)看中斷1里面讀取溫度
}
if(set_mode==1)//設(shè)置溫度下限
{
do
{
//顯示E1
DisplayData[3]=0x64;
DisplayData[2]=smgduan[1];
DisplayData[1]=0xff;
DisplayData[0]=0xff;
delay_ms(3);
}while(Count3++<100);//延時(shí)
DisplayData[3]=smgduan[Temp_min_value/100];
DisplayData[2]=smgduan[Temp_min_value%100/10];
DisplayData[1]=smgduan[Temp_min_value%10]&0xdf;
DisplayData[0]=smgduan[11];
Count3=0;
}
elseif(set_mode==2)//設(shè)置溫度上限
{
do
{
//顯示E2
DisplayData[3]=0x64;
DisplayData[2]=smgduan[2];
DisplayData[1]=0xff;
DisplayData[0]=0xff;
delay_ms(3);
}while(Count3++<100);//延時(shí)
21
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
DisplayData[3]=smgduan[Temp_max_value/100];
DisplayData[2]=smgduan[Temp_max_value%100/10]&0xdf;
DisplayData[1]=smgduan[Temp_max_value%10];
DisplayData[0]=smgduan[11];
Count3=0;
}
}
}
if(set_mode!=0)//說明實(shí)在設(shè)置模式下
{
if(add==0||(strstr(RevBuf,"k2")!=NULL))//加鍵按下
{
delay_ms(50);
if(add==0||(strstr(RevBuf,"k2")!=NULL))
{
if(set_mode==1)
{
if(Temp_max_value-Temp_min_value>1)//上限值必須大于下
限值,下限值才能加
Temp_min_value++;//顯示
DisplayData[3]=smgduan[Temp_min_value/100];
DisplayData[2]=smgduan[Temp_min_value%100/10]&0xdf;
DisplayData[1]=smgduan[Temp_min_value%10];
write_eeprom();//存儲(chǔ)數(shù)據(jù)
delay_ms(50);
}
if(set_mode==2)
{
if(Temp_max_value<999)//最大到99.9
Temp_max_value++;
DisplayData[3]=smgduan[Temp_max_value/100];
DisplayData[2]=smgduan[Temp_max_value%100/10]&0xdf;
DisplayData[1]=smgduan[Temp_max_value%10];
22
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
write_eeprom();//存儲(chǔ)數(shù)據(jù)
delay_ms(50);
}
count1=0;
}
}
if(dec==0||(strstr(RevBuf,"k3")!=NULL))//減鍵按下
{
delay_ms(50);
if(dec==0||(strstr(RevBuf,"k3")!=NULL))
{
//while(!dec);
if(set_mode==1)
{
if(Temp_min_value>0)//最小到0
Temp_min_value--;
DisplayData[3]=smgduan[Temp_min_value/100];
DisplayData[2]=smgduan[Temp_min_value%100/10]&0xdf;
DisplayData[1]=smgduan[Temp_min_value%10];
write_eeprom();//存儲(chǔ)數(shù)據(jù)
delay_ms(50);
}
if(set_mode==2)
{
if(Temp_max_value-Temp_min_value>1)//上限值必須大于下限值,上
限值才能減
Temp_max_value--;
DisplayData[3]=smgduan[Temp_max_value/100];
DisplayData[2]=smgduan[Temp_max_value%100/10]&0xdf;
DisplayData[1]=smgduan[Temp_max_value%10];
write_eeprom();//存儲(chǔ)數(shù)據(jù)
delay_ms(50);
}
23
湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)
count1=0;
}
}
}
}
voidDisplay_blink()//設(shè)置閃爍
{
if(set_mode!=0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州浙江杭州市上城區(qū)文化和廣電旅游體育局編外工作人員招聘筆試歷年參考題庫附帶答案詳解
- 2025版國際貿(mào)易傭金支付及爭議解決合同3篇
- 安徽2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院高層次人才引進(jìn)25人筆試歷年參考題庫附帶答案詳解
- 2025年度商鋪?zhàn)赓U合同范本(含租賃保證金退還細(xì)則)3篇
- 2025年人教A版九年級(jí)生物下冊階段測試試卷
- 二零二五年度車場租賃合同(含車位租賃費(fèi)調(diào)整機(jī)制)3篇
- 2025年人教A版高三化學(xué)上冊月考試卷含答案
- 2025年滬教版選修3物理下冊月考試卷含答案
- 2025年粵教新版選擇性必修3歷史上冊階段測試試卷含答案
- 2025年度智慧農(nóng)業(yè)蟲害防治與生態(tài)平衡服務(wù)合同3篇
- 壞死性筋膜炎
- 2024輸血相關(guān)知識(shí)培訓(xùn)
- 整式的加減單元測試題6套
- 股權(quán)架構(gòu)完整
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 注塑部質(zhì)量控制標(biāo)準(zhǔn)全套
- 人教A版高中數(shù)學(xué)選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 銀行網(wǎng)點(diǎn)服務(wù)禮儀標(biāo)準(zhǔn)培訓(xùn)課件
- 二年級(jí)下冊數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
- 銀行內(nèi)部舉報(bào)管理規(guī)定
評(píng)論
0/150
提交評(píng)論