基于51單片機(jī)的家用電熱水器設(shè)計(jì)畢業(yè)論文_第1頁
基于51單片機(jī)的家用電熱水器設(shè)計(jì)畢業(yè)論文_第2頁
基于51單片機(jī)的家用電熱水器設(shè)計(jì)畢業(yè)論文_第3頁
基于51單片機(jī)的家用電熱水器設(shè)計(jì)畢業(yè)論文_第4頁
基于51單片機(jī)的家用電熱水器設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科畢業(yè)論文本科畢業(yè)論文( (設(shè)計(jì)設(shè)計(jì)) ) 基于基于 5151 單片機(jī)的家用電熱水器設(shè)計(jì)單片機(jī)的家用電熱水器設(shè)計(jì) 基于基于 5151 單片機(jī)的家用電熱水器設(shè)計(jì)單片機(jī)的家用電熱水器設(shè)計(jì) 摘要摘要 市場(chǎng)上傳統(tǒng)的機(jī)械式熱水器控制精度低、可性靠差。隨著社會(huì)的發(fā)展,人市場(chǎng)上傳統(tǒng)的機(jī)械式熱水器控制精度低、可性靠差。隨著社會(huì)的發(fā)展,人 們對(duì)電熱水器的要求越來越趨向于智能化和數(shù)字化,而智能化家用電熱水器正們對(duì)電熱水器的要求越來越趨向于智能化和數(shù)字化,而智能化家用電熱水器正 是適應(yīng)現(xiàn)代化智能家用電器趨勢(shì)而出現(xiàn)。是適應(yīng)現(xiàn)代化智能家用電器趨勢(shì)而出現(xiàn)。 本文主要設(shè)計(jì)了一種基于單片機(jī)的家用電熱水器控制系統(tǒng),它以本文主

2、要設(shè)計(jì)了一種基于單片機(jī)的家用電熱水器控制系統(tǒng),它以 at89c51at89c51 單片機(jī)為核心控制器,單片機(jī)為核心控制器,使用陣型鍵盤輸入溫度,并使用使用陣型鍵盤輸入溫度,并使用 ledled 燈顯示,能夠精確燈顯示,能夠精確 提供用戶所需溫度的溫水。同時(shí)采用提供用戶所需溫度的溫水。同時(shí)采用 ds18b20ds18b20 進(jìn)行溫度采集,當(dāng)所需溫度高于進(jìn)行溫度采集,當(dāng)所需溫度高于 當(dāng)前采集的水溫時(shí),使用當(dāng)前采集的水溫時(shí),使用 moc3041moc3041 芯片觸發(fā)加熱,當(dāng)所需溫度低于當(dāng)前采集的芯片觸發(fā)加熱,當(dāng)所需溫度低于當(dāng)前采集的 水溫時(shí),則停水溫時(shí),則停止加熱。該設(shè)計(jì)簡(jiǎn)單易行,成本低,而且安全

3、,具有推廣價(jià)值。止加熱。該設(shè)計(jì)簡(jiǎn)單易行,成本低,而且安全,具有推廣價(jià)值。 關(guān)鍵字:關(guān)鍵字:at89c51at89c51 單片機(jī),溫度控制,傳感器單片機(jī),溫度控制,傳感器 design of household electric water heater based on the 51-series single-chip abstract the market upload mechanical water heaters power system is of low control precision, poor reliability. with the development of th

4、e society, peoples demand for electric water heater is more and more tend to be intelligent and digital. while the intelligent home electric water heater is to adapt to the modern trend of intelligent household appliances. designed in this paper is a smart home electric water heater, which at89c51 a

5、s a controller, use array form keyboard input temperature, and use led light display it, so it can accurately provide to the warm water of temperature that user needs. the system adopt ds18b20 to collect temperature, when the temperature needed higher than to collect water temperature at present, it

6、 use the moc3041 chip lead to heating , when the temperature needed is lower than the collect water temperature at present, it stop heating.the smart electric water heater designed to achieve the program is simple,low cost, safe,and it has practical value. key-words:at89c51 single chip microcomputer

7、, temperature control, temperature sensor. 目錄目錄 1 引言.1 1.1 智能熱水器的歷史與發(fā)展.1 1.2 本設(shè)計(jì)主要研究內(nèi)容.1 2 系統(tǒng)總體設(shè)計(jì).1 2.1 單片機(jī)引腳功能說明.2 2.2 ds18b20 介紹.4 2.2.1 ds18b20 引腳說明.5 2.2.2 工作原理.5 2.3 moc3041 介紹.6 2.4 矩陣鍵盤的工作原理.6 2.5 led 數(shù)碼顯示管介紹.7 3 系統(tǒng)硬件模塊介紹.8 3.1 單片機(jī)最小系統(tǒng).8 3.2 溫度傳感器模塊.8 3.3 加熱控制器 moc3041.9 3.4 鍵盤控制電路.10 3.5 led

8、 數(shù)碼顯示管.10 3.5.1 多位數(shù)碼管的顯示控制.11 3.5.2 鎖存器與數(shù)碼管顯示方法.11 4 系統(tǒng)軟件設(shè)計(jì).12 4.1 主程序分析.12 4.1.1 主程序流圖.12 4.1.2 主函數(shù)分析.13 4.2 中斷加熱模塊分析.13 4.3 鍵盤輸入設(shè)計(jì).14 4.3.1 鍵盤輸入方法.14 4.3.2 鍵盤輸入的抖動(dòng)與去抖動(dòng)方法.15 結(jié)論.16 參考文獻(xiàn).17 附錄一.18 附錄二.19 附錄三.20 附錄四.25 致謝.26 1 引言引言 1.1 智能熱水器的歷史與發(fā)展智能熱水器的歷史與發(fā)展 我們的生活電熱水器是一種可供浴室、洗手間及廚房使用,按照人們的需 要的溫度,提供溫水的

