基于單片機(jī)AT89C51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)設(shè)計(jì)(論文)_第1頁
基于單片機(jī)AT89C51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)設(shè)計(jì)(論文)_第2頁
基于單片機(jī)AT89C51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)設(shè)計(jì)(論文)_第3頁
基于單片機(jī)AT89C51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)設(shè)計(jì)(論文)_第4頁
基于單片機(jī)AT89C51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真畢業(yè)設(shè)計(jì)(論文)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄 摘 要 .1 第 1 章 緒 論 .2 1.1 單片機(jī)的應(yīng)用 .2 1.2 電熱爐控制中的問題 .3 1.3 本設(shè)計(jì)主要內(nèi)容 .3 第 2 章編程軟件 .4 2.1 編程軟件 keil.4 第 3 章 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì) .5 3.1 系統(tǒng)硬件組成 .5 3.2 proteus原理圖設(shè)計(jì) .5 3.3 硬件電路結(jié)構(gòu) .7 3.3.1 主控制芯片 at89c51 原理及其說明.9 3.3.2 外部時(shí)鐘電路.11 3.3.3 測(cè)溫模塊.11 3.3.4 顯示模塊.13 3.3.5 開關(guān)模塊.13 3.3.6 報(bào)警模塊.14 第 4 章 系統(tǒng)軟件設(shè)計(jì)及調(diào)試 .15 4.1 系統(tǒng)程序設(shè)計(jì) .15

2、 4.1.1 ds18b20 測(cè)溫程序設(shè)計(jì) .17 4.1.2 lm016l 顯示程序設(shè)計(jì).18 第 5 章 總結(jié)與展望 .19 5.1 總結(jié) .19 5.2 展望 .19 參考文獻(xiàn) .20 附 錄 .21 摘 要:電熱爐可使用金屬發(fā)熱體或非金屬發(fā)熱體來產(chǎn)生熱源,其構(gòu)造簡(jiǎn)單,工業(yè)電 熱爐的主要用途是供機(jī)械工業(yè)對(duì)原材料、毛坯、機(jī)械零件加熱用。溫度控制對(duì)于電熱 爐是至關(guān)重要的。 為了更好地控制溫度、提高控制質(zhì)量,選用單總線芯片ds18b20作為溫度傳感器, 進(jìn)行了基于單片機(jī)at89c51的溫度控制系統(tǒng)的設(shè)計(jì)與仿真。顯示模塊選用lcd顯示器, 控制更為簡(jiǎn)單,顯示更為清晰。配以鍵盤模塊及由二極管、蜂鳴

3、器組成的報(bào)警模塊, 組合成較為完整的溫度控制系統(tǒng)硬件。選用proteus軟件繪制電路原理圖,同時(shí)選用軟 件keil進(jìn)行編程編譯,并將keil與proteus聯(lián)調(diào),在proteus中查看仿真結(jié)果,實(shí)現(xiàn)溫度的 自動(dòng)控制。 關(guān)鍵詞:?jiǎn)纹瑱C(jī)、溫度控制、keil、proteus 仿真 第 1 章 緒 論 1.1 單片機(jī)的應(yīng)用 單片機(jī)具有體積小、可靠性高、功能強(qiáng)、使用方便、性能價(jià)格比高、容易產(chǎn)品化 等特點(diǎn)。國(guó)際上從 1970 年代開始,國(guó)內(nèi)自 1980 年代以來,單片機(jī)已廣泛應(yīng)用于國(guó)民 經(jīng)濟(jì)的各個(gè)領(lǐng)域,對(duì)各個(gè)行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起重要的推動(dòng)作用。其應(yīng) 用大致可分為如下幾個(gè)范疇: 1、在智能儀器儀

4、表上的應(yīng)用 單片機(jī)具有功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng) 用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫 度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。 2、在工業(yè)控制中的應(yīng)用 用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。在工業(yè)過程控制、機(jī)床 控制、機(jī)器人控制、汽車控制以及飛行器制導(dǎo)系統(tǒng)等方面得到廣泛應(yīng)用。 3、在家用電器中的應(yīng)用 這個(gè)領(lǐng)域的應(yīng)用特點(diǎn)是量大面廣并且具有價(jià)格低廉的特點(diǎn),如電飯鍋、電子游戲 機(jī)、電視機(jī)、錄音機(jī)、組合音響、洗衣機(jī)、電冰箱以至電子玩具等,都廣泛地使用單 片機(jī)進(jìn)行控制。 4、在計(jì)算機(jī)網(wǎng)絡(luò)和通信

5、領(lǐng)域中的應(yīng)用 現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交 換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng)電話, 集群移動(dòng)通信,無線電對(duì)講機(jī)等。 5、單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 單片機(jī)在醫(yī)用設(shè)備中的用途相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀, 超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 6、在各種大型電器中的模塊化應(yīng)用 某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而 不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡(jiǎn)單的功能,微縮在純電 子芯片中(有別于磁帶機(jī)的原理),需要復(fù)雜的類似于計(jì)算機(jī)的原理。又如音樂信號(hào) 以數(shù)字

