版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
基于單片機的電飯煲控制系統(tǒng)設(shè)計和實現(xiàn)目錄摘要 51緒論 61.1背景及發(fā)展 61.2課題任務(wù)及意義 62智能電飯煲控制系統(tǒng)整體設(shè)計方案 62.1智能電飯煲控制系統(tǒng)簡介 62.2智能電飯煲控制系統(tǒng)電路組成 72.3本章小結(jié) 83智能電飯煲控制系統(tǒng)硬件設(shè)計 83.1控制系統(tǒng)單片機最小系統(tǒng)工作電路 83.1.1AT89C51單片機的引腳及其排列 93.1.2at89c51MCU時鐘信號控制電路框圖 103.1.3AT89C51單片機復(fù)位電路 113.1.4控制系統(tǒng)單片機最小系統(tǒng)電路設(shè)計 123.2控制系統(tǒng)電源電路 133.2.1穩(wěn)壓器件78L05簡介 133.2.2電源電路設(shè)計 143.3按鍵輸入電路 143.3.1按鍵分類 143.3.2按鍵結(jié)構(gòu)與特點 153.3.3按鍵輸入電路設(shè)計 153.4溫度傳感器電路 163.4.1DS18B20簡介 163.4.2DS18B20的使用方法 173.4.3溫度傳感器電路設(shè)計 193.5LED狀態(tài)指示電路 193.5.1LED簡介 193.5.2狀態(tài)指示電路設(shè)計 203.6LCD顯示電路 213.6.1LCD-1602簡介 213.6.2LCD顯示電路設(shè)計 223.7電飯鍋加熱電路 233.8本章小結(jié) 244智能電飯煲控制系統(tǒng)軟件設(shè)計 254.1軟件整體結(jié)構(gòu)設(shè)計 254.2子程序設(shè)計 264.2.1系統(tǒng)工作模式控制流程 264.2.2定時功能控制流程 264.2.3加熱功能控制流程 284.3本章小結(jié) 285智能電飯煲控制系統(tǒng)的仿真驗證 295.1本章小結(jié) 32結(jié)論 32參考文獻 33附錄 34附錄1:智能電飯煲控制系統(tǒng)電路原理圖 34附錄2:智能電飯煲控制系統(tǒng)軟件源程序清單 34
摘要:本次設(shè)計所完成的課題目標(biāo)是要求我們以AT89C51單片機作為主要核心部件和設(shè)備的智能家用電飯煲自動控制系統(tǒng)。首先,簡要解釋了電飯煲的產(chǎn)品發(fā)展歷史,分析了電飯煲未來在國內(nèi)的發(fā)展方向和趨勢,以及智能電飯鍋在當(dāng)前市場上的優(yōu)缺點。此外,對智能家用電飯煲自動控制系統(tǒng)的總體設(shè)計方案也作出了分析,最后確定了一套關(guān)于智能家用電飯煲控制系統(tǒng)的總體設(shè)計方案。其次,為了滿足現(xiàn)如今家用電器智能性、實用性、降低成本,環(huán)保和節(jié)能性的需求,我們已經(jīng)詳細(xì)設(shè)計了智能電飯鍋控制系統(tǒng)的各個模塊。它根據(jù)功能要求區(qū)分硬件和軟件,并詳細(xì)說明每個部分的工作方式和實現(xiàn)方式。經(jīng)過驗證后的結(jié)果表明,該智能控制系統(tǒng)能夠?qū)崿F(xiàn)定時煮飯,自動保溫以及自動進入節(jié)能模式等功能。關(guān)鍵詞:智能控制,電飯煲,單片機,Proteus1緒論1.1背景及發(fā)展1965年,美國洛杉磯扎德(Zadeh)教授提出了模糊集與自動控制相結(jié)合的理論。模糊控制理論在本世紀(jì)迅速興起和發(fā)展。模糊控制理論伴隨著計算機的發(fā)展,逐漸應(yīng)用到智能控制領(lǐng)域,進而,智能電飯煲迎來了一個新的發(fā)展趨勢。智能電飯煲不僅可以實現(xiàn)簡單的烹飪功能,還可以通過集成煮飯,煮粥,煮湯等各種功能來完成各種工作模式,并且具有預(yù)約和節(jié)能加熱的功能,節(jié)省煮飯時間并簡化烹飪過程。1.2課題任務(wù)及意義本次課題主要目的是實現(xiàn)智能電飯煲的三大功能,首先就是定時煮飯功能,其次是自動加熱功能和節(jié)能模式。該課程使用AT89c51單片機來構(gòu)造該智能系統(tǒng),通過溫度傳感器等模塊的有效配合來實現(xiàn)各個功能的正常運行。該智能電飯煲會在預(yù)先下達煮飯命令后進行煮飯工作。當(dāng)煮飯任務(wù)結(jié)束后會自動進入保溫模式,然后根據(jù)保溫時間的長短會進入節(jié)能模式。并且根據(jù)溫度的變化自動調(diào)節(jié)加熱模式的開啟與閉合。該系統(tǒng)自動化水平較高,符合人性化的設(shè)計,能夠滿足人們?nèi)粘I钪袑χ悄芑娖鞯男枨?,有利于提高了人們的生活水平?智能電飯煲控制系統(tǒng)整體設(shè)計方案2.1智能電飯煲控制系統(tǒng)簡介該智能控制管理系統(tǒng)基于一個數(shù)控單片機,它是一個智能關(guān)鍵輸入控制電路單元,并通過結(jié)合了其他諸如控制按鈕,溫度傳感器等各種輸入控制電路以及其他加熱和降溫狀態(tài)信息顯示之類的各種輸出控制電路,從而基本實現(xiàn)了智能電飯煲的內(nèi)部智能自動控制。該操作系統(tǒng)通??梢匀N操作方式進行操作比如電飯鍋:"加熱","湯"和"煮飯"。在每種工作模式下,控制溫度系統(tǒng)均與炊具鍋蓋溫度傳感器系統(tǒng)結(jié)合一起使用,以自動溫度調(diào)節(jié)炊具火力并自動限制使用炊具。在系統(tǒng)設(shè)定的最高烹飪溫度控制范圍內(nèi)每當(dāng)完成一次烹飪后,它將自動切換到加熱狀態(tài)。該計時控制管理系統(tǒng)與單片機的工作計時模塊功能相互結(jié)合,可以為你的烹飪工作自行設(shè)置一個烹飪時間,當(dāng)你所設(shè)置的烹飪時間全部用完時,它們就會自動進行切換并回到系統(tǒng)預(yù)定的一個烹飪時間工作計時模式。該自動控制顯示系統(tǒng)能夠與LED兩種模塊結(jié)合一起使用,以通過實時信息顯示智能電飯鍋的具體工作原理,而且是當(dāng)與它和LCE液晶電視顯示器系統(tǒng)結(jié)合一起使用時,它不僅可以實時顯示更多樣的信息。包括開機時間,運行系統(tǒng)狀態(tài),故障事件警報和其他詳細(xì)信息。電飯煲整體控制面板結(jié)構(gòu)如下列圖片2-1所示,主要模塊包括電子顯示屏,工作狀態(tài)知識燈和控制按鍵幾個部分。該智能控制管理系統(tǒng)大大提高了智能電飯鍋的操作自動化,智能化和滿足人性化需求的特點,不僅使用起來很方便,而且在安全問題方面也有很高的提升。圖2-1智能電飯煲控制系統(tǒng)操作面板效果圖2.2智能電飯煲控制系統(tǒng)電路組成控制電路系統(tǒng)主要可以有三種基本的控制電路元件構(gòu)成:第一個指的是電源輸入輸出控制電路,第二個是單片機的輸入輸出控制電路和一個基于單片機的輸入輸出控制電路,如下列圖片2-2所示。電源控制電路把220V的三相交流電通過變頻器轉(zhuǎn)換成5V的直流電,以便于提供電流給一個用于控制變頻系統(tǒng)的專用電源。單片機的按鍵輸入輸出電路主要組成包括一個按鍵信號輸入輸出電路,頂蓋式溫度傳感器的按鍵輸入輸出電路,復(fù)位式信號輸出輸入電路和一個時鐘式信號輸出輸入電路。單片機的驅(qū)動輸出控制電路主要功能包括一個lcd信號顯示控制電路,led顯示工作時的狀態(tài)信號顯示控制電路及一種用于自動加熱臺式電飯鍋的微型單片機驅(qū)動輸入輸出信號狀態(tài)顯示控制電路。圖2-2智能家用電飯煲自動控制器的系統(tǒng)部件組成框架圖2.3本章小結(jié)本章從一個系統(tǒng)總體設(shè)計的角度考慮出發(fā),首先,我們確定了該控制系統(tǒng)是自動控制與模糊理論相結(jié)合而產(chǎn)生的。該系統(tǒng)運用一塊數(shù)控單片式單片機為主要控制核心的模糊控制元件,結(jié)合控制按鍵,溫度控制傳感器和控制器等軟硬件綜合設(shè)計,使得一臺電飯煲系統(tǒng)能夠輕松實現(xiàn)"保溫"、"煲湯"、"煮飯"等多種控制功能。3智能電飯煲控制系統(tǒng)硬件設(shè)計智能臺式電飯鍋硬件控制驅(qū)動系統(tǒng)的主要組成硬件控制電路根據(jù)其主要功能范圍大小不同可以大致細(xì)分如下為7個組成部分,即進入控制驅(qū)動系統(tǒng)中輸入單片機最小值的操作溫度電路,控制驅(qū)動系統(tǒng)的輸出電源和控制按鍵進入輸出控制電路,溫度傳感器。led電源狀態(tài)自動指示控制電路,lcd狀態(tài)顯示控制電路和智能電飯煲電源加熱控制電路。3.1控制系統(tǒng)單片機最小系統(tǒng)工作電路本設(shè)計選擇AT89C51單片機作為核心控制芯片。AT89C51是一款低電壓,高性能CMOS8位微處理器,具有可編程和可擦除只讀存儲器,通常被稱為單芯片微型計算機。單片機的只讀可重復(fù)擦除數(shù)據(jù)存儲器,每分鐘可同時重復(fù)進行擦除1000次。該系列器件產(chǎn)品不僅集成密度很高,而且在結(jié)構(gòu)上也很堅固,不易損壞,并且可以兼容于符合行業(yè)標(biāo)準(zhǔn)的MCS-51指令集及其輸入輸出引腳。AT89C51在一個32位硬件控制芯片上充分地利了一個多功能8位閃存cpu和64位閃存,是一種高效的小型通用微控制器。AT89C51單片機已經(jīng)給其他嵌入型的控制系統(tǒng)提供了一個靈活又便宜的基本解決辦法。在本文的系統(tǒng)設(shè)計中,鑒于其使用經(jīng)濟性及設(shè)備實用性的程度,選取了AT89C51單片機可以作為現(xiàn)代智能家用臺式電飯鍋自動控制管理系統(tǒng)的主要一個核心組成部分用以進行自動控制。3.1.1AT89C51單片機的引腳及其排列AP0端口:P0端口是一個8位漏極電平開路雙向I/O端口,每個引腳可以直接吸收8TTL柵極電流。當(dāng)端口P0上的一個引腳首次寫入1時,它被定義為高阻抗輸入。P0可用直接用作外部程序數(shù)據(jù)存儲器,并且它也可以被定義為一個數(shù)據(jù)/地址的第8位。在FIASH編程期間,端口P0用作原始代碼輸入端口,并且當(dāng)選中FIASH時,P0輸出原始代碼。此時,必須將P0的外部拉高。端口p1:端口p1是一個帶有內(nèi)部上拉穩(wěn)壓電阻的8位雙向模擬i/o輸入端口。將一個p1端口的引腳寫為1后,內(nèi)部將其上拉為高并將它作為一個輸入,當(dāng)外部將其從p1端口下降并拉到一個小的低電平時,將其作為輸出。在進行程序編程及數(shù)據(jù)驗證期間,端口中的p1被程序接受了并成為第八位存儲地址。端口p2:端口中的p2是一個同時具有內(nèi)部上或下拉穩(wěn)壓電阻的8位雙向端口i/o數(shù)據(jù)端口,可以從這個雙向端口p2接收數(shù)據(jù)到一個緩沖區(qū)。輸出4個ttl柵極管并輸出輸入電流。如果一個輸入端口上的p2寫"1",則端口會自動使該引腳被內(nèi)部的上或下拉穩(wěn)壓電阻電路觸發(fā)而拉高,并且端口可以直接用作射頻輸入。因此,當(dāng)它被用作一個電流輸入時,端口位于p2的引腳的值會在外部時被拉低以便于獲得一個進入輸出端的電流。它主要原因是由于內(nèi)部的上壓下拉結(jié)構(gòu)造成。p3端口:p3端口引腳內(nèi)部是8個雙向整流i/o輸出端口,帶有內(nèi)部的上拉整流電阻,能夠同時接收和控制輸出4個點在ttl柵極上的電流。rst:復(fù)位后的輸入。當(dāng)系統(tǒng)輸入的一個自動復(fù)位控制信號以一個高電平不斷地重復(fù)持續(xù)運行超過某一個單片機器工作周期時有效,并且它可以廣泛用于直接完成對整個單片機硬件進行自動復(fù)位和硬件初始化。ale/prog:當(dāng)我們需要訪問外部地址存儲器時,地址鎖存器所提供允許的一個進入輸出鎖定電平就是我們用來用于鎖定保存這個存儲地址的一個特定狀態(tài)值的字節(jié)。在進行flash程序編程期間,此引腳被自動設(shè)置為一個用來中斷輸入一個程序編程器的脈沖。但是,無論何時我們使用它自身來將其作為外部的一個數(shù)據(jù)緩沖存儲器,它們自身都會自動不斷跳過一個alee的脈沖。若要同時禁用一個ale的地址輸出,可以把alsfr8eh兩個地址的輸出值分別設(shè)置為0到0。此時,僅當(dāng)我們需要執(zhí)行一個movx并且執(zhí)行movc并將指令轉(zhuǎn)換成一個ale時應(yīng)該ale指令才有效。同樣,該引腳也可能會被輕輕地向下拉起。若兩個微處理器同時處于一個禁止外部指令執(zhí)行的特殊狀態(tài)例如ale,則這種狀態(tài)設(shè)置不能正常。ea/vpp:如果/ea被控制器程序保持在一個小的低電平,則無論該控制程序是否有效或沒有內(nèi)部的任何程序文件存儲器,外部的所有程序文件存儲器均有效。在一個內(nèi)部加密的應(yīng)用模式1中,/ea將內(nèi)部加密數(shù)據(jù)電平鎖定為/ereset,如果/ea在兩端子之間能夠繼續(xù)保持一個新的高電平,則此處的內(nèi)部加密應(yīng)用程序?qū)Υ鎯ζ饔行?。在一個flash的可編程期間,該引腳還通??梢杂脕碜鳛橐粋€直流施加12v的可編程的直流電源(VPP)。xtal1:外部反相時鐘振蕩器信號放大器的信號輸入及內(nèi)部反相時鐘信號運算控制電路的信號輸出。XTAL2:反相振蕩器的輸出。振蕩器特性:xtal1與新的xtal2分別提供作為兩個反相信號放大器的低通輸入與正相輸出。反相信號放大器也也可以被直接配置為集成片內(nèi)式反相振蕩器。石材磚的振動及其他陶瓷磚的振動都有可能被廣泛使用。如果我們需要使用外部的一個時鐘信號源將它作為一個驅(qū)動控制裝置,則我們時鐘不應(yīng)與它的xtal2連接。內(nèi)部的分頻時鐘控制信號其余的電流輸入必須由外部二分頻時鐘觸發(fā)器件來進行,因此不再規(guī)定需要外部的分頻時鐘控制信號輸入脈沖區(qū)的寬度,但是輸入脈沖的電流高電平和脈沖低電平之間所占的需要輸入脈沖區(qū)的寬度可以作為輸入保障。3.1.2at89c51MCU時鐘信號控制電路框圖xtal1與電路xtal2分別控制作為兩個反相信號放大器的瞬時輸入與正相輸出。反相信號放大器也可以被直接配置為集成片內(nèi)式反相振蕩器。如果我們需要使用外部的一個時鐘信號源將它作為一個驅(qū)動控制裝置,則我們的時鐘不應(yīng)與它的xtal2連接。其余的脈沖輸入由一個二分頻脈沖觸發(fā)器直接控制連接至內(nèi)部的脈沖時鐘轉(zhuǎn)換信號,因此不一定需要外部脈沖時鐘轉(zhuǎn)換信號的外部脈沖時間寬度,但是在脈沖的外部高電平和脈沖低電平之間所連接需要的外部脈沖時間寬度可以作為輸入保障。集成電路軟件結(jié)構(gòu)圖可參見軟件圖3-1。圖3-1AT89C51時鐘電路3.1.3AT89C51單片機復(fù)位電路 at89c51的啟動和復(fù)位引腳采用施密特啟動信號輸入。振蕩器開始振動后,連續(xù)兩個工作機械周期下,向rst引腳輸入一個高電平將使得器件處于復(fù)位。按照at89c51的復(fù)位電路特性,設(shè)計了一種復(fù)位控制電路,如圖3-2所示。圖3-2AT89C51單片機復(fù)位電路在電路中,串聯(lián)連接C1和R1并連接到RST引腳。上電時,電容器經(jīng)過一個電阻進行充電,并且在正負(fù)荷的脈沖下出現(xiàn)了一個復(fù)位引腳。如果脈沖寬度足夠?qū)?則可以重置微控制器。為了滿足單片機AT89C51的的復(fù)位需求,我們選用了晶體振蕩器和電容器以及電阻器,分別是24m,10uf和10k的電阻器。3.1.4控制系統(tǒng)單片機最小系統(tǒng)電路設(shè)計根據(jù)上述實例分析,該系統(tǒng)設(shè)計中微型單片機及微控制器系統(tǒng)結(jié)構(gòu)設(shè)計如框圖3-3所示。復(fù)位集成電路采用了更簡單的RC復(fù)位電路,可以為AT89C51微控制器提供10ms或更高電平的復(fù)位脈沖。時鐘控制電路主要采用外部晶體振蕩器模式,該時鐘振蕩器控制電路由24m晶體振蕩器和兩個30pf電容器共同組成。由于p0端口的特殊結(jié)構(gòu),在此電路中,po端口的一個部分接口導(dǎo)線被廣泛應(yīng)用于控制器的數(shù)據(jù)輸入,因此在本次的設(shè)計中,將10k電阻作為一個上拉電阻。圖3-3智能電飯煲控制系統(tǒng)單片機最小系統(tǒng)電路3.2控制系統(tǒng)電源電路 該智能控制電路設(shè)計的智能電飯煲需要5v直流電源供電的移動電源。本電路工程設(shè)計中,5v的電壓不足以支持電路進行各種變壓和整流,所以選用了220v的電壓進行多次變壓才能滿足要求。其中,核心期間元件是用于作為一個三端的直流穩(wěn)壓元件78l05。3.2.1穩(wěn)壓器件78L05簡介78l05為常見的三端式穩(wěn)壓器。78l05中的05是信號輸出電壓為5v,78l05的輸入和紋波都是非常小,并且輸出功率質(zhì)量可以滿足大多數(shù)設(shè)備的需求。(1).輸出電壓范圍在調(diào)節(jié)器內(nèi)部可以正常運行的條件下,指標(biāo)的參考電壓上限由最大輸入電壓與最低輸入和最高輸出電壓之間的參考電壓相差確定,下限由調(diào)節(jié)器內(nèi)部參考電壓確定。(2).最大輸入/輸出電壓差該指標(biāo)是用來表示一個穩(wěn)壓器在正常運行條件下所能夠容納的最高輸入和輸出電壓之間的偏差,這種偏差很大程度上是由穩(wěn)壓器內(nèi)部可以調(diào)節(jié)的晶體管耐壓性指標(biāo)決定的。(3).最小輸入/輸出電壓差該指示器用來指示穩(wěn)壓器在正常運行條件下所需最小的輸入與輸出之間的電壓誤。(4).輸出負(fù)載電流范圍輸出的負(fù)載的電流范圍也可以被稱為輸入的電流范圍,并且在此輸入的電流范圍內(nèi),穩(wěn)壓器必須能夠符合索引規(guī)格中指定的指標(biāo)。三端固定集成穩(wěn)壓器電路的輸出電壓是固定的,通常使用CW7800/CW7900系列。W7800系列輸出正電壓,輸出電壓具有11個5V,6V、7V、8V、9V、10V、12V、15V、18V、20V和24V等級。該系列的輸入和電壓等級劃分為5級,7800系列的輸入功率等級為1.5a,78M00為0.5A,78L00為0.1A,78T00為3A,78H00為5A。w7900系列與其他w7800系列之間最大區(qū)別主要在于其進入輸出來源電壓分別是正或是負(fù)。三端反饋穩(wěn)壓器的主要基本工作電路原理和使用方法與上面關(guān)于使用串聯(lián)端和反饋穩(wěn)壓電源的主要工作電路原理大致相同,它一般只能區(qū)別分為三個端的輸入,輸出和一個公共端。輸入輸出端直接通過一個高頻整流器的濾波輸入電路,輸出輸入端直接通過一個電路連接點達到電路負(fù)載,公共端直接通過一個電路連接點達到電路輸入和負(fù)載輸出的公共電路連接點。電容器的輸入并聯(lián)電路連接于具有輸入和輸出送電兩個連接端子和位于公用電源輸出兩個端子之間,以確保穩(wěn)定運行。當(dāng)使用三端式穩(wěn)壓器的時候,必須在其中添加一個散熱器。否則,它將不再是在額定的電流下正常工作。7805的一個典型的應(yīng)用電路結(jié)構(gòu)如圖3-4所示。輸入和輸出兩個端口分別設(shè)置為0.33uf和0.1uf非極性電容器,以提高優(yōu)化輸出功率質(zhì)量。圖3-47805典型應(yīng)用電路3.2.2電源電路設(shè)計此設(shè)計方案中電源控制系統(tǒng)的應(yīng)用電源控制集成電路的基本設(shè)計軟件框圖結(jié)構(gòu)如下圖見表3-5所示。通過它的j1將220v高頻交流電源值連接到交流輸出端的有源電路,然后再通過有源逆變器上的t1將220v的有源電壓值下降到8.5v的高頻交流有源電壓。低頻的交流信號電壓n1經(jīng)過全波信號整流,從而可以產(chǎn)生高頻率的脈動式三相直流電壓。通過使用低壓差分式穩(wěn)壓器的電源芯片78l05的所有直流電源都是在需要使用5v值的直流電源,且其中的紋波振蕩系數(shù)較小時況下才能穩(wěn)定。圖3-5控制系統(tǒng)電源電路3.3按鍵輸入電路3.3.1按鍵分類按鈕按鍵的結(jié)構(gòu)和工作原理大致可以劃分為兩種。一個指的是接觸式啟動器開關(guān)按鈕,例如機械式啟動器開關(guān),導(dǎo)電式橡膠啟動器開關(guān)等,另一個指的就是非接觸式啟動器開關(guān)按鈕,例如電子式啟動器開關(guān),磁性傳感器開關(guān)等。前者的價格較便宜,而后者的使用壽命較短。當(dāng)前,微型計算機系統(tǒng)中最常見的開關(guān)式按鈕種類之一就是接觸式開關(guān)。在本文的設(shè)計中,使用了一個直接接觸式開關(guān)的按鈕,電路原理圖中的公共符號如圖3-6所示。圖3-6觸點式開關(guān)按鍵3.3.2按鍵結(jié)構(gòu)與特點鍵盤一般都會選擇采用機械式的電子接觸通斷按鍵作為開關(guān),而且其主要功能作用就是將存在電子式的邏輯關(guān)系中的機械式接觸通斷關(guān)系變成了電子式的邏輯關(guān)系。換言之,它就是一個可以提供給定通用標(biāo)準(zhǔn)的ttl數(shù)字邏輯輸入電平相同的兩個通用標(biāo)準(zhǔn)數(shù)字邏輯系統(tǒng)值并提供一個相應(yīng)的數(shù)字邏輯輸入電壓水平。在一個機械具有彈性的壓力作用下再次按下或連續(xù)釋放具有機械彈性摩擦力的電動按鈕往往可能會因為伴隨著持續(xù)一段時間內(nèi)的觸點而不斷產(chǎn)生機械振動,從而使觸點穩(wěn)定。抖動的過程大致如下圖所示,抖動持續(xù)時間的增加和長短與啟動器的機械運行性能密切相關(guān),通常為5到10ms。圖3-7是接觸鍵開關(guān)的機械抖動示意圖。圖3-7觸點式按鍵開關(guān)機械抖動示意圖在接觸點產(chǎn)生振動時,同步檢測一個按鈕on/off狀態(tài),這可能會造成判斷錯誤。必須采取防抖措施,以克服因按鍵觸點內(nèi)部產(chǎn)生的機械震蕩而引起的錯誤檢查。我們可從硬件或者軟件兩個方面進行考量。如果按鍵的數(shù)量很少,則可以使用硬件防反跳;如果按鍵的數(shù)量很大,則可以使用軟件的反跳。例如,當(dāng)一臺單片機正常工作時,有一個外部的鍵盤會向用戶輸入一個信號,并且在這時候,當(dāng)它可以檢測得到哪一個鍵是否被用戶按下,單片機就會執(zhí)行一個相應(yīng)的操作程序。3.3.3按鍵輸入電路設(shè)計系統(tǒng)的鍵盤由五個獨立的鍵盤組成,其中包含一個設(shè)備進行中斷。全自動控制的智能家用電飯鍋。鍵盤的一個引腳與微控制器中的p1.0到p1.5引腳,另一個引腳與電源地相連。當(dāng)您再次按下該鍵盤時,此刻該鍵的高電平將通過傳感器發(fā)送給微控制器。為了徹底消除接觸鍵啟動開關(guān)的機械抖動,單片機內(nèi)部設(shè)置了一個程序,它可以徹底消除抖動,檢查是否按下了哪個鍵盤,然后運行該程序以徹底完成系統(tǒng)的任務(wù)??刂葡到y(tǒng)中的鍵盤訪問電路結(jié)構(gòu)如圖3-8所示。圖3-8控制系統(tǒng)鍵盤輸入電路3.4溫度傳感器電路3.4.1DS18B20簡介ds18b20數(shù)字流式溫度計系統(tǒng)采用美國dallas公司設(shè)計生產(chǎn)的1-wire控制器件,即單總線控制元件,電路簡單,體積小。因此,使用它們對于構(gòu)造一個完全具有簡易控制電路的電子溫度自動檢測控制系統(tǒng)很方便,并且?guī)讉€這樣的數(shù)碼式電子溫度計都同樣可以直接懸掛在用于無線通信的專用電纜上。DS18B20是具有以下獨特功能的產(chǎn)品:(1)僅需一個端口即可實現(xiàn)通訊。(2)DS18B20上的每個設(shè)備都有其自己的序列號。(3)在實際的應(yīng)用中,無需外部零部件就能夠直接進行溫度計的測量。(4)測量溫度范圍是零下55攝氏度到125攝氏度(5)用戶可以在9到12位之間選擇數(shù)字溫度計的分辨率。(6)有內(nèi)部溫度上限和下限警報設(shè)置。DS18B20提供兩種封裝:T0-92封裝和8引腳SOIC封裝。每個封裝的樣式和引腳分配如圖3-9所示,引腳功能說明如表3-10所示。圖3-9 DS18B20的引腳排列表3-10DS18B20詳細(xì)引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)發(fā)出輸入信號、輸出信號引腳。開漏式的單總線采用接口引腳。而且它應(yīng)當(dāng)被指定使用在一個電源寄生的直流電源下,也就是它仍然可以為該電源器件的最長工作時間來提供一個新的電源。3VDD可以被任意選擇的引腳vdd。但是當(dāng)它們都必須是同時工作在一個寄生器的電源上時,此引腳之間必須相同或者相互接地。3.4.2DS18B20的使用方法ds18b20具有嚴(yán)密的網(wǎng)絡(luò)通訊安全協(xié)議,以便于確保其相關(guān)數(shù)據(jù)信息傳遞的安全準(zhǔn)確性與完整。該寫入?yún)f(xié)議軟件可以同時定義多個信號寄存器中每個信號的不同時間寫入順序,例如每個寄存器信號初始化的寫入時序,讀出的寫入時序和每個寄存器的信號寫入讀出時序。每次運行命令與主機數(shù)據(jù)的一次傳輸從每臺主機自動地運行開始一并編寫命令序列。如果單個數(shù)據(jù)總線上的設(shè)備可能需要同時主機發(fā)回多個數(shù)據(jù),則在一個系統(tǒng)主機執(zhí)行一個個讀寫數(shù)據(jù)命令之后,主機就不得不通過啟動程序讀出單個數(shù)據(jù)的啟動序列。而且同一數(shù)據(jù)與多個命令同時傳輸?shù)膬?yōu)先級相對較低。(1)ds18b20的一個復(fù)位運算程序及其序列號的結(jié)構(gòu)圖形式如下程序表3-11所示。圖3-11DS18B20的復(fù)位時序(2)DS18B20的讀取時序如圖3-12所示。ds18b20的讀寫時序可以分為兩個步驟:讀取0的時序和1的讀寫過程。ds18b20讀時隙,必須在15秒內(nèi)自動拉下釋放一個新的單條數(shù)據(jù)總線,以便保證ds18b20在從另外一臺虛擬主機上自動釋放拉下這個新的單條數(shù)據(jù)總線后,能夠?qū)⑺械闹鳈C數(shù)據(jù)都自動傳輸并讀出來。ds18b20完成了每次讀取一個整數(shù)序列的計算過程后,至少每次間隔60us計算才能夠繼續(xù)進行。圖3-12DS18B20的讀時序(3)DS18B20的寫時序?qū)τ赿s18b20的編譯和寫時序仍可以劃分為編譯0時序和1寫時序兩個步驟,如圖3-13所示。圖3-13DS18B20的寫時序ds18b20的對于寫入0時序和對于寫入1時序的要求是有所區(qū)別。寫入0時序時,您可以根據(jù)需要把單個總線拉低到至少60us,以便ds18b20可以正確地采樣io總線上的"0"電平。將單個射頻總線的釋放頻率范圍拉低后,必須一定要在15us內(nèi)重新開始釋放一個單總線。3.4.3溫度傳感器電路設(shè)計根據(jù)上圖ds18b20溫度傳感器的應(yīng)用特點,本文所設(shè)計的溫度傳感器軟件集成電路硬件設(shè)計方案為例。如圖3-14所示。電源用于直接為DS18B20供電。為了提高DS18B20的讀寫能力并減少通信傳輸錯誤,R7被設(shè)置為上拉電阻。圖3-14溫度傳感器電路3.5LED狀態(tài)指示電路 本系統(tǒng)在設(shè)計中,led狀態(tài)指示電路是一種用來實時地指示智能家居鍋爐粥的正常工作運行狀態(tài)。3.5.1LED簡介 LED或發(fā)光二極管是一種使用復(fù)合材料創(chuàng)建PN結(jié)的光電器件。它同時具有p和pn兩種結(jié)構(gòu)元器件的互相放大性和電位化特性,即它和i-v互相放大。i-v的電路特點能夠表現(xiàn)出電子顯示器和pn元件的性能指標(biāo),能夠反映各種電路特性。換言之,施加正偏置的接觸電壓可能會直接造成低于接觸點的電阻,反之亦然。典型led的i-v特性曲線結(jié)構(gòu)如圖3-15所示,并具有以下特性。(1).負(fù)死區(qū):點a是v0的開始和負(fù)活動電壓。當(dāng)v<va時,由于受到載流子的擴散,所施加的勢壘電場可以克服許多的勢壘,并且此時的R非常大。每個LED的導(dǎo)通電壓具有不同的值,GaAs為1V,紅色GaAsP為1.2V,GaP為1.8V,GaN為2.5V。(2).正向工作區(qū):施加電流if與其所施加的飽和電壓之間呈現(xiàn)一個指數(shù)性的關(guān)系。如果v>0,則v>vf的正工作區(qū)域if隨vf的增加而增加。(4).反向擊穿電壓范圍v<-vr,vr稱為逆向擊穿電壓;vr電壓與ir相對應(yīng),這是一個反向泄露電流。例如,當(dāng)反向偏壓繼續(xù)增加導(dǎo)致v<-r時,則會出現(xiàn)ir突然變大而再次發(fā)生擊穿。由于使用的化合物原子和材料的種類差異,各個led的反向打孔擊穿的電壓vr也不相同。圖3-15LED的I-V特性3.5.2狀態(tài)指示電路設(shè)計根據(jù)LED的I-V特性,當(dāng)LED完全點亮?xí)r,電流會急劇增加。因此,在使用過程中需要向LED添加一個限流電阻。狀態(tài)指示器電路設(shè)計如圖3-16所示。圖中有5個LED指示燈,每個LED指示燈指示智能炊具的電源開關(guān)狀態(tài)和計時狀態(tài)。并且有三種操作模式:煮飯、加熱,保溫其中,R9至R13是限流電阻,其值選擇為5.1K。圖3-16控制系統(tǒng)狀態(tài)指示電路3.6LCD顯示電路本系統(tǒng)在設(shè)計中選擇lcd-1602作為一個顯示器件,它能夠及時向使用者傳遞各種信息,用來即使關(guān)注電飯煲工作的狀態(tài)。其中包括定時時刻表顯示、工作模式顯示、故障提醒等。3.6.1LCD-1602簡介液晶圖形文字顯示器是由5個橫向點列和7個縱向點列組合而成,來輸出文字,因而具有顯示字符多,功耗低,色彩豐富的特點。據(jù)顯示容分類,可以分為1行和2行,均為2x8的字節(jié)顯示。LCD-1602共有16個引腳,每個引腳的功能如下。引腳1:VSS是接地電源。引腳2:VDD連接到5V正電源。引腳3:V0是一個通常用于同時控制兩個液晶lcd顯示器電源對比度電壓調(diào)整器的端子,連接兩端到其中的一個正電源時候它們的電源對比度最低,而且在與正電源兩端接地的那個時候它們的電源對比度也是最高的。引腳4:RS選擇寄存器,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器。引腳5:RW是一條支持讀寫的數(shù)字信號傳輸接口,讀和寫運算為一個高電平,寫和讀運算為一個低電平。例如,當(dāng)您的rs或rw均顯示為一個自動低電平時,您就仍然可以在其上自動編寫一個命令或者在其上自動顯示它的位置;但是例如,當(dāng)rs為一個低電平,rw為一個高電平。引腳6:E穩(wěn)壓端子指的是模塊作為一個正?;顒拥姆€(wěn)壓端子,當(dāng)這個E端子由一個高電平轉(zhuǎn)換成了低穩(wěn)壓電平時,lcd三個模塊就一定會自動執(zhí)行這個活動命令。引腳7至14:D0至D7是8位雙向數(shù)據(jù)線。15至16號引腳:bla(bl1):led背光陽極。如果我們需要進行背光時,則將bla與限流電阻相互串聯(lián),直至連接到vdd,并且blk相互接地。被檢測模塊的背光電流大小約為50ma,通常可以直接至數(shù)十歐姆之間的電阻。BLK(BL2):LED背光源接地。3.6.2LCD顯示電路設(shè)計 此設(shè)計的LCD顯示電路設(shè)計如圖3-17所示。p0.0連接至lcd-1602的寄存器選擇端子(rs),p0.1連接至lcd-1602的讀/寫選擇端子(RW),P0.2連接到使能端子(E)。端口p2用作兩個并行的數(shù)據(jù)端口,用于分別將兩個lcd-1602的引腳d0-d7相連接。由于這個端口p0是準(zhǔn)輸入和輸出的端口,因此它們之間沒有內(nèi)部的上拉電阻,因此可能需要在該引腳p0.0-p0.3上重新添加一個上拉電阻。在此電路中,使用10K上拉電阻,即圖中的R3-R5。圖3-17LCD顯示電路設(shè)計3.7電飯鍋加熱電路 由于電飯鍋通常采用加熱板或者是加熱園盤作為主要的加熱元件,加熱板應(yīng)直接與直流電壓相連接,用來實現(xiàn)電生熱,從而實現(xiàn)煮飯的功能。加熱盤的功率通常在1500w以上,因此電飯鍋的工作容量和電流也相對較大。所以控制系統(tǒng)必須專門地設(shè)計用于驅(qū)動和控制加熱模塊的電路,如圖3-18所示。圖3-18加熱盤在本電路設(shè)計中的它使用了一個繼電器電流帶動的高頻加熱盤和220v的高頻交流電源相互進行接通。其形成原因主要因素有二,一個就是繼電器在正常工作時需要具有驅(qū)動電流大,控制簡單,穩(wěn)定可靠等重要特性,適宜在臺式電飯煲中正常使用,但是繼電開關(guān)器在頻率相對較低的場合應(yīng)用較多。第二種因素是繼電器控制線圈和電源輸出電路節(jié)點之間完全存在著天然的靜電隔離控制功能,無須再額外考慮增設(shè)靜電光耦等其他天然隔離控制元件。該驅(qū)動電路元件中的驅(qū)動加熱盤溫度傳感器及其驅(qū)動加熱電路基本結(jié)構(gòu)如下圖圖3-19所示。單片機的引腳可以經(jīng)由一個驅(qū)動器的npn三極晶體管間接電路驅(qū)動一個繼電器。例如,當(dāng)與之直接相連的一個單片機引腳上的水平電壓值為高時,三極管就可能會一直處于導(dǎo)線接通的電壓狀態(tài),在一個繼電器的連接線圈中會明顯發(fā)現(xiàn)此時有一個接觸電流從它的三極管上反向流過,從而可以使得其線圈中通電,由于電磁力的作用,產(chǎn)生磁力,吸附內(nèi)膽從而實現(xiàn)加熱功能。在電路內(nèi)把電源繼電器的觸點經(jīng)接口插入電源器件接口引出,方便把電源加熱盤和其他電源器件串聯(lián)在一起。其中,r8為一個自動限流穩(wěn)壓電阻,該電路限流的額定功率可以應(yīng)用于確定其電阻值為3.3k。d1為控制系統(tǒng)熱盤驅(qū)動電路的二極管,在此處的工作控制電路中它可以起到同時控制整個繼電器的電源線圈短路連接和電源續(xù)流的重要作用,避免電源線圈被電流傳感生的高頻率電壓直接振動擊穿了三極的管。圖3-19控制系統(tǒng)熱盤驅(qū)動電路3.8本章小結(jié)本章主要介紹了設(shè)計電飯煲模糊智能化控制系統(tǒng)的軟硬件。智能家用電飯鍋控制系統(tǒng)的軟硬件電路大致可按照各種功能劃分為下列幾個組成部分,最小控制系統(tǒng),電源電路控制系統(tǒng),輸入系統(tǒng),溫度實時監(jiān)測系統(tǒng),電子顯示屏,狀態(tài)顯示電路和狀態(tài)顯示電路和at89c51微控制器引腳的功能詳細(xì)介紹。4智能電飯煲控制系統(tǒng)軟件設(shè)計4.1軟件整體結(jié)構(gòu)設(shè)計電飯煲模糊式智能化控制系統(tǒng)的軟件總體結(jié)構(gòu)設(shè)計框圖如下表4-1所示。圖4-1主程序結(jié)構(gòu)圖從主程序流程圖中,可以看到在微控制器開始運行之后,控制系統(tǒng)已進行了初始操作。初始化操作包括設(shè)置電飯鍋的初始操作狀態(tài),加熱狀態(tài)和LCD-1602的操作模式。在該設(shè)計中,系統(tǒng)通電運行后,智能電飯鍋的工作狀態(tài)被初始化為加熱模式,LCD-1602通過兩行16個字符的命令被初始化為工作模式。初始化的操作結(jié)束后,程序?qū)⒆詣舆M入main循環(huán)函數(shù)。在此特性的功能中,程序依次地調(diào)用若干個子例程,以分時的方式對系統(tǒng)的各種輸入和各種輸出進行處理。main的函數(shù)中需要處理的內(nèi)容主要包括對溫度傳感器的控制,以執(zhí)行溫度變化的轉(zhuǎn)換和數(shù)據(jù)讀取,寫入溫度的數(shù)據(jù)處理,工作模式的溫度,按鍵掃描和處理,定時的時間積累和處理以及各種模式的信息輸出和顯示。在多個項目之間切換,例如控制和加熱控制。4.2子程序設(shè)計4.2.1系統(tǒng)工作模式控制流程智能電飯煲有保溫、煲湯、煮飯四種工作模式,每種模式分別對應(yīng)不同的控制方法以及控制溫度。如圖4-2所示用軟件實現(xiàn)對電飯煲工作模式的控制與自動切換。圖4-2系統(tǒng)工作模式控制流程如圖4-2所示,系統(tǒng)工作后電飯煲首先進入保溫模式,之后每當(dāng)MODEL按鍵按下一次,工作狀態(tài)就會切換一次,狀態(tài)的切換次序是“保溫模式——煲湯模式——煮飯模式——保溫模式”。在保溫模式下,電飯煲溫度將會被控制在65攝氏度。當(dāng)溫度低于65攝氏度時,控制系統(tǒng)自動接通加熱盤電路進行加熱,當(dāng)溫度高于65攝氏度時,控制系統(tǒng)斷開加熱盤電路,停止加熱,因此可將電飯煲鍋內(nèi)溫度控制在65攝氏度。在煲湯模式下,當(dāng)鍋內(nèi)溫度高于98攝氏度時,控制系統(tǒng)自動斷開加熱盤電路,停止加熱,之后自動轉(zhuǎn)入節(jié)能保溫工作模式。在煮飯模式下,鍋內(nèi)溫度高于110攝氏度時,控制系統(tǒng)斷開熱盤電路停止加熱,自動轉(zhuǎn)入保溫工作模式。4.2.2定時功能控制流程在這種設(shè)計中,智能電飯鍋控制系統(tǒng)支持用戶進行約會,并且當(dāng)時間到時,電飯鍋會自動進入用戶預(yù)設(shè)的工作模式以煮飯,煮湯或保溫。計時時間可以設(shè)置為0到12小時之間的值。實現(xiàn)此功能的軟件流程如圖4-3所示。系統(tǒng)啟動運行后,按下"set"按鈕,系統(tǒng)就會自動進入一個預(yù)設(shè)計時器的工作狀態(tài)。此時,"小時"這個數(shù)字值就開始閃爍以便于指示"小時"值??梢栽O(shè)置號碼。此時,按"ADD"鍵可將預(yù)設(shè)時間累積1,按"DEC"鍵可將預(yù)設(shè)時間減少1。該控制系統(tǒng)最多支持12個小時的計時,而當(dāng)時間超過12個小時時,它將溢出至零。即,當(dāng)指示器設(shè)置"小時"為數(shù)字時,當(dāng)前的指示器設(shè)置為12,按"add"鍵將小時從12更改為0:00。設(shè)置一定工作時間后,按"確定"設(shè)置按鈕之后即可直接進入自動設(shè)置"分鐘"的開始狀態(tài),"分鐘"按鈕中的每個數(shù)字和分值就一定會自動開始同時不斷發(fā)生燈光閃爍。此時,按"add"的按鍵將進入預(yù)定計算時間的最終計算結(jié)果分?jǐn)?shù)再次增加1,按"dec"的按鍵將進入預(yù)定計算時間的最終計算結(jié)果分?jǐn)?shù)再次減少1。如果當(dāng)前分鐘為59,然后再次按"add"鍵,則分鐘的溢出將不會轉(zhuǎn)化成值為0,小時將增加1。如果當(dāng)前分鐘為0并按"dec"鍵,則分鐘將從電機中溢出59,小時將流量減少1。設(shè)置分鐘后,再次按"確定"的按鈕,系統(tǒng)將會自動保存每個用戶在設(shè)置時間并自動退出該設(shè)置的狀態(tài)。然后系統(tǒng)將會暫停該工作模型并開始進行倒計時。當(dāng)時間未來,系統(tǒng)將會自動地進入預(yù)先設(shè)定義的操作模式,或者是煮飯或繼續(xù)提高米飯或者湯溫。圖4-3定時功能控制流程4.2.3加熱功能控制流程智能電飯鍋自動控制系統(tǒng)對電飯鍋進行是否加熱,都需要按照電飯鍋當(dāng)前工作狀態(tài)和方式選擇。軟件控制流程圖所示。該控制器首先通過一個位于蓋子頂部的溫度傳感器來獲取電動機鍋的當(dāng)前溫度,并根據(jù)工作模式來獲取所需要到達的目標(biāo)溫度。如果電動機鍋的當(dāng)前溫度已經(jīng)低于電動機的目標(biāo)溫度,則控制器將打開一個加熱板對其他部件進行加熱,否則控制器將自動關(guān)閉一個加熱板并暫時停止加熱。圖4-4加熱功能控制流程圖4.3本章小結(jié)本章主要針對電飯煲模糊智能控制系統(tǒng)的軟件設(shè)計,當(dāng)單片機開始工作時,首先進行控制系統(tǒng)的初始操作。初始化操作包括設(shè)置電飯鍋的初始操作狀態(tài),加熱狀態(tài)和LCD-1602的操作模式。之后,進行了系統(tǒng)控制設(shè)計,使電飯鍋具有四種操作模式:加熱,煮湯,煮飯和定時。5智能電飯煲控制系統(tǒng)的仿真驗證在設(shè)計智能電飯鍋控制系統(tǒng)的過程中,PROTEUS仿真開發(fā)平臺的使用減少了軟件和硬件的開發(fā)時間,并使設(shè)計更加容易。同時,在設(shè)計之初,我們使用了PROTEUS的仿真驗證功能來仿真和驗證系統(tǒng)的硬件原理圖,并調(diào)整一些缺陷以使硬件設(shè)計更加合理。另一方面,在軟件設(shè)計過程中,由于根據(jù)仿真結(jié)果不斷調(diào)整軟件源程序,大大減少了軟件設(shè)計時間。我們還使用PROTEUS來測試設(shè)計的有效性,包括兩件事:(1)模擬并驗證控制系統(tǒng)的硬件原理設(shè)計。它包括復(fù)位電路,時鐘電路,按鍵輸入電路,LED狀態(tài)顯示電路,LCD信息顯示電路和加熱盤驅(qū)動電路的驗證。(2)已經(jīng)驗證了控制系統(tǒng)軟件的實現(xiàn)功能。包括約會定時功能,自動預(yù)熱功能,信息輸出顯示功能,狀態(tài)顯示功能等。仿真結(jié)果表明,智能電飯煲控制系統(tǒng)已達到各種預(yù)期的設(shè)計效果。圖5-1Proteus仿真整體效果圖圖5-2保溫工作模式圖5-3煲湯工作模式圖5-4煮飯工作模式圖5-5定時設(shè)置狀態(tài)5.1本章小結(jié)本章主要使用PROTEUS軟件對以前設(shè)計的電飯鍋模糊智能控制系統(tǒng)的原理圖進行仿真和驗證,包括整體仿真效果,溫?zé)峁ぷ髂J?,煲湯工作模式和烹飪工作模式。結(jié)論本此設(shè)計方案基于PROTEUS仿真設(shè)計了電飯鍋模糊智能控制系統(tǒng)。第一章概述部分簡要介紹了智能電飯鍋的背景知識和開發(fā)現(xiàn)狀,同時解釋了該主題的設(shè)計目的和意義。第二章介紹了智能電飯鍋控制系統(tǒng)的總體設(shè)計。本文的第三章和第四章詳細(xì)介紹了智能電飯鍋控制系統(tǒng)的硬件設(shè)計和軟件設(shè)計。本文結(jié)尾處設(shè)計的智能電飯鍋控制系統(tǒng)在PROTEUS環(huán)境中進行了仿真和驗證。結(jié)果表明,智能電飯煲控制系統(tǒng)的各個部分均達到了預(yù)期的設(shè)計效果。但是,這種設(shè)計即使在早期也有其缺點。例如,由于條件的限制,很難對設(shè)計進行物理驗證。設(shè)計效果驗證通過實驗保留在驗證方法中,并且可以出現(xiàn)。
參考文獻[1]郁有文.傳感器原理及工程應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2006.[2]松井邦彥.傳感器實用電路設(shè)計與制作[M].北京:科學(xué)出版社,2009.[3]謝自美.電子線路設(shè)計.實驗.測試[M].武漢:華中科技大學(xué)出版,2010.[4]彭介華.電子技術(shù)課程設(shè)計指導(dǎo)[M].北京:高等教育出版社,2008.[5]華成英,童詩白.模擬電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,2006.[6]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分(第五版)[M].北京:高等教育出版社,2010.[7]李群芳.單片微型計算機與接口技術(shù)(第二版)[M].北京:電子工業(yè)出版社,2005.[8]蔣立培.單片危機系統(tǒng)使用教程[M].北京:機械工業(yè)出版社,2004.[9]凌玉華.單片機原理及應(yīng)用系統(tǒng)設(shè)計[M].長沙:中南大學(xué)出版社,2006.[10]王瓊.單片機原理及應(yīng)用實踐教程[M].合肥:合肥工業(yè)大學(xué)出版社,2005.[11]劉丹.例說8051[M].北京:人民郵電出版社,2011.[12]余永權(quán).單片機與家用電器智能化技術(shù)[M].北京:電子工業(yè)出版社,1995.[13]李士勇.模糊控制·神經(jīng)控制和智能控制論[M].黑龍江:哈爾濱工業(yè)大學(xué)出版社,1998 [14]周鮮成.模糊電飯煲的控制原理[J].株洲工學(xué)院學(xué)報,2000,14(6):35-37.[15]李宇成,盧俊峰.電飯煲的模糊控制器[J].北方工業(yè)大學(xué)學(xué)報,1998,10(3):85-90.[16]韓啟綱,吳錫棋.計算機模糊控制技術(shù)與儀表裝置[M].北京:中國計量出版社,1999.[17]吳曉莉,林哲輝.MATLAB輔助模糊系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2002.[18]常健生.檢測與轉(zhuǎn)換技術(shù)機械工業(yè)出版社[M],北京:1999.[19]韓啟綱,吳錫棋.計算機模糊控制技術(shù)與儀表裝置[M].北京:中國計量出版社,1999.[20]陳燦煌,陳周造.Delphi5徹底研究[M].北京:中國鐵道出版社,2001.[21]陳燦煌.Delphi6徹底研究[M].河南:博碩文化股份有限公司出版社,2001.[22]張德江.智能控制技術(shù)現(xiàn)狀與展望[M].吉林:長春工業(yè)大學(xué)出版社,2002[23]R.Babuska.FuzzyandNeuralControlDiscCourse:LectureNotes[M].Delft,Netherlands:DelftUniv.Technol.,2001.[24]N.J.Schouten,M.A.Salman,N.A.Kheir。Fuzzy-logiccontrolforparallelhybridvehicles[J].IEEETrans.ControlSyst.Technol.,2002,10(3):460–46附錄附錄1:智能電飯煲控制系統(tǒng)電路原理圖附錄2:智能電飯煲控制系統(tǒng)軟件源程序清單CPU:AT89C51晶振:24M版本:V1.0//=========================================/#include<reg51.h>#include<intrins.h> #include<string.h> //#definePORTP2 #defineNEGATIVE 10 #definePOSITIVE 11 #defineY 0XFF#defineN 0x00#defineLOW 0X00#defineHI 0x01//讀端口數(shù)據(jù)#definePOWERON ((P1&(1<<0))>>0) //p1.0#definePOWEROFF ((P1&(1<<1))>>1) //p1.1#defineMODEL ((P1&(1<<2))>>2) //p1.2#defineADD ((P1&(1<<3))>>3) //P1.3#defineDEC ((P1&(1<<4))>>4) //P1.4#defineOK ((P1&(1<<5))>>5) //P1.5//寫端口數(shù)據(jù)sbitHOT =P3^0;sbitworkingled =P3^1;sbittimerled =P3^2;sbitbaowenled =P3^3;sbitbaotangled =P3^4;sbitzhufanled =P3^5;sbitRS =P0^0; sbitRW =P0^1; sbitEN =P0^2; sbitDQ =P1^7; //unsignedcharcodeshuzidaima[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2d,0x2b};unsignedchartemp_lowbyte_unprocess; unsignedchartemp_hibyte_unprocess; unsignedchartemp_xiao;unsignedchartemp_ge;unsignedchartemp_shi;unsignedchartemp_bai;unsignedchartemp_fuhao;//unsignedcharpoweron=N; unsignedcharmodel=0; unsignedchardest_temp=0; unsignedcharnow_temp=255; signedintmin_num=0; unsignedchartimersetting_state=0; unsignedchartiming_state=N; unsignedintloop=0; unsignedcharloop1=0; unsignedcharloop2=0; unsignedintloop3=0; /*=======子程序=======*/////函數(shù)名:delay()//voiddelay(){unsignedinti;for(i=0;i<=800;i++){;}}//////函數(shù)名:lcd_wcomd()//voidlcd_wcomd(unsignedcharcommand){RS=0; RW=0; PORT=command; delay();EN=1; _nop_();EN=0;delay();}////函數(shù)名:lcd_wdata()//voidlcd_wdata(unsignedchardat){RS=1; RW=0; PORT=dat; delay();EN=1; _nop_();EN=0;delay();}////函數(shù)名:lcd_ini()//voidlcd_init(){lcd_wcomd(0x01); lcd_wcomd(0x06); lcd_wcomd(0x0c); lcd_wcomd(0x38); }////函數(shù)名:printchar()//voidprintchar(unsignedcharzifu[]){unsignedcharj,k;k=strlen(zifu); for(j=0;j<=k-1;j++){lcd_wdata(zifu[j]); }}////函數(shù)名:display_num()//voiddisplay_num(unsignedcharshuzi_in){lcd_wdata(shuzidaima[shuzi_in]);}////函數(shù)名:display_1602()//voiddisplay_1602(){ lcd_wcomd(0x80+0x00); printchar("Model:"); lcd_wcomd(0x80+0x07); if(timersetting_state>=1) { printchar("TimerSet"); } else { if(model==0) { printchar("----"); } if(model==1) { printchar("KeepWarm"); } if(model==2) { printchar("PotSoup"); } if(model==3) { printchar("CookRice"); } }} ////函數(shù)名:delay1()//voiddelay1(unsignedintn){for(n;n>0;n--){;}}////函數(shù)名:rest_1820()//voidrest_1820(){DQ=0;DQ=1;delay1(77); }////函數(shù)名:write_18b20(unsignedcharxiecan)//voidwrite_18b20(unsignedcharxiecan) {unsignedcharxie_i;for(xie_i=1;xie_i<=8;xie_i++) { DQ=0; delay1(1); _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); _nop_(); _nop_();//DQ=1; DQ=0x01&xiecan; delay1(6); _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_(); _nop_();_nop_(); xiecan=xiecan>>1;}}////函數(shù)名:read_18b20()//unsignedcharread_18b20(){ unsignedchardu_i; unsignedcharoutdata_1820=0x00; unsignedchartmp_du=0x00;for(du_i=1;du_i<=8;du_i++) { DQ=1; DQ=0; _nop_ _nop_(); DQ=1; _nop_(); tmp_du=P1&0x80; tmp_du=tmp_du<<0; outdata_1820=outdata_1820|tmp_du; delay1(8); if(du_i==8)break; outdata_1820=outdata_1820>>1; } return(outdata_1820);}////函數(shù)名:readtemp_conver()//voidreadtemp_conver(){rest_1820(); write_18b20(0xcc); write_18b20(0x44); }////函數(shù)名:readtemp_readdata()//voidreadtemp_readdata(){rest_1820(); write_18b20(0xcc); write_18b20(0xbe); temp_lowbyte_unprocess=read_18b20(); temp_hibyte_unprocess=read_18b20(); }////函數(shù)名:hex_dec()//unsignedcharchazhi(unsignedcharh_data){if(h_data<=0x05){ if(h_data==0x00)return(0); if(h_data==0x01)return(1); if(h_data==0x02)return(2); if(h_data==0x03)return(3); if(h_data==0x04)return(4); if(h_data==0x05)return(5);} elseif(h_data<=0x0a) { if(h_data==0x06)return(6); if(h_data==0x07)return(7); if(h_data==0x08)return(8); if(h_data==0x09)return(9); if(h_data==0x0a)return(10); } else { if(h_data==0x0b)return(11); if(h_data==0x0c)return(12); if(h_data==0x0d)return(13); if(h_data==0x0e)return(14); if(h_data==0x0f)return(15); elsereturn(0); }}unsignedinthex_dec(unsignedcharhex_canshu) { unsignedintdec_jieguo; unsignedcharhex_gao,hex_di; hex_di=hex_canshu&0x0f; hex_gao=hex_canshu>>4; hex_di=chazhi(hex_di); hex_gao=chazhi(hex_gao); dec_jieguo=hex_gao*16+hex_di; return(dec_jieguo);}////函數(shù)名:key()//voidkey(){ if(POWERON==LOW) { poweron=Y; workingled=0; model=0; }
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河南益民控股招聘9人備考題庫及完整答案詳解1套
- 2026年薪酬體系科學(xué)設(shè)計實戰(zhàn)課程
- 2026河南安陽市直機關(guān)遴選公務(wù)員3人備考題庫(安陽市檢察院遴選3名)及答案詳解(新)
- 四川省成都市第十一中學(xué)2026年1月儲備教師招聘備考題庫及完整答案詳解一套
- 露營地水電供應(yīng)與使用管理手冊
- 2026福建福州市志愿者聯(lián)合會專職工作人員(勞務(wù)派遣)招聘3人備考題庫完整答案詳解
- 2026年氫能產(chǎn)業(yè)鏈發(fā)展實務(wù)指南
- 2026年食品安全快速檢測技術(shù)課程
- 化工行業(yè)2026年度策略報告:成長與分紅并重價值再發(fā)現(xiàn)
- 職業(yè)噪聲與阻塞性睡眠呼吸暫停關(guān)聯(lián)研究
- 危險化學(xué)品安全法解讀
- 廣東省佛山市南海區(qū)2025-2026學(xué)年上學(xué)期期末八年級數(shù)學(xué)試卷(含答案)
- 放射應(yīng)急演練及培訓(xùn)制度
- 儲能技術(shù)培訓(xùn)課件模板
- 2026元旦主題班會:馬年猜猜樂新春祝福版 教學(xué)課件
- 光伏收購合同范本
- 2025海洋水下機器人控制系統(tǒng)行業(yè)市場需求及發(fā)展趨勢分析投資評估規(guī)劃報告
- 物流金融管理培訓(xùn)課件
- 微專題:突破語病題+2026屆高考語文二輪復(fù)習(xí)
- 羽毛球裁判二級考試題庫及答案
- 醫(yī)院安全教育與培訓(xùn)課件
評論
0/150
提交評論