9、家用電器。市場(chǎng)上傳統(tǒng)的機(jī)械式電熱水器控制精度低、 可靠性差,甚至存在一定的危險(xiǎn)隱患。隨著社會(huì)的發(fā)展、人們生活質(zhì)量的提高, 人們對(duì)電熱水器的要求越來越趨向于智能化和數(shù)字化,這種老式而簡(jiǎn)單的電熱 水器已經(jīng)不能夠滿足人們的需要了。而智能化家用電熱水器正是適應(yīng)現(xiàn)代化智 能家用電器趨勢(shì)而出現(xiàn)。它能提供用戶方便快捷的數(shù)字化輸入方式,并且能精 確的采集和控制環(huán)境中的水溫,將其提供給用戶,因此備受人們的關(guān)注。 家用熱水器在國外使用相當(dāng)廣泛,尤其在歐美和東南亞地區(qū)。目前市場(chǎng)上 的電熱水器分連續(xù)水流式和貯水式。前者雖具有加熱速度快和體積小的優(yōu)點(diǎn), 但需要的功率大,大多數(shù)家庭供電線路難以承受。而市場(chǎng)上傳統(tǒng)的機(jī)械式電

10、熱 水器控制功能不完善,而且精度低、可靠性差。生活質(zhì)量的提高使得消費(fèi)者對(duì) 電熱水器功能提出延伸至全新的概念層面。此外,隨著無線通信技術(shù)的發(fā)展, 無線遠(yuǎn)程控制也將是新一代電熱水器的發(fā)展方向,用戶可以通過任何一部雙音 頻固定電話或手機(jī)遙控?zé)崴鞯拈_/關(guān)、溫度設(shè)定等,并可查詢熱水器的工作狀 態(tài)?,F(xiàn)在市場(chǎng)上較為先進(jìn)的儲(chǔ)水式電熱水器能實(shí)現(xiàn)上述等功能,但仍難以滿足 人們對(duì)現(xiàn)代化家電的使用要求。在現(xiàn)如今眾多的控制手段中,要滿足低價(jià)格、 高性能、尤其是智能化的要求,采用典型的嵌入式控制系統(tǒng)單片機(jī)為核心 的控制器應(yīng)為首選。 1.2 本設(shè)計(jì)主要研究內(nèi)容本設(shè)計(jì)主要研究內(nèi)容 智能熱水器具有以下功能:(1)使用高清晰度

11、數(shù)碼管顯示水溫,范圍 0102(2)使用鍵盤方便的設(shè)定水溫,并顯示設(shè)定的溫度;(3)按照設(shè)定 的溫度加熱到相應(yīng)水溫。 硬件設(shè)計(jì)主要有:?jiǎn)纹瑱C(jī)最小系統(tǒng)電路設(shè)計(jì)、溫度傳感器設(shè)計(jì)、水溫加熱 電路設(shè)計(jì)、鍵盤控制電路設(shè)計(jì)、led數(shù)碼管顯示電路設(shè)計(jì)。軟件設(shè)計(jì)主要有:主 程序模塊、定時(shí)器中斷程序模塊、鍵盤掃描處理子程序模塊、led數(shù)碼顯示子 程序模塊和延時(shí)子程序等模塊。 2 系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì) 系統(tǒng)利用 ds18b20 將采集到的溫度信號(hào)送到 at89c51 單片機(jī)中,單片機(jī) 將采集到的溫度值與通過鍵盤設(shè)定的溫度進(jìn)行比較,根據(jù)比較結(jié)果,控制加熱 器的開關(guān),同時(shí)將溫度值實(shí)時(shí)顯示在 led 顯示器上。 硬

12、件系統(tǒng)組成部分主要有電源電路、單片機(jī)控制器、溫度采集電路、按鍵 輸入電路、led 數(shù)碼管顯示電路、加熱控制電路、moc3041 雙向可控硅驅(qū)動(dòng) 電路。 at89c51 單片機(jī) 鍵盤設(shè)定溫度電路 加熱控制電路 電源時(shí)鐘復(fù)位電路 數(shù)字溫度顯示電路 溫度采集電路 圖圖 2-1 系統(tǒng)硬件組成系統(tǒng)硬件組成 2.1 單片機(jī)引腳功能說明單片機(jī)引腳功能說明 圖 2-2 為 dip40 單片機(jī)電路符號(hào)的引腳分布,40 個(gè)引腳按功能分為 4 個(gè)部 分,即電源引腳(vcc 和 vss) 、時(shí)鐘引腳(xtal1 和 xtal2) 、控制信號(hào)引腳 (rst、和 ale)以及 i/o 口引腳(p0p3) 。eapsen

13、xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15

14、28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 圖圖 2-2 單片機(jī)引腳分布單片機(jī)引腳分布 40 腳 vcc 為單片機(jī)電源正極引腳,20 腳 vss 為單片機(jī)的接地引腳。在正 常工作情況下,vcc 接5v 電源,為了保證單片機(jī)運(yùn)行的可靠性和穩(wěn)定性,電 源電壓誤差不超過 0.5v。 9 腳 rst/vpd 為復(fù)位/備用電源引腳。此引腳上外加兩個(gè)機(jī)器周期的高電 平就使單片機(jī)復(fù)位(reset) 。單片機(jī)正常工作時(shí),此引腳應(yīng)為低電平。在單片 機(jī)掉電期間,此引腳