6、的形式存于存儲(chǔ)器中(類似于 rom),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信 號(hào)(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路, 降低了損壞、錯(cuò)誤率,也方便于更換。 7、單片機(jī)在汽車設(shè)備領(lǐng)域中的應(yīng)用 單片機(jī)在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動(dòng)機(jī)控制器,基于 can 總 線的汽車發(fā)動(dòng)機(jī)智能電子控制器,gps 導(dǎo)航系統(tǒng),abs 防抱死系統(tǒng),制動(dòng)系統(tǒng)等等。 1 1.2 電熱爐控制中的問題 溫度是工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中一個(gè)非常重要的參數(shù)。許多生產(chǎn)過程都是在一定的 溫度范圍內(nèi)進(jìn)行的,甚至對(duì)溫度的要求相當(dāng)嚴(yán)格,因此生產(chǎn)現(xiàn)場(chǎng)需要測(cè)量溫度和控制 溫度。溫度是電熱爐需要控制的主要參數(shù)

7、。在傳統(tǒng)的電熱爐溫度控制系統(tǒng)中,爐溫控 制采用溫度儀表監(jiān)視和人工調(diào)節(jié)相結(jié)合的方式,電熱爐的電源通斷大多采用交流接觸 器來控制。這種控制方式結(jié)構(gòu)簡(jiǎn)單,但控制精度差,控制速度慢,在資源方面耗費(fèi)人 力且本身耗能多,控制器的噪音大,而且在控溫過程中由于接觸器頻繁通斷,經(jīng)常發(fā) 生觸點(diǎn)電弧放電現(xiàn)象,容易造成短路,使接觸器損壞,對(duì)操作人員和設(shè)備帶來不利影 響及安全隱患。傳統(tǒng)的定值開關(guān)溫度控制法存在溫度滯后的問題,而多數(shù)傳統(tǒng)基于常 規(guī)pd控制的控制裝置,存在精度不高、效率低等問題。 1.3 本設(shè)計(jì)主要內(nèi)容 本課題是基于單片機(jī)的電熱爐溫度控制系統(tǒng)的設(shè)計(jì),要求實(shí)現(xiàn)溫度自動(dòng)控制,同 時(shí)顯示實(shí)際溫度值和設(shè)定溫度值,并

8、控制實(shí)際溫度值與設(shè)定溫度值相差不超過 2 度, 超過 范圍時(shí)自動(dòng)報(bào)警并作出相應(yīng)的動(dòng)作。溫度的控制圖如圖 1-1 所示。 cpu對(duì)象 測(cè)溫 顯示 設(shè)定值 輸出值 - 圖 1-1 溫度控制反饋圖 第二章中簡(jiǎn)單介紹了編程軟件 keil 及電路設(shè)計(jì)仿真軟件 proteus。第三章介紹本設(shè) 計(jì)硬件結(jié)構(gòu)及所涉及的芯片、電路說明,主控制芯片采用 at89c51;由于 ds1302 是 一種高性能的芯片,可自動(dòng)計(jì)時(shí)計(jì)數(shù),故時(shí)鐘電路采用 ds1302;溫度傳感芯片 ds18b20 是單總線結(jié)構(gòu)芯片,結(jié)構(gòu)簡(jiǎn)單,接線少,且程序編寫簡(jiǎn)單,故溫度采集、轉(zhuǎn) 換、傳遞采用 ds18b20;lcd 顯示電路結(jié)構(gòu)簡(jiǎn)單且軟件設(shè)計(jì)

9、也相對(duì)簡(jiǎn)單,具有低功耗 特點(diǎn),因此顯示模塊采用 lcd 顯示。第四章簡(jiǎn)單講述了程序的編寫及 keil 與 proteus 聯(lián)調(diào)顯示的結(jié)果,具體程序見附錄。 本課題基于編程軟件 keil 和硬件電路仿真軟件 proteus,在 keil 軟件中程序編譯成 功后與 proteus 軟件的原理圖聯(lián)調(diào),仿真實(shí)現(xiàn)課題要求。 第 2 章 設(shè)計(jì)編程軟件 2.1 編程軟件 keil 目前流行的 51 系列單片機(jī)開發(fā)軟件是德國(guó) keil 公司推出的 keil c51 軟件,它是 一個(gè)基于 32 位 windows 環(huán)境的應(yīng)用程序,支持 c 語言和匯編語言編程,其 6.0 以上的 版本將編譯和仿真軟件統(tǒng)一為 vi

10、sion(通常稱為 v2) 。keil 提供 c 編譯器、宏匯編、 連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等的完整開發(fā)方案,界面如圖 2-2 所示。 該軟件由以下幾部分組成:vision ide 集成開發(fā)環(huán)境、c51 編譯器、a51 匯編器、 lib51 庫(kù)管理器、bl51 連接/定位器、oh51 目標(biāo)文件生成器以及 monitor-51、rtx51 實(shí)時(shí)操作系統(tǒng)。 圖 2-2 keil 界面 keil vision2 編寫程序一般步驟如下: 1、新建工程 2、新建源程序文件,可以是 c 語言或匯編語言等 3、把源程序添加到工程中 4、編譯并生成 hex 文件 繪制原理圖及編寫程序過程見第三

11、章、第四章,本章不再敘述。 第 3 章 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì) 3.1 系統(tǒng)硬件組成 系統(tǒng)硬件設(shè)備由以下幾部分組成: 單片機(jī):本系統(tǒng)選用at89c51, 它的片內(nèi)有集成的存儲(chǔ)器, 無需外接存儲(chǔ)器, 使程序?qū)懭敫臃奖恪?溫度測(cè)量電路: 采用美國(guó)公司生產(chǎn)的單總線數(shù)字式溫度傳感器, 由于是單總線 結(jié)構(gòu),具有結(jié)構(gòu)簡(jiǎn)單, 不需要外接電路,可用一根數(shù)據(jù)線既供電又傳輸數(shù)據(jù), 并且具有體 積小,分辨率高,轉(zhuǎn)換快等優(yōu)點(diǎn)。 鍵盤設(shè)定電路:輸入設(shè)定的溫度, 必須依靠鍵盤, 這里利用單片機(jī)的p2口連接 矩陣式鍵盤, 采用掃描方式讀鍵值,以實(shí)現(xiàn)溫度設(shè)定。 溫度顯示電路:采用lcd顯示器,電路比較簡(jiǎn)單,且在軟件設(shè)計(jì)上也相對(duì)簡(jiǎn)