15、可接備用電源(5v) 。在系統(tǒng)工作的過程中,如果 vcc 低于規(guī)定的電壓值,vpd 就向片內(nèi) ram 提供電源,以保持 ram 內(nèi)的信息不 丟失。 30 腳為鎖存信號(hào)輸出/編程引腳,在擴(kuò)展了外部存儲(chǔ)器的單片progale/ 機(jī)系統(tǒng)中,單片機(jī)訪問外部存儲(chǔ)器時(shí),ale 用于鎖存低 8 位的地址信號(hào)。如果 系統(tǒng)沒有擴(kuò)展外部存儲(chǔ)器,ale 端輸出周期性的脈沖信號(hào),頻率為時(shí)鐘振蕩頻 率的 1/6,可用于對(duì)外輸出的時(shí)鐘。對(duì)于 eprom 型單片機(jī),此引腳用于輸入編 程脈沖。 29 腳腳為輸出訪問片外程序存儲(chǔ)器的讀選通信號(hào)引腳。在 cpu 從外psen 部程序存儲(chǔ)器取指令期間,該信號(hào)每個(gè)機(jī)器周期兩次有效。在

16、訪問片外數(shù)據(jù)存 儲(chǔ)器期間,這兩次信號(hào)將不出現(xiàn)。psen 31 腳用于區(qū)分片內(nèi)外低 4kb 范圍存儲(chǔ)器空間。該引腳接高電平時(shí), pp v/ea cpu 訪問片內(nèi)程序存儲(chǔ)器 4kb 的地址范圍。若 pc 值超過 4kb 的地址范圍, cpu 將自動(dòng)轉(zhuǎn)向訪問片外程序存儲(chǔ)器;當(dāng)此引腳接低電平時(shí),則只訪問片外程 序存儲(chǔ)器,忽略片內(nèi)程序存儲(chǔ)器。 單片機(jī)的 i/o 口是用來輸入和控制輸出的端口,dip40 封裝的 51 單片機(jī)共 有 p0、p1、p2、p3 四組端口,分別與單片機(jī)內(nèi)部 p0、p1、p2、p3 四個(gè)寄存器 對(duì)應(yīng),每組端口有 8 位,因此 dip40 封裝的 51 單片機(jī)共有 32 個(gè) i/o

17、端口。 p0 口分別占用 3239 腳,依次命名為 p0.0p0.7。與其他 i/o 口不同,p0 口是漏極開路型雙向 i/o 口。在訪問片外存儲(chǔ)器時(shí),p0 口分時(shí)作為低 8 位地址 線和 8 位雙向數(shù)據(jù)總線用,此時(shí)不需外接上拉電阻。如果將 p0 口作為通用的 i/o 口使用,則要求外接上拉電阻或排阻,每位以吸收電流的方式驅(qū)動(dòng) 8 個(gè) lsttl 門電路或其他負(fù)載。 p1 口占用 18 腳,分別是 p1.0p1.7,p1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 i/o 口,每位能驅(qū)動(dòng) 4 個(gè) lsttl 門負(fù)載。這種接口沒有高阻狀態(tài),輸入 不能鎖存,因而不是真正的雙向 i/o 口。 p2 口的

18、8 個(gè)引腳占用 2128 腳,分別是 p2.0p2.7。p2 口也是一個(gè)帶內(nèi) 部上拉電阻的 8 位雙向 i/o 口。在訪問外部存儲(chǔ)器時(shí),p2 口輸出高 8 位地址, 每位也可以驅(qū)動(dòng) 4 個(gè) lsttl 負(fù)載。 p3 口的 8 個(gè)引腳占用 1017 腳,分別是 p3.0p3.7。p3 是雙功能端口, 作為普通 i/o 口使用時(shí),同 p1、p2 口一樣,作為第二功能使用時(shí),引腳定義見 表 2-1。p3 口引腳具有的第二功能,能使硬件資源得到充分利用。 表表 2-1 p3 口的第二功能口的第二功能 i/o 口線第二功能定義功能說明 p3.0rxd串行輸入口 p3.1txd串行輸出口 p3.2/int

19、0外部中斷 0 輸入端 p3.3/int1外部中斷 1 輸入端 p3.4t0t0 外部計(jì)數(shù)脈沖輸入端 p3.5t1t1 外部計(jì)數(shù)脈沖輸入端 p3.6/wr外部 ram 寫選通脈沖輸出端 p3.7/rd外部 ram 讀選通脈沖輸出端 單片機(jī)有兩個(gè)時(shí)鐘引腳,分別是 19 腳 xtal1 和 18 腳 xtal2,用于提供 單片機(jī)的工作時(shí)鐘信號(hào)。單片機(jī)是一個(gè)復(fù)雜的數(shù)字系統(tǒng),內(nèi)部 cpu 以及時(shí)序邏 輯電路都需要時(shí)鐘脈沖,所以單片機(jī)需要有精確的時(shí)鐘信號(hào)。 單片機(jī)內(nèi)部含有振蕩電路,19腳和18腳用來外接石英晶體和微調(diào)電容。在 使用外部時(shí)鐘時(shí),xtal2則用來輸入時(shí)鐘脈沖。見圖2-3所示,其中圖2-3(a

20、) 為晶體振蕩電路,圖2-3(b)為外部時(shí)鐘輸入電路。利用外部時(shí)鐘輸入時(shí),要 根據(jù)單片機(jī)型號(hào)xtal1接地或懸空,并考慮時(shí)鐘電平的兼容性。 +5v cp輸入 xtal2 xtal1 單片機(jī) gnd xtal2 xtal1 gnd 單片機(jī) c1 30p c2 30p cy 12mhz 1k 圖圖 2-3(a) 圖圖 2-3(b) 晶體振蕩電路晶體振蕩電路 外部時(shí)鐘輸入電路外部時(shí)鐘輸入電路 2.2 ds18b20 介紹介紹 溫度采集電路中使用 ds18b20 芯片來完成溫度采集。它是美國 dallas 半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,具有微型化、低 功耗、高性能、抗干擾能力

21、強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串 行數(shù)字信號(hào)供單片機(jī)處理,可實(shí)現(xiàn)溫度的精度測(cè)量與控制。ds18b20 性能特點(diǎn) 見表 2-2 所示。 表表 2-2 ds18b20 性能指標(biāo)性能指標(biāo) 性能參數(shù)備注 電源電壓范圍在 3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供 電 測(cè)溫范圍 -55+125,在-10+85時(shí)精度為0.5 分辨率912 位,分別有 0.5,0.25,0.125和 0.0625編程控制 轉(zhuǎn)換速度在 9 位時(shí),小于 93.75ms; 12 位分辨率時(shí), 小于 750ms 總線連接點(diǎn)理論 248,實(shí)際視延時(shí)、距離和干擾限制,最多幾十個(gè) 2.2.1 ds18b20 引腳說明 27

22、.0 dq 2 vcc 3 gnd 1 u2 ds18b20 圖圖 2-4 ds18b20 引腳引腳 表 2-3 給出了各引腳功能,其中 dq 引腳是該傳感器的數(shù)據(jù)輸入/輸出端 (i/o),該引腳為漏極開路輸出,常態(tài)下呈高電平。dq 引腳是該器件與單片 機(jī)連接進(jìn)行數(shù)據(jù)傳輸單一總線,單總線技術(shù)是 ds18b20 的一個(gè)特點(diǎn)。 表表 2-3 ds18b20 引腳功能描述引腳功能描述 引腳序號(hào)名稱描述 1gnd地信號(hào) 2dq數(shù)據(jù)輸入輸出(i/o)引腳 3vdd電源輸入引腳,當(dāng)工作于寄生電源模式時(shí),此引腳 必須接地 2.2.2 工作原理 ds18b20 的內(nèi)部主要包括寄生電源、溫度傳感器、64 位激光

23、 rom 單線接 口、存放中間數(shù)據(jù)的高速貯存器、用于存儲(chǔ)用戶設(shè)定的溫度上下限值、觸發(fā)器 存儲(chǔ)與控制邏輯、8 位循環(huán)冗余校驗(yàn)碼發(fā)生器等 7 部分。 高速寄存器 ram 由 9 個(gè)字節(jié)的存儲(chǔ)器組成。見表 2-4 所示。其中,第 0、1 字節(jié)是溫度轉(zhuǎn)換有效位,第 0 字節(jié)的低 3 位存放了溫度的高位,高 5 位存 放溫度的正負(fù)值;第 1 字節(jié)的高 4 位存放溫度的低位,后 4 位存放溫度的小數(shù) 部分;第 2 和第 3 個(gè)字節(jié)是 ds18b20 的與內(nèi)部 e2prom 的有關(guān)的 th 和 tl, 用來存儲(chǔ)溫度上限和下限,可以通過程序設(shè)計(jì)把溫度的上下限從單片機(jī)中讀到 th 和 tl 中,并通過程序再復(fù)制

24、到 ds18b20 內(nèi)部 e2prom 中,同時(shí) th 和 tl 在器件加電后復(fù)制 e2prom 的內(nèi)容;第 4 個(gè)字節(jié)是配置寄存器,第 4 個(gè)字節(jié)的 數(shù)字也可以更新;第 5,6,7 三個(gè)字節(jié)是保留的。 表表 2-4 高速寄存器高速寄存器 ram 字節(jié)地址編號(hào)寄存器內(nèi)容功能 0 溫度值低位(lsb)高 5 位是溫度的正正負(fù)號(hào),低 3 位為溫度的高位 1 溫度值高位(msb)高 4 位為溫度的低位,低 4 位為溫度小數(shù)部分 2 高溫度值(th)設(shè)置溫度上限 3 低溫度值(tl)設(shè)置溫度下限 4 配置寄存器 5 保留 6 保留 7 保留 8 crc 校驗(yàn)值 2.3 moc3041 介紹介紹 moc

25、3041 芯片是一種集成的帶有光耦合的雙向可控硅驅(qū)動(dòng)電路,它有輸入 和輸出兩部分組成。內(nèi)部集成了發(fā)光二極管、雙向可控硅和過零觸發(fā)器等器件。 其內(nèi)部結(jié)構(gòu)和外部引腳如圖 2-5 所示 654 321 moc3041 圖圖 2-5 moc3041 內(nèi)部結(jié)構(gòu)和外部引腳圖內(nèi)部結(jié)構(gòu)和外部引腳圖 其中: (1)此腳為陽極,輸入 vcc (2)此腳為陰極 (3)nc (4)主終端 (5)子端口,此腳不接 (6)主終端 2.4 矩陣鍵盤的工作原理矩陣鍵盤的工作原理 矩陣鍵盤又稱為行列式鍵盤,它是用 4 條 i/o 線作為行線,4 條 i/o 線作為 列線組成的鍵盤,行線和列線的每一個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵,這樣鍵