12、單,具有低 功耗功能,能夠滿足設(shè)計(jì)最優(yōu)的要求。為使顯示器能正常顯示、穩(wěn)定工作, 單片機(jī)的p0口作 為數(shù)據(jù)輸出接口,p1口作為控制字輸入端口。 報(bào)警電路: 在系統(tǒng)溫度達(dá)到上下限報(bào)警溫度時(shí)選擇發(fā)光二極管和蜂鳴器來實(shí) 現(xiàn)這一功能。發(fā)光二極管工作時(shí)需要電流, 設(shè)計(jì)時(shí)考慮了相應(yīng)的控制電路。 3.2 proteus 原理圖設(shè)計(jì) 本設(shè)計(jì)采用 at89c51 作為控制系統(tǒng),ds18b20 溫度傳感器采集、轉(zhuǎn)換溫度,顯示 器 lm016l 顯示溫度,用 proteus 畫的原理圖如圖 3-1 所示: 圖 3-1 原理圖 電路圖的繪制過程如下: 1、將所需元器件添加到對(duì)象選擇器窗口。 單擊對(duì)象選擇器按鈕,如圖 3

13、-2 所示。 圖 3-2 選擇元件 彈出“pick devices”頁面,在“keywords”輸入 at89c51,系統(tǒng)在對(duì)象庫(kù)中進(jìn)行搜索 查找,并將搜索結(jié)果顯示在“results”中,如圖 3-3 所示。 圖 3-3 查找元件 在“results”欄中的列表項(xiàng)中,雙擊“at89c51” ,則可將“at89c51”添加至對(duì)象選 擇器窗口。同理,添加 lm016l、ds18b20、led、ds1302 等其他涉及的元器件至對(duì) 象選擇器窗口。如圖 3-4 所示。 圖 3-4 對(duì)象選擇器窗口 2、放置元器件至圖形編輯窗口 在對(duì)象選擇器窗口中,選中 at89c51,將鼠標(biāo)置于圖形編輯窗口該對(duì)象的欲放

14、位 置、單擊鼠標(biāo)左鍵,該對(duì)象放置完成。若對(duì)象位置需要移動(dòng),將鼠標(biāo)移到該對(duì)象上, 單擊鼠標(biāo)右鍵,該對(duì)象的顏色變至紅色,表明該對(duì)象已被選中,按下鼠標(biāo)左鍵,拖動(dòng) 鼠標(biāo),將對(duì)象移至新位置后,松開鼠標(biāo),完成移動(dòng)操作。同理放置其他元器件,如圖 3-5 所示。 圖 3-5 放置元件 3、元器件之間的連線 proteus 具有線路自動(dòng)路徑功能(簡(jiǎn)稱 war),當(dāng)選中兩個(gè)連接點(diǎn)后,war 將選擇 一個(gè)合適的路徑連線。war 可通過使用標(biāo)準(zhǔn)工具欄里的“war”命令按鈕來關(guān)閉 或打開,也可以在菜單欄的“tools”下找到這個(gè)圖標(biāo)。例如,在 lcd 紅色引腳處引出 起點(diǎn),連接到單片機(jī)對(duì)應(yīng)引腳。如圖 3-6 所示。同理

15、,可以完成其它連線。在此過程的任何 時(shí)刻,都可以按 esc 鍵或者單擊鼠標(biāo)的右鍵來放棄畫線。 圖 3-6 連線 4、給總線或應(yīng)連接而不便連接的導(dǎo)線貼標(biāo)簽 單擊繪圖工具欄中的導(dǎo)線標(biāo)簽按鈕,使之處于選中狀態(tài)。將鼠標(biāo)置于圖形編輯 窗口的欲標(biāo)標(biāo)簽的導(dǎo)線上,跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“”號(hào),如圖 3-7 所示。 表明找到了可以標(biāo)注的導(dǎo)線,單擊鼠標(biāo)左鍵,彈出編輯導(dǎo)線標(biāo)簽窗口,如圖 3-8 所示。 圖 3-7 貼標(biāo)簽 圖 3-8 編輯標(biāo)號(hào) 在“string”欄中,輸入標(biāo)簽名稱(如 p10),單擊“ok”按鈕,結(jié)束對(duì)該導(dǎo)線的標(biāo)簽標(biāo) 定。如圖 3-9 所示。同理,可以標(biāo)注其它導(dǎo)線的標(biāo)簽。 圖 3-9 編輯好的標(biāo)

16、簽 5、加入電源、接地 單擊工具欄中按鈕,出現(xiàn)如圖 3-10 后選擇 power 或 grond,將電源或接地 符號(hào)放置在相應(yīng)引腳上。如圖 3-11 所示。 圖 3-10 選擇電源或地 圖 3-11 放置電源或地 在繪制過程中如需刪除元器件或?qū)Ь€、標(biāo)簽等,用右鍵雙擊需要?jiǎng)h除的對(duì)象即可。 至此,電路圖基本繪制完成。根據(jù)實(shí)際要求可不斷修改。 3.3 硬件電路結(jié)構(gòu) 3.3.1 主控制芯片 at89c51 原理及其說明 at89c51 是美國(guó) atmel 公司生產(chǎn)的低電壓、高性能 cmos 8 位單片機(jī),片內(nèi)含 4k bytes 的可反復(fù)擦寫的只讀程序存儲(chǔ)器(perom)和 128 bytes 的隨機(jī)