26、盤中的 按鍵個(gè)數(shù)是 4*4 個(gè)。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中 i/o 的 利用率。 圖 2-6 為鍵盤按鈕電路圖 p3.3 p3.2 p3.1 p3.0 p3.4p3.5p3.6p3.7 圖圖 2-6 矩陣鍵盤按鈕電路圖矩陣鍵盤按鈕電路圖 其中,行連接線為 p3.0p3.3,列連接線為 p3.4p3.7。 2.5 led 數(shù)碼顯示管介紹數(shù)碼顯示管介紹 數(shù)字系統(tǒng)中使用數(shù)碼管能夠使得顯示結(jié)果更為直觀,所以本設(shè)計(jì)采用多位 的 led 數(shù)碼管來實(shí)時(shí)的來顯示溫度。單片機(jī)系統(tǒng)常用的數(shù)碼管有共陽型和共陰 型兩種類型,它是單片機(jī)常用的外圍顯示器件。兩種類型的數(shù)碼管外形和結(jié)構(gòu) 類似,只是數(shù)碼管內(nèi)

27、部組成數(shù)碼段和標(biāo)點(diǎn)的 led 接法有區(qū)別,共陽型數(shù)碼管的 內(nèi)部所有 led 的正極接在一起為公共極引腳,負(fù)極分別引出,依次命名為 a、b、c、d、e、f、g、dot,使用時(shí)共陽型數(shù)碼管的公共極接正極,其他引腳分 別接驅(qū)動(dòng)電路,數(shù)碼管顯示時(shí)低電平有效。同理對(duì)于共陰型數(shù)碼,由于共陰型 數(shù)碼管內(nèi)部所有 led 的負(fù)極接在一起,所以數(shù)碼管顯示時(shí)驅(qū)動(dòng)數(shù)據(jù)高電平有效。 各發(fā)光二極管的排列順序?yàn)?g、f、e、d、b、c、a,與顯示的各位一一對(duì)應(yīng)。 7 段數(shù)碼管的段位順序如圖 2-7 所示 a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp gnd 9 d

28、s1 dpy _9 圖圖 2-7 7 段數(shù)碼管的段位順序段數(shù)碼管的段位順序 3 系統(tǒng)硬件模塊介紹系統(tǒng)硬件模塊介紹 3.1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng) 如圖 3-1 所示,圖中單片機(jī)型號(hào)采用 stc8951rc,電路包括電源、振蕩電 路、復(fù)位電路,單片機(jī)內(nèi)部有 512b 的 ram 和 4kb rom 以及輸入輸出接口等。 vcc xtal1 xtal2 reset psen ale ea p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 p0.0/ad0 p0.1/ad1 p0.2/ad2 p0.3/ad3 p0.4/ad4 p0.5/ad5 p0.6/ad6

29、p0.7/ad7 p2.0/a8 p2.1/a9 p2.2/a10 p2.3/a11 p2.4/a12 p2.5/a13 p2.6/a14 p2.7/a15 p3.0/rxd p3.1/txd p3.2/int0 p3.3/int1 p3.4/t0 p3.5/t1 p3.6/wr p3.7/rd 18 19 9 29 30 31 1 2 3 4 5 6 7 8 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 c1 30p c2 30p cy 12mhz r1 1k c3 10 圖圖 3-1 單片機(jī)最

30、小系統(tǒng)單片機(jī)最小系統(tǒng) 單片機(jī)復(fù)位能使 cpu 和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài), 并從這個(gè)狀態(tài)開始工作。復(fù)位后 pc=0000h,單片機(jī)從第一個(gè)單元取指令。在 單片機(jī)的 rst 引腳上有持續(xù)兩個(gè)機(jī)器周期(即 24 個(gè)振蕩周期)的高電平即可 讓單片機(jī)進(jìn)行復(fù)位操作,完成對(duì) cpu 的初始化處理。如果單片機(jī)的時(shí)鐘頻率為 12 mhz,每機(jī)器周期為 1s,則只需讓 rst 引腳保持 2s 以上高電平的就能 復(fù)位。復(fù)位操作是單片機(jī)系統(tǒng)正常運(yùn)行前必須進(jìn)行的一個(gè)環(huán)節(jié)。但如果 rst 持 續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),無法執(zhí)行用戶的控制程序。 復(fù)位操作通常有上電自動(dòng)復(fù)位、手動(dòng)復(fù)位和看門狗

31、復(fù)位三種方式。在這里 使用的是上電自動(dòng)復(fù)位方式。 3.2 溫度傳感器模塊溫度傳感器模塊 ds18b20 是單片機(jī)外設(shè),單片機(jī)為主器件,ds18b20 為從器件。圖 3-2 的接法是單片機(jī)與一個(gè) ds18b20 通信,單片機(jī)只需要一個(gè) i/o 口就可以控制 ds18b20,為了增加單片機(jī) i/o 口驅(qū)動(dòng)的可靠性,總線上接有上拉電阻。對(duì)如 果要控制多個(gè) ds18b20 進(jìn)行溫度采集,只要將所有 ds18b20 的 dq 全部連接 到總線上就可以了,在操作時(shí),通過讀取每個(gè) ds18b20 內(nèi)部芯片的序列號(hào)來識(shí) 別。 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst

32、 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/