17、存取數(shù)據(jù)存 儲(chǔ)器(ram),器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(cpu)和 flash 存儲(chǔ)單元,功能強(qiáng) 大,可靈活應(yīng)用于各種控制領(lǐng)域。 主要性能參數(shù): 與 mcs-51 產(chǎn)品指令系統(tǒng)完全兼容 4k 字節(jié)可重復(fù)擦寫 flash 閃速存儲(chǔ)器 1000 次擦寫周期 全靜態(tài)操作:0hz24mhz 三級(jí)加密程序存儲(chǔ)器 128*8 字節(jié)內(nèi)部 ram 32 個(gè)可編程 i/o 口線 2 個(gè) 16 位定時(shí)/計(jì)數(shù)器 6 個(gè)中斷源 可編程串行 uart 通道 低功耗空閑和掉電模式 引腳功能: vcc(40):電源電壓 gnd(2

18、0):接地 p0 口(32-39):p0 口是一個(gè) 8 位雙向 i/o 接口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸 出口用時(shí),每位以吸收電流的方式驅(qū)動(dòng) 8 個(gè) ttl 邏輯門電路,對(duì)端口 p0 寫“1”時(shí), 可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位)和 數(shù)據(jù)總線復(fù)用。 p1 口(1-8):p1 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 的輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流)4 個(gè) ttl 邏輯門電路,對(duì)端口寫“1”通過內(nèi)部的上拉電阻把端口 拉到高電平時(shí),此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè) 引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流

19、。p1.0 和 p1.1 還可以分別作為定時(shí)/計(jì)數(shù)器 2 的 外部計(jì)數(shù)輸入(p1.0/t2)和輸入(p1.1/t2ex)。 p2 口(21-28):p2 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 的輸出緩沖級(jí)可 驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路,對(duì)端口 p2 寫“1” ,通過內(nèi)部的上拉電 阻把端口拉到高電平時(shí),此時(shí)可作輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電 阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或 16 位地址 的外部數(shù)據(jù)存儲(chǔ)器時(shí),p2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲(chǔ)器 時(shí),p2 口輸出 p2 鎖存器的內(nèi)

20、容。 p3 口(10-17):p3 是一組帶有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p3 口輸出緩沖級(jí)可 驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路,對(duì)端口 p3 寫“1”時(shí),它們被內(nèi)部上 拉電阻拉高并可作為輸入端口,此時(shí),被外部拉低的 p3 口將用上拉電阻輸出電流。p3 口除了作為一般的 i/o 口線外,更重要的用途是它的第二功能,如表 3-1 所示: 表 3-1 p3 口的第二功能 端口引腳第二功能 p3.0rxd(串行輸入口) p3.1txd(串行輸出口) p3.2int0(外中斷 0) p3.3int1(外中斷 1) p3.4t0(定時(shí)/計(jì)數(shù)器 0) p3.5t1(定時(shí)/計(jì)數(shù)器

21、 1) p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫通道) p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀通道) rst(9):復(fù)位信號(hào)輸入端。當(dāng)振蕩器工作時(shí),rst 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高 電平將使單片機(jī)復(fù)位。復(fù)位電路如圖 3-12 所示。 圖 3-12 復(fù)位電路 xtal1(19):振蕩器反相放大器的輸入端及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 xtal1(18):振蕩器反相放大器的輸出端。通過 xtal1、xtal2 外接晶振后,即 可構(gòu)成自激振蕩器,驅(qū)動(dòng)內(nèi)部時(shí)鐘發(fā)生器向主機(jī)提供時(shí)鐘信號(hào)。震蕩電路如圖 3-13 所 示。 圖 3-13 震蕩電路 3.3.2 外部時(shí)鐘電路 在時(shí)間控制中,如果用系統(tǒng)的定時(shí)器設(shè)計(jì)時(shí)鐘,當(dāng)偶然掉電或

22、晶振的誤差都會(huì)造成 時(shí)間的錯(cuò)亂,因此本設(shè)計(jì)采用 ds1302 構(gòu)成時(shí)鐘電路。如圖 3-14 所示: 圖 3-14 時(shí)鐘電路 ds1302 是美國(guó) dallas 公司推出的一種高性能、低功耗、帶 ram 的實(shí)時(shí)時(shí)鐘 電路芯片,它可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電 壓為 2.5v5.5v。采用三線接口與 cpu 進(jìn)行同步通信,這里與單片機(jī)的 p1.5、p1.6、p1.7 口連接,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 ram 數(shù) 據(jù)。ds1302 內(nèi)部有一個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 ram 寄存器。 ds1302 可以用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義

23、的數(shù)據(jù)點(diǎn)的記錄,可以同 時(shí)記錄數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間。這種記錄對(duì)長(zhǎng)時(shí)間的連續(xù)測(cè)控系統(tǒng)結(jié)果的分析及對(duì) 異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。傳統(tǒng)的數(shù)據(jù)記錄方式是定時(shí)采樣,不能記 錄時(shí)間,因此,只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一 方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,耗費(fèi)單片機(jī) 的資源。但是,如果在系統(tǒng)中采用時(shí)鐘芯片 ds1302,就能很好地解決這個(gè)問題。 本設(shè)計(jì)將 ds1302 芯片作為一個(gè)擴(kuò)展。 3.3.3 測(cè)溫模塊 溫度傳感器是各種傳感器中最常用的一種,早期使用模擬溫度傳感器如熱電阻。 現(xiàn)代的溫度傳感器已經(jīng)走向數(shù)字化、微型化、集成化。本設(shè)計(jì)

24、采用 ds18b20。 在 proteus 中溫度傳感器 ds18b20 的元件圖形及實(shí)物圖如圖 3-15 所示。 圖 3-15 ds18b20 元件圖及實(shí)物圖 ds18b20 是 dallas 公司生產(chǎn)的 1wire,即單總線器件,具有微型化、低功耗、 高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),與單片機(jī)接口僅需占用一個(gè) i/o 端口, 無須任何外部元件,直接將環(huán)境溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供處理器處理。其特性如下: (1)只要求一個(gè)端口即可實(shí)現(xiàn)通信。 (2)在 ds18b20 中的每個(gè)器件上都有獨(dú)一無二的序列號(hào)。 (3)實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。 (4)測(cè)量溫度范圍在55到12

25、5之間。 (5)數(shù)字溫度計(jì)的分辨率用戶可以從 9 位到 12 位選擇。 (6)內(nèi)部有溫度上、下限報(bào)警設(shè)置。 (7)支持多點(diǎn)組網(wǎng)功能,多個(gè) ds18b20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn) 測(cè)溫。 (8)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 如果需要控制多個(gè) ds18b20 進(jìn)行溫度采集,只需將 ds18b20 的 i/o 口都連到一起。 如圖 3-16 所示。 ds 18b 20ds 18b 20ds 18b 20 4.7 k gndgndgnd vcc vcc單 片 機(jī) . . . . 圖 3-16 ds18b20 多點(diǎn)測(cè)溫 ds18b20 的引腳功能為:dq 為數(shù)字信

26、號(hào)輸入/輸出端;gnd 為電源地;vcc 為 外接供電電源輸入端。本設(shè)計(jì)使用單片機(jī) at89c51 的 p1.0 口與 ds18b20 的單總線端 口 dq 相連。如圖 3-15 所示。 ds18b20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 rom、溫度傳感器、非揮發(fā)的溫 度報(bào)警觸發(fā)器 th 和 tl、配置寄存器。 ds18b20在出廠時(shí)默認(rèn)設(shè)置為12位,最高位為符號(hào)位,溫度值共11位。單片機(jī)在 讀取數(shù)據(jù)時(shí)一次讀取2個(gè)字節(jié)共16位,前5位為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為 負(fù)值,讀到的數(shù)值要取反加1再乘以0.0625才是實(shí)際溫度值。而當(dāng)前5位為0時(shí),讀取的 溫度為正值,讀到的數(shù)值直接乘以

27、0.0625便是實(shí)際溫度值。 根據(jù) ds18b20 的通訊協(xié)議,主機(jī)控制 ds18b20 完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟: 每一次讀寫之前都要對(duì) ds18b20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條 rom 指令,最后發(fā) 送 ram 指令,這樣才能對(duì) ds18b20 進(jìn)行預(yù)定的操作。復(fù)位要求主 cpu 將數(shù)據(jù)線下拉 500 微秒,然后釋放,ds18b20 收到信號(hào)后等待 1660 微秒左右,后發(fā)出 60240 微 秒的存在低脈沖,主 cpu 收到此信號(hào)表示復(fù)位成功。 在實(shí)際使用中,ds18b20 有以下事項(xiàng)需要注意: 在對(duì) ds18b20 進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè) 溫結(jié)果

28、。 在用 ds18b20 進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹 配問題。因?yàn)檫B接 ds18b20 的總線電纜是有長(zhǎng)度限制的。 向 ds18b20 發(fā)出溫度轉(zhuǎn)換命令后,程序要等待 ds18b20 的返回信號(hào),假如某 個(gè) ds18b20 接觸不好,當(dāng)程序讀該 ds18b20 時(shí),將沒有返回信號(hào),程序會(huì)進(jìn)入死循 環(huán)。 ds18b20 的初始化、工作時(shí)序見第四章。 3.3.4 顯示模塊 led 顯示器接口電路 常用的 led 顯示器有 led 狀態(tài)顯示器(俗稱發(fā)光二極管)led 七段顯示器(俗稱數(shù) 碼管和 led 十六段顯示器,發(fā)光二極管可顯示兩種狀態(tài),用于系統(tǒng)顯示;數(shù)碼管用于 數(shù)字

29、顯示;led 十六段顯示器,用于字符顯示) 1數(shù)碼管結(jié)構(gòu) 數(shù)碼管由 8 個(gè)發(fā)光二極管(以下簡(jiǎn)稱字段)構(gòu)成,通過不同組合可用來顯示數(shù)字 0-9.字符 a-f 及小數(shù)點(diǎn)“.”。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。 2. 數(shù)碼管工作原理 共陽極數(shù)碼管的 8 個(gè)發(fā)光二級(jí)管的陽極(二極管正端)連接在一起。通常會(huì)共陽 極接高電平 1.一般接電源 1.當(dāng)某個(gè)陰極接低電平時(shí),則該數(shù)碼管導(dǎo)通并點(diǎn)亮。共陰極 數(shù)碼管的 8 個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起。公共陰極接低電平(一 般接地)當(dāng)某個(gè)陽極接高電平,則該數(shù)碼管并點(diǎn)亮。 3.3.5 開關(guān)模塊 本課題溫度設(shè)定由矩陣式鍵盤設(shè)定,鍵盤是一組按鍵的組合,共有

30、 12 個(gè)按鍵,分 別是 0、1、2、3、4、5、6、7、8、9、+、-,電路如圖 3-18 所示。 。通常用到的開關(guān) 都是機(jī)械彈性開關(guān),當(dāng)開關(guān)閉合時(shí),線路導(dǎo)通,開關(guān)斷開時(shí),線路斷開。單片機(jī) at89c51 的 p2 口作為檢測(cè)按鍵時(shí)用的 i/o 口與矩陣鍵盤兩端都相連,在檢測(cè)是否有鍵 按下時(shí)需人為通過 p2 口送出低電平。即采用掃描式讀鍵值。檢測(cè)時(shí),先送一列為低電 平,其余幾列全為高電平,然后輪流檢測(cè)一次各行是否有低電平,若某一行有低電平, 則可確認(rèn)當(dāng)前按下的鍵的行列數(shù)。 鍵在按下和釋放的瞬間會(huì)產(chǎn)生抖動(dòng)現(xiàn)象,因此在檢測(cè)鍵盤時(shí)要加上去抖動(dòng)電路, 本設(shè)計(jì)使用延時(shí)程序來去抖動(dòng)。 圖 3-18 鍵盤