33、a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 27.0 dq 2 vcc 3 gnd 1 u4 ds18b20 r1 4k7 圖圖 3-2 單片機(jī)與一個(gè)單片機(jī)與一個(gè) ds18b20 通信通信 3.3 加熱控制器加熱控制器 moc3041 加熱控制原理如下圖 220v 0.01 uf 330 39 360 moc3041 單片機(jī) r1 rg rp cp r p2.2 圖圖 3-3 加熱控制電路加熱控制電路 其中: r1,限流電阻,控制 led 的觸發(fā)電流; rg,門極電阻,提高控制極的抗干擾能力; r,控制回路限流電阻,保護(hù) 3041

34、 中的雙向可控硅; cp,構(gòu)成吸收回路,承受反向電壓 該部分的工作過程是其工作過程是:當(dāng)單片機(jī)的 p2.2 口輸出低電平的時(shí)候, moc3041 輸入部分的發(fā)光二極管導(dǎo)通,發(fā)出足夠強(qiáng)度的紅外光去觸發(fā)輸出部分, 即可控硅的導(dǎo)通,從而打開加熱器;同理,當(dāng) p2.2 口輸出為高電平時(shí), moc3041 輸入部分的發(fā)光二極管截止,可控硅斷開,關(guān)閉加熱器。 3.4 鍵盤控制電路鍵盤控制電路 系統(tǒng)中鍵盤的主要功能用于用戶輸入和修改設(shè)定的溫度。鍵盤設(shè)計(jì)的 16 個(gè)按鍵,其中 12 個(gè)鍵有定義,其余 4 個(gè)按鍵無定義。其中 09 數(shù)字用于溫度的 輸入和修改。功能鍵一個(gè)(*號(hào)鍵) ,具有雙重功能,第一次按為“設(shè)

35、定”溫度, 用于進(jìn)入設(shè)定溫度模式,第二次按為“確認(rèn)”設(shè)定溫度,用于設(shè)定溫度輸入后 的確認(rèn)。#號(hào)鍵未定義,可用于其它擴(kuò)展。其中 12 個(gè)鍵有定義,其余 4 個(gè)按鍵 無定義。 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/

36、txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 圖圖 3-4 鍵盤接口電路鍵盤接口電路 3.5 led 數(shù)碼顯示管數(shù)碼顯示管 3.5.1 多位數(shù)碼管的顯示控制 多位數(shù)碼管的顯示控制有兩種方式,即靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。本 設(shè)計(jì)中采用數(shù)碼管的動(dòng)態(tài)顯示方式。一般情況下把多位數(shù)碼管的位

37、段選線連接 在一起,用單片機(jī)的一個(gè) pi/o 口來進(jìn)行控制,再用另外一個(gè) pi/o 口的數(shù)據(jù)線 作為選通信號(hào),去分別選通 led 顯示器,采用分時(shí)方式,按順序一一讓 led 顯示,這樣才兩個(gè) pi/o 口.它就是靠高速的掃描來保證顯示。利用的是人眼的 暫留效應(yīng)。 3.5.2 鎖存器與數(shù)碼管顯示方法 在這里先介紹 74hc573 芯片,它一個(gè)鎖存器芯片,連接方法見圖 3-5 所示, p27、p26 分別控制位選和段選的 l 端,例如:當(dāng) p27(程序中的全局變量 wei)賦高電平時(shí),74hc573 輸入端口的值將直接輸送給 74hc573 芯片的輸出 端,當(dāng)輸入端變化時(shí),輸出端也變化。p27 賦

38、低電平時(shí), 74hc573 芯片將記住 最近一次 l 端口是高電平時(shí)芯片輸入端的 8 位,并將其輸出,當(dāng)輸入端變化時(shí), 輸出端不變化。在這里就可以利用鎖存器的特性使 p27 起到控制那個(gè)數(shù)碼管亮 的作用,使 p26 控制數(shù)碼管亮什么樣的數(shù)字作用。 圖圖 3-5 74hc573 芯片的連接芯片的連接 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1

39、.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 d0 2 d1 3 d2 4 d3 5 d4 6 d5 7 d6 8 d7 9 q0 19 q1 18 q2

40、 17 q3 16 q4 15 q5 14 q6 13 q7 12 le 11 oe 1 u2 74hc573 d0 2 d1 3 d2 4 d3 5 d4 6 d5 7 d6 8 d7 9 q0 19 q1 18 q2 17 q3 16 q4 15 q5 14 q6 13 q7 12 le 11 oe 1 u3 74hc573 圖圖 3-6 溫度顯示電路溫度顯示電路 4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì)主要包括有主程序分析、中斷加熱子函數(shù)分析、鍵盤輸入 程序分析、led 數(shù)碼顯示函數(shù)分析等模塊。 4.1 主程序分析主程序分析 4.1.1 主程序流圖 首先系統(tǒng)進(jìn)行初始化,清溫度緩存區(qū)中

41、的數(shù)據(jù),然后啟動(dòng) ds18b20 溫度傳 感器輸入電信號(hào),同時(shí)還要檢測(cè)此時(shí)有無按鍵按下設(shè)定溫度,如果有那么跳轉(zhuǎn) 到鍵盤掃描處理子程序,如果沒有那么將 ds18b20 結(jié)果讀入累加器中,最后十 進(jìn)制數(shù)據(jù)轉(zhuǎn)換調(diào)整,輸出到溫度顯示電路。主程序流圖如圖 4-1 開始 有鍵按下? 十進(jìn)制轉(zhuǎn)換調(diào)整 輸出顯示溫度 鍵盤掃描處理 啟動(dòng)ds18b20 初始化 清溫度緩存區(qū) y n 圖圖 4-1 主程序流圖主程序流圖 4.1.2 主函數(shù)分析 void main() tmod=0 x01; th0=(65536-30000)/256; tl0=(65536-30000)%256; ea=1; et0=1; tr0=