31、模塊 3.3.6 報(bào)警模塊 本設(shè)計(jì)采用發(fā)光二極管和蜂鳴器作為報(bào)警裝置。當(dāng)實(shí)際溫度達(dá)到上限或下限時(shí), 相關(guān)二極管發(fā)光、蜂鳴器報(bào)警;實(shí)際溫度低于設(shè)定溫度時(shí),發(fā)光二極管點(diǎn)亮報(bào)警。二 極管分別與 p3.0、p3.1、p3.2、p3.3 相連,蜂鳴器與 p3.4 連接。電路如圖 3-19 所示。 圖 3-19 報(bào)警模塊及相應(yīng)管腳連接 第 4 章 系統(tǒng)軟件設(shè)計(jì)及調(diào)試 4.1 系統(tǒng)程序設(shè)計(jì) keil 使用“工程” (project)的概念,對(duì)工程(而不能對(duì)單一的源程序)進(jìn)行編譯/ 匯編、連接等操作。首先新建工程(project-new project) ,如圖 4-1 所示。 圖 4-1 新建工程 文件保存

32、類型為.uv2,如圖 4-2 所示。 圖 4-2 保存工程 點(diǎn)擊保存后在跳出來的對(duì)話框中選擇 ateml 下面的 89c51 單片機(jī)。如圖 4-3 所示。 圖 4-3 選擇單片機(jī)類型 這時(shí)工程管理窗口的文件頁(files)會(huì)出現(xiàn)“target1” ,將其前面+號(hào)展開,接著 選擇 source group1,右擊鼠標(biāo)彈出快捷菜單,選擇“add file to group source group1 ” ,如圖 4-4 所示。出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件,源文件后綴為.c 或.asm,如圖 4-5 所示。打開空白 c 文件就可以開始編寫程序了。 圖 4-4 添加源文件 圖 4-5 源文件

33、4.1.1 ds18b20 測(cè)溫程序設(shè)計(jì) 1、ds18b20 的控制指令如下: cch跳過 rom。忽略 64 位 rom 地址,直接向 ds18b20 發(fā)送溫度變換命令。 55h匹配 rom,發(fā)出此命令后發(fā)出 64 位 rom 編碼,訪問單總線上與該編碼 相對(duì)應(yīng)的 ds18b20 并使之做出響應(yīng)。 33h讀 rom 中的編碼。 如果主機(jī)只對(duì)一個(gè) ds18b20 進(jìn)行操作(即本設(shè)計(jì)這樣的情況) ,只需用跳過 rom(cch)命令就可進(jìn)行溫度轉(zhuǎn)換和讀取操作。如下: 44h溫度轉(zhuǎn)換。啟動(dòng) ds18b20 進(jìn)行溫度轉(zhuǎn)換,結(jié)果存入內(nèi)部 9 字節(jié)的 ram 中。 beh讀暫存器。讀內(nèi)部 ram 中 9

34、字節(jié)的溫度數(shù)據(jù)。 4eh寫暫存器。發(fā)出向內(nèi)部 ram 的第 2、3 字節(jié)寫上下限溫度數(shù)據(jù)命令,隨 后傳送兩字節(jié)的數(shù)據(jù)。 2、工作時(shí)序及相應(yīng)程序: 初始化: 先將數(shù)據(jù)線置高電平 1; 延時(shí); 數(shù)據(jù)線拉到低電平 0; 延時(shí); 數(shù)據(jù)線拉到高電平 1; 延時(shí)等待; 數(shù)據(jù)線再次拉到高電平 1。 具體的程序應(yīng)用如下: void dsreset(void) uint i; ds=0; i=103; while(i0)i-; ds=1; i=4; while(i0)i-; 寫數(shù)據(jù): 數(shù)據(jù)線置低電平 0; 延時(shí) 15us; 按從低位到高位的順序發(fā)送數(shù)據(jù); 延時(shí) 45 us; 將數(shù)據(jù)線拉到高電平 1; 重復(fù)步驟,

35、直到發(fā)送完整個(gè)字節(jié); 再次將數(shù)據(jù)線拉高到 1。 讀數(shù)據(jù): 將數(shù)據(jù)線拉高到 1; 延時(shí) 2us; 將數(shù)據(jù)線拉低到 0; 延時(shí) 6us; 將數(shù)據(jù)線拉高到 1; 延時(shí) 4us; 讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理; 延時(shí) 30us; 重復(fù)步驟,直到讀取完一個(gè)字節(jié)。 在編寫具體的程序時(shí),首先要對(duì) ds18b20 進(jìn)行復(fù)位初始化,其次編寫讀一位數(shù)據(jù) 函數(shù)、讀一個(gè)字節(jié)數(shù)據(jù)函數(shù)、寫一個(gè)字節(jié)數(shù)據(jù)函數(shù)、溫度的獲取轉(zhuǎn)換程序、讀溫度程 序等子程序。詳細(xì)程序見附錄。 4.1.2 lm016l 顯示程序設(shè)計(jì) 1、基本工作時(shí)序: 讀狀態(tài) 輸入:rs=0,rw=1,e=1 輸出:d0d7=狀態(tài)字 讀數(shù)據(jù) 輸入:r

36、s=1,rw=1,e=1 輸出:無 寫指令 輸入:rs=0,rw=0,d0d7=指令碼,e=高脈沖 輸出:d0d7=數(shù)據(jù) 寫數(shù)據(jù) 輸入:rs=1,rw=0,d0d7=數(shù)據(jù),e=高脈沖 輸出:無 2、初始化設(shè)置: 原則上每次進(jìn)行讀/寫之前都必須進(jìn)行讀/寫檢測(cè),但由于單片機(jī)的操作速度慢于液 晶控制器的反應(yīng)速度,因此可以用簡(jiǎn)單延時(shí)代替讀/寫檢測(cè)。本設(shè)計(jì)所用初始化指令如 下: write_com(0x01); 顯示清 0,數(shù)據(jù)指針清 0 write_com(0x38); 設(shè)置 16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù)接口 write_com(0x0c); 設(shè)置開顯示,不顯示光標(biāo) write_com(0

37、x06); 寫一個(gè)字符后地址指針自動(dòng)加 1 write_com(0 x80); 在第一排開始顯示 write_com(0 xc0); 顯示第二排 3、寫操作時(shí)序: 通過 rs 確定是寫數(shù)據(jù)還是寫命令。寫命令包括使液晶的光標(biāo)顯示/不顯示,需/ 不需要移屏,在液晶的什么位置顯示等等,寫數(shù)據(jù)是寫要顯示的內(nèi)容。 讀/寫控制端設(shè)置為寫模式,即低電平。 將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。 給 e 使能端一個(gè)高脈沖將數(shù)據(jù)送入液晶控制器,完成寫操作。 例如,寫控制字程序如下: void write_com(unsigned char c) /寫入控制命令的子程序 int i; for(i=80;i0;i-); /用延

38、時(shí)代替忙檢測(cè) rs=0; /選擇寫命令模式 rw=0; /選擇寫模式 e=0; p0=c; /要寫的數(shù)據(jù) e=1; /給使能端一個(gè)高脈沖 e=0; 本設(shè)計(jì)顯示程序包括 lcd 清屏程序、寫入控制命令子程序、寫入數(shù)據(jù)子程序、初 始化程序等,具體程序見附錄。 第 5 章 總結(jié)與展望 5.1 總結(jié) 經(jīng)過半個(gè)多學(xué)期的學(xué)習(xí),基本完成了本次畢業(yè)設(shè)計(jì)的預(yù)期要求,熟練掌握了基于 單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)原理,并運(yùn)用了相關(guān)自動(dòng)控制原理。keil 的功能都非常 強(qiáng)大,是現(xiàn)在單片機(jī)仿真使用的主流軟件,通過本次設(shè)計(jì)能熟練使用這兩個(gè)軟件,并 制作出自己相關(guān)的成果。同時(shí)接觸到了新的硬件并熟悉了這些硬件的資料及使用方法。

39、 到目前為止,對(duì)本設(shè)計(jì)涉及的硬件的使用已基本掌握,如 ds18b20、顯示器 lm016l 的使用及相關(guān)程序的編寫,實(shí)現(xiàn)了溫度顯示,未能很好的實(shí)現(xiàn)溫度的自動(dòng)控 制。由于時(shí)間的原因,沒有制作硬件電路板。 通過設(shè)計(jì),學(xué)習(xí)到了新的元器件知識(shí),加強(qiáng)了 c 程序編寫能力和單片機(jī)的控制知 識(shí),鍛煉了文獻(xiàn)搜索、資料整理能力,自學(xué)能力,調(diào)試、查錯(cuò)能力。 5.2 展望 電熱爐在工業(yè)溫度控制中具有重要作用,結(jié)構(gòu)簡(jiǎn)單,用途十分廣泛。隨著單片 機(jī)的不斷發(fā)展,用單片機(jī)控制電熱爐的溫度已被廣泛采用,控制精度、可靠性等都 不斷提高。現(xiàn)在的單片機(jī)逐漸向嵌入式系統(tǒng)靠攏,使得控制功能更強(qiáng)大。溫度傳感 器 ds18b20 代替了傳

40、統(tǒng)模擬傳感器,使得溫度控制外圍電路簡(jiǎn)單,程序功能相對(duì)集 中。這種傳感器雖然是單總線結(jié)構(gòu),但是可以將多個(gè)ds18b20 連接在一根總線上, 實(shí)現(xiàn)溫度的多點(diǎn)檢測(cè)。只需通過程序控制各個(gè)ds18b20 的使用情況。顯示器 lm016l 是 1602 顯示器的一種,用顯示器顯示不僅界面清晰明了,控制也更簡(jiǎn)單。 其他類型的顯示器如 12232、12864 等可以顯示更多的內(nèi)容,與數(shù)碼管相比節(jié)省了 很多外圍元件,并且程序也比較簡(jiǎn)單。 本設(shè)計(jì)的課題任務(wù)是顯示實(shí)際溫度值、設(shè)定溫度值,并對(duì)這兩個(gè)溫度進(jìn)行比較 控制,使實(shí)際溫度始終保持在一定范圍內(nèi)。在實(shí)際工業(yè)生產(chǎn)中,設(shè)定溫度的范圍會(huì) 比較廣泛,相應(yīng)的實(shí)際溫度范圍可能