42、1; zd=0; num=16;aaa=0;bbb=0; num1=16;num2=16;num3=16; while(1) uint a; uchar b; changetemp(); a=gettemp(); b=scanff(); numy=gettemp(); display(a,b); 這里的 aaa 用于控制是否確定輸入的一個(gè)數(shù)字是需要的數(shù)字,bbb 用于標(biāo)記 已經(jīng)輸入到了三個(gè)數(shù)字的第幾個(gè)數(shù)字。 主函數(shù)首先將所用到的全局變量賦值,然后進(jìn)入大循環(huán)首先進(jìn)入溫度轉(zhuǎn)換 函數(shù),使 ds18b20 啟動(dòng)溫度轉(zhuǎn)換,然后獲取溫度將兩個(gè)字節(jié)的數(shù)值賦給 a,而 將輸入的溫度賦予 b ,再由 displ

43、ay(a,b)子函數(shù)輸出所有的值。 4.2 中斷加熱模塊分析中斷加熱模塊分析 采用定時(shí)器 t0,定時(shí)器設(shè)定每 30ms 中斷一次,判斷輸入的數(shù)值與采集的 數(shù)值之間的大小,如果前者較大就使 p3.1 變?yōu)榈碗娖?,從而?moc3041 啟動(dòng) 并引起加熱。如果后者大于前者,則 p3.1 還是高電平并不引起加熱。這樣就達(dá) 到了控溫的目的。程序流圖如圖 4-2 入口 保護(hù)現(xiàn)場(chǎng) 重設(shè)定時(shí)時(shí)間 當(dāng)前溫度小于設(shè)定溫度 加熱器工作 加熱器停止 加熱狀態(tài)燈滅加熱狀態(tài)燈亮 恢復(fù)現(xiàn)場(chǎng) 返回 n y 圖圖 4-2 中斷加熱程序流圖中斷加熱程序流圖 中斷加熱程序見附錄 4.3 鍵盤輸入設(shè)計(jì)鍵盤輸入設(shè)計(jì) 4.3.1 鍵盤

44、輸入方法 鍵盤的引腳由上至下分別是 p30 到 p37,第一行暫時(shí)不用,從第二行開 始使用,每一行如 p31 都與 p34、 p35、 p36 、p37,他們是線與的關(guān)系。 因此可以如此操作,對(duì)圖中第二行、第三行、第四行諸行進(jìn)行掃描。掃描第一 行時(shí) p3 口賦值為 0 xfd,即為 p31 口賦“0”,p3 的其他口賦“1”,當(dāng)?shù)诙袥]有 按鍵按下時(shí) p34、 p35、 p36 、p37 將都是高電平“1”,一旦有按鍵按下時(shí), 由于線與關(guān)系,p34、 p35、 p36 、p37 必定有一個(gè)為“0”,它們之中那一 個(gè)為“0”依次代表哪個(gè)鍵被按下。依次循環(huán)掃描三行即可時(shí)時(shí)檢測(cè)是否有鍵按下。 4.3

45、.2 鍵盤輸入的抖動(dòng)與去抖動(dòng)方法 按鍵按下都會(huì)發(fā)出一聲響,雖然有的按鍵聲音很輕微,但這都是金屬導(dǎo)體 碰撞產(chǎn)生的震動(dòng),這種現(xiàn)象稱為鍵盤抖動(dòng)。如果不對(duì)鍵盤的抖動(dòng)進(jìn)行處理,按 鍵會(huì)對(duì)系統(tǒng)電路或程序產(chǎn)生意外的干擾。 在本設(shè)計(jì)中采用軟件去抖的方法,原理是檢測(cè)兩次,第一次檢測(cè)到低電平 時(shí)延時(shí)一段時(shí)間,再檢測(cè)一次,如果還能檢測(cè)到低電平,則說明確實(shí)有鍵按下。 具體程序如下: while(temp!=0 xf0) delay(5); p3=0 xfd; temp=p3; temp=temp while(temp!=0 xf0) 上述程序是兩個(gè) while 循環(huán)之間的嵌套,第一個(gè) while()語句判斷有鍵按 下

46、后,延時(shí)一段時(shí)間再進(jìn)行判斷,如果第二次判斷也認(rèn)為有鍵按下,則可以確 認(rèn)的確有鍵盤操作,并不是抖動(dòng)。具體按下后的操作可以在后一個(gè) while 循環(huán) 中書寫。 結(jié)論結(jié)論 本文對(duì)使用at89c51單片機(jī)完成家用電熱水器控制系統(tǒng)的設(shè)計(jì)進(jìn)行完整闡 述。完成的功能主要有智能熱水器具有以下幾點(diǎn):(1)使用高清晰度數(shù)碼管顯 示水溫,范圍0102。(2)使用鍵盤方便的設(shè)定水溫,以及通過軟件方法來 消除鍵盤抖動(dòng)造成的誤差。(3)按照設(shè)定的溫度加熱到相應(yīng)水溫,還有在測(cè)溫 環(huán)節(jié)如何消除微小干擾的措施,如利用運(yùn)算放大器接成電壓跟隨器的方式來穩(wěn) 定有溫度轉(zhuǎn)換而來的電壓信號(hào)。 同時(shí),本文也有缺點(diǎn)。由于熱水器工作環(huán)境潮濕,因