41、也比較寬泛, ds18b20 溫度范圍窄有可能不 適合,需要選用其他適合的溫度傳感器。生產(chǎn)中的溫度控制精度會(huì)比較高,需要使 用先進(jìn)控制算法,比如模糊 pid 控制。本設(shè)計(jì)中報(bào)警系統(tǒng)采用了發(fā)光二極管,還可 以加上蜂鳴器報(bào)警。顯示器也有使用溫度的限制,總之,對(duì)不同的要求要選用合適 的元器件。 本設(shè)計(jì)初步實(shí)現(xiàn)了溫度的控制功能,在此基礎(chǔ)上可以提高控制精度及顯示精度, 擴(kuò)大溫度控制范圍,實(shí)現(xiàn)更多的控制報(bào)警功能,并可根據(jù)本設(shè)計(jì)制作出硬件電路板。 用單片機(jī)控制電熱爐的溫度是一種主流趨勢(shì),并有可能在今后用嵌入式系統(tǒng)來進(jìn)行 溫度控制,采用先進(jìn)控制算法來進(jìn)行設(shè)計(jì)。 參考文獻(xiàn) 1. 張慰兮、王穎. 微型計(jì)算機(jī)(mc

42、s-51 系列)原理、接口及應(yīng)用. 南京:南京大學(xué)出版社, 2001:43-55。 2. 李俊、張曉東. 基于單片機(jī)的溫濕度檢測(cè)與控制系統(tǒng)研究. 微計(jì)算機(jī)信息, 2008,17(3):116-118。 3. 郭天祥. 51 單片機(jī) c 語言教程. 北京:電子工業(yè)出版社,2009: 124-258。 4. 鄭金輝、張齊、李登紅、帥仁俊. 基于單片機(jī)的數(shù)字溫度測(cè)控系統(tǒng)設(shè)計(jì). 單片機(jī)開發(fā)與應(yīng)用, 2009,2(23):93-95。 5. 趙鴻圖. 基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn). 單片機(jī)開發(fā)與應(yīng)用, 2008,9(2):54-56。 6. 安宏、姚彩虹、蔣興加. 用于電熱爐的智能溫控儀的設(shè)計(jì).

43、自動(dòng)化儀表, 2008,29(10):64-69。 7. 劉淑榮、丁錄軍. 基于單片機(jī)的溫度智能控制系統(tǒng). 微計(jì)算機(jī)信息, 2003,7(2):56-57。 8. 徐鳳霞、趙成安. at89c51 單片機(jī)溫度控制系統(tǒng). 齊齊哈爾大學(xué)學(xué)報(bào), 2004,20(1):64-66。 9. 鄭惟暉. 單片機(jī)智能溫度控制系統(tǒng)的設(shè)計(jì). 黃山學(xué)院學(xué)報(bào), 2008,10(5):23-25。 10.李浩波. 集散控制系統(tǒng)在黃磷電熱爐生產(chǎn)中的應(yīng)用. 四川有色金屬, 2001,4(4):57-59。 11.張俊芳、張忠民、劉利民. 智能單片機(jī)溫度控制系統(tǒng). 遼寧工程技術(shù)大學(xué)學(xué)報(bào), 2004,6(23):69- 71。

44、 12.趙巧妮. proteus 在單片機(jī)仿真中的應(yīng)用. 自動(dòng)化技術(shù)與應(yīng)用, 2009,28(6):113-115。 13.李東勛、沈文浩、陳小泉. 基于 proteus 的液晶模塊的仿真. 華南理工大學(xué)制漿造紙工程國(guó)家重 點(diǎn)實(shí)驗(yàn)室。 14.郭廷杰. 日本新型電熱爐情況綜述. 工業(yè)爐,1994,2(72):55-59。 15.深圳中源單片機(jī)發(fā)展有限公司.at89c51 中文資料.深圳中源單片機(jī)發(fā)展有限公司。 16.譚浩強(qiáng). c 程序設(shè)計(jì). 北京:清華大學(xué)出版社,1999(2):45-364。 17.陳忠華. 基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn). 大連理工大學(xué)碩士學(xué)位論文,2006。 18

45、.徐建林. 熱處理電阻爐爐溫控制系統(tǒng)的分析與仿真. 金屬熱處理,2002, 27(11):33-38。 19.王海寧. 基于單片機(jī)的溫度控制系統(tǒng)的研究. 合肥工業(yè)大學(xué)碩士學(xué)位論文,2008。 20.許麗川. 過程控制調(diào)節(jié)規(guī)律的研究-單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)制作. 電子科技大學(xué)碩士學(xué)位論 文,2000。 附 錄 根據(jù)第三章系統(tǒng)硬件的設(shè)計(jì),程序編寫如下: #include #include #define uchar unsigned char #define uint unsigned int sbit ds=p10; /溫度傳感器信號(hào)線 sbit rs=p11; sbit rw=p12; sb

46、it e=p13; sbit led1=p30; sbit led2=p31; sbit led3=p32; sbit led4=p33; sbit hot=p37; sbit beep=p34; uint warn_l=10; /溫度下限值 uint warn_h=90; /溫度上限值 uint settemp; uint temp; uint count=0; uchar f_temp; data unsigned char set15=settemp: ; data unsigned char real15=realtemp: ; char code tab34=1,2,3,4, 5,6

47、,7,8, 9,0, , ; /0 到 f 的 16 個(gè)鍵植 void delay(uint z) /延時(shí)函數(shù) uint x,y; for (x=z;x0;x-) for (y=110;y0;y-); /以下是 ds18b20 的相關(guān)程序 void dsreset(void) /ds18b20 復(fù)位,初始化函數(shù) uint i; ds=0; i=103; while(i0)i-; ds=1; i=4; while(i0)i-; bit tempreadbit(void) /讀一位數(shù)據(jù)函數(shù) uint i; bit dat; ds=0; i+; /i+起延時(shí)作用 ds=1; i+; i+; dat=ds; i=8; while(i0)i-; return(dat); uchar tempread(void) /讀 1 個(gè)字節(jié)數(shù)據(jù)函數(shù) uchar i,

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論