47、此應(yīng)特別注意用電安 全,所以可設(shè)計(jì)一個(gè)漏電報(bào)警電路來保證使用者的安全。可以用一個(gè)磁環(huán)檢測(cè) 感應(yīng)電流的模塊,當(dāng)出現(xiàn)漏電情況時(shí),電流通過磁環(huán)的電流不平衡,于是檢測(cè) 出漏電信號(hào),經(jīng)集成電路放大、三極管倒相以后輸至單片機(jī),進(jìn)而停止加熱, 及時(shí)切斷電源。 參考文獻(xiàn)參考文獻(xiàn) 1楊文龍.單片機(jī)原理及應(yīng)用m.西安電子科技大學(xué)出版社.2000 2王守中.51 單片機(jī)開發(fā)入門與典型實(shí)例m.人民郵電出版社.2007 3孫余凱.傳感器應(yīng)用電路 300 例m.電子工業(yè)出版社.2008 4趙負(fù)圖.傳感器集成電路手冊(cè)m.北京化工出版社.2002 5郇玉龍,趙寧,盧洪武.用 at89c51 單片機(jī)設(shè)計(jì)智能家用電熱水器j.實(shí)用

48、電 子 制作.2007.第 10 期 6孫振偉,唐媛紅.基于單片機(jī)的電熱水器模糊控制j.中國科技信息.2000.第 18 期 7周鮮成.單片機(jī)在電熱水器中的應(yīng)用j.常德師范學(xué)院學(xué)報(bào)(自然科學(xué)版). 2000.第 12 卷第 4 期 8劉海英,胡衛(wèi)兵,魏軍丞.基于單片機(jī)的電熱水器定時(shí)控制器設(shè)計(jì)j.電子 元器件應(yīng)用.2007.第 9 卷.第 8 期 9jansen tj. solar engineering technology, chap. 7. new jersey: prentice-hall,inc, 2005 10雷建龍.基于單片機(jī)模糊控制的電熱水器水溫自動(dòng)調(diào)節(jié)器j.電氣自動(dòng)化. 200

49、4.第 26 卷.第 2 期 11吳永橋,施光林,金康進(jìn).新型恒溫即熱式電熱水器控制系統(tǒng)的研究與開 發(fā)j.傳感技術(shù)學(xué)報(bào).2004.第 4 期 12劉亦萍.即熱式電熱水器控制電路的設(shè)計(jì)與應(yīng)用j.機(jī)電一體化.2003.第 3 期 13 季曉芳,張春來.家用電熱水器控制系統(tǒng)的實(shí)驗(yàn)研究j.電子測(cè)試.2009.第 10 期 附錄一附錄一 中斷加熱程序分析中斷加熱程序分析 void timer0() interrupt 1 int a; th0=(65536-30000)/256; tl0=(65536-30000)%256; zd+; if(zd=6) zd=0; a=num1*100+num2*10+

50、num3; if(a=numy p3=0 xfd; jiar=0; else jiar=1; p3=0 xff; jiar=0; 附錄二附錄二 鍵盤輸入程序鍵盤輸入程序 while(temp!=0 xf0) delay(5); p2=0 xfd; temp=p2; temp=temp while(temp!=0 xf0) temp=p2; switch(temp) case 0 xed:num=0; break; case 0 xdd:num=1; break; case 0 xbd:num=2; break; case 0 x7d:num=3; break; while(temp!=0 xf

51、0) temp=p2; temp=temp/*0000 在這里使用了_crol_函數(shù),所以頭文件中要增加#include,這里包 括去抖和松手檢測(cè)。經(jīng)過檢測(cè)以后通過不同的 temp 值,使 num 被賦予相應(yīng)的 數(shù)值,這樣 num 就是要輸入的一個(gè)數(shù)字。 附錄三附錄三 led 數(shù)碼顯示模塊數(shù)碼顯示模塊 void display(uint a,uchar b) uchar i,temp,srtemp,dis4; uint dda; dda=abs(a); numx=dda/1000; num4=dda%1000/100; num5=dda%100/10; num6=dda%10; dis0=nu

52、mx; dis1=num4; dis2=num5; dis3=num6; dis2+=10;/num5 小數(shù)點(diǎn) if(dis0=0)/如果百位和十位都為 0 不顯示 if(a0)/負(fù)值 后面加個(gè)小數(shù)點(diǎn) dis3+=10; else if(dis0!=0)/超過 100 前面加小數(shù)點(diǎn) dis1=dis1+10; temp=0 xfb; for(i=1;i4;i+) p0=0 xff; wei=1; temp=_crol_(temp,1); p0=temp; wei=0; p0=0; duan=1; p0=tabledisi; duan=0; delay(3); duan=1; p0=0 x00;

53、 duan=0; if(aaa=1 switch(bbb) case 0: dis1=b; num1=b; dis2=num2; dis3=num3; if(dis2=21) dis2+; else dis2+=10; srtemp=0 xfe; for(i=1;i4;i+) p0=0 xff; wei=1; p0=srtemp;/wein 打開后 是低電平亮 wei=0;/ srtemp=_crol_(srtemp,1); p0=0 x00; duan=1; p0=tabledisi; duan=0; delay(1); duan=1; p0=0 x00; duan=0; break; case 1: dis1=num1; dis2=b; num2=b; dis3=num3; if(dis2=21) dis2+; else dis2+=10; srtemp=0 xfe; for(i=1;i4;i+) p0=0 xff; wei=1; p0=srtemp;/wein 打開后 是低電平亮 wei=0;/ srtemp=_crol_(srtemp,1); p0=0 x

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論