![51單片機控制的電飯煲_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/388d5f5b-9577-4799-a9d6-f1611a22b6fd/388d5f5b-9577-4799-a9d6-f1611a22b6fd1.gif)
![51單片機控制的電飯煲_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/388d5f5b-9577-4799-a9d6-f1611a22b6fd/388d5f5b-9577-4799-a9d6-f1611a22b6fd2.gif)
![51單片機控制的電飯煲_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/388d5f5b-9577-4799-a9d6-f1611a22b6fd/388d5f5b-9577-4799-a9d6-f1611a22b6fd3.gif)
![51單片機控制的電飯煲_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/388d5f5b-9577-4799-a9d6-f1611a22b6fd/388d5f5b-9577-4799-a9d6-f1611a22b6fd4.gif)
![51單片機控制的電飯煲_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/8/388d5f5b-9577-4799-a9d6-f1611a22b6fd/388d5f5b-9577-4799-a9d6-f1611a22b6fd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、無錫工藝職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 題 目: 51單片機控制的電飯煲 系 部: 電子信息系 專 業(yè): 應(yīng)用電子技術(shù) 學(xué) 號: 學(xué)生姓名: 耿 慶 法 指導(dǎo)教師: 張 愛 良 職 稱: 副 教 授 2013年 5月 18日、摘 要 本論文主要研究51單片機控制下的電飯煲,用來實現(xiàn)電飯煲的智能化操作。本次設(shè)計主要應(yīng)用電子電路設(shè)計與制作電路板技術(shù),以及功能來實現(xiàn)的單片機操作指令系統(tǒng),最終實現(xiàn)單片機控制下的電飯煲蒸煮過程。關(guān)鍵詞:51單片機 電飯煲 PCB設(shè)計 智能電飯煲AbstractElectric rice cooker, this dissertation mainly studies 51
2、 under the control of microcontroller, intelligent operation used to realize electric rice cooker. The design of the main application of electronic circuit design and circuit board production technology, SCM operation instruction system and function to achieve, finally realizes the electric rice coo
3、ker cooking process under the control of single chip microcomputer.Keywords: 51 single electric cooker PCB design of intelligent electric rice cooker 目 錄摘要目錄 第1章 緒論2 1.1 選題背景 2 1.2 研究線裝 2 1.3 研究的目的及意義 2第2章 單片機周圍電路設(shè)計3 2.1 時鐘電路設(shè)計3 2.2 復(fù)位電路設(shè)計3 2.3 顯示電路設(shè)計3 2.4 蜂鳴器電路設(shè)計4 2.5 鍵盤接口電路設(shè)計5 2.6 溫度傳感器電路設(shè)計6第3章 電源
4、電路設(shè)計8 3.1 電源電路8 3.2 抗浪涌電路8第4章 主控系統(tǒng)設(shè)計 9 4.1 系統(tǒng)軟件設(shè)計10 4.2 發(fā)聲程序設(shè)計10 4.3 功能程序設(shè)計10 4.4 AT89C51芯片介紹 10 4.5 RAM 、 ROM 存儲器 12第5章 煮飯功能和保溫系統(tǒng)14 5.1 單片機控制系統(tǒng)14 5.2 電飯鍋系統(tǒng)的期望升溫曲線14 5.3 煮飯的六個階段14 5.4 保溫加熱器的控制 15第6章 繼電器和加熱盤電路設(shè)計 16 6.1 繼電器電路 16 6.2 加熱盤電路 17 6.3 外觀設(shè)計 19第7章 部分程序 20 7.1 主函數(shù) 20 7.2 DS18B20 驅(qū)動函數(shù) 20 7.3 DS
5、1302 驅(qū)動函數(shù) 24 7.4 LCD1602函數(shù) 28致謝 33參考文獻34 第1章 緒論 1.1 選題背景自從 1955 年東芝開發(fā)出世界上第一臺電飯煲,電飯煲的發(fā)展已經(jīng)過了 50 年,到現(xiàn)在,電飯煲已經(jīng)成為了現(xiàn)代家庭必備的生活電器之一。隨著電飯煲技術(shù)的發(fā)展,電飯煲的控制技術(shù)也經(jīng)歷了幾個重要的階段,首先是機械式控制,然后是電子式控制,再是微電腦控制,再是目前將要成為主流的電磁電飯煲和微壓力電飯煲。今天,我們正經(jīng)歷著一個電腦技術(shù)迅速發(fā)展的時代,電腦芯片、網(wǎng)絡(luò)和 3C 技術(shù)已經(jīng)開始成熟和普及,成本大幅的下降,這就為我們提供了一個絕好的平臺和環(huán)境,我們應(yīng)該有理由也有信心將包括電飯煲在內(nèi)的所有智
6、能家電控制技術(shù)作一次大的提升。因為隨著人們生活水平的提高,對電飯煲的要求也越來越高。日后,煮出來的米飯的可口程度、營養(yǎng)以及是否多功能、是否節(jié)能這些因素將成為判斷一個電飯煲好壞的標(biāo)準(zhǔn)。 1.2 研究現(xiàn)狀目前,市場上的大部分采用機械式或者是采用固定功率的方式加熱,能源利用率低,功能單一,難以滿足人們?nèi)找嬖鲩L的生活需求。電飯煲從機械式原理到現(xiàn)在的智能電飯煲,期間經(jīng)歷了許多的階段。電飯煲發(fā)揮高新技術(shù)優(yōu)勢,以美味炊煮為主導(dǎo),使產(chǎn)品更加豐富與時尚化,現(xiàn)已形成微電腦、電腦與機械三大類型、十大不同款式。機械電飯煲雖然價格方面體現(xiàn)它的優(yōu)勢之外,其他方面就很難滿足人們對現(xiàn)代生活高品質(zhì)的需求。微電腦或電腦控制的智能
7、電飯煲符合現(xiàn)代人的要求,人性化的界面設(shè)計,使得人們一眼看出當(dāng)前工作狀態(tài),讓您更安心,各種烹調(diào)過程全部由電腦自動控制,并且大多的智能電飯煲采用太空“黑晶”內(nèi)膽,超硬耐磨,恒久美觀,所有的這些特點符合現(xiàn)代人的省時、省力、耐用的觀念。 1.3 研究的目的及意義中國農(nóng)業(yè)部農(nóng)產(chǎn)品質(zhì)量監(jiān)督檢測測試中心實驗報告表明:使用智能電飯煲蒸煮米飯,可以將米飯中維生素E的含量提高55.62%,賴氨酸的含量提高10.92%,而天冬氨酸、谷氨酸、絲氨酸、酪氨酸等游離氨基酸更是首次現(xiàn)身米飯當(dāng)中,從而大大提升了米飯的營養(yǎng)和口感。 電飯煲是一種把電能轉(zhuǎn)化成熱能的新型多功能烹飪器具。在科技發(fā)展日新月異的今天,電飯煲也同其它家用電
8、器一樣經(jīng)歷了從簡單到復(fù)雜,從手動到半自動、全自動以及到現(xiàn)在的智能化產(chǎn)品的過程。但因為價格較高,所以它不能為普通家庭所接受。做出一種價格低廉、體積又小、帶語音功能的人性化的電飯煲是市場所需求。因此,開發(fā)功能齊全,安全可靠的微電腦智能電飯煲是非常用必要的。第2章 單片機周圍電路設(shè)計 2.1 時鐘電路設(shè)計 時鐘、復(fù)位電路如圖2-1所示,采用的是系統(tǒng)振蕩為外部RC振蕩方式,單片機內(nèi)有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和TXAL2分別是次放大器的輸入端和輸出端,把這兩個引腳與作為反饋元件的晶體諧振器連接。一般采用12MHz的石英晶體和30PF的電容作為系統(tǒng)時鐘,以減少寄生電容,更好保證
9、振蕩器的穩(wěn)定性。圖2-1 2.2 復(fù)位電路設(shè)計 系統(tǒng)要能長時間可靠工作就離不開復(fù)位電路如上圖3-1所示,復(fù)位電路可在單片機運行出錯或進入死機循環(huán)時,通過復(fù)位使系統(tǒng)重新運行。對于51單片機而言,只要REST端保持二個機器周期(24個時鐘振蕩周期)的高電平即可硬件復(fù)位??紤]到從電源接通到電源電壓穩(wěn)定需要一定的時間,故圖2-1所示RC復(fù)位時間一般均應(yīng)大于10ms,典型取值為R=1K、C=22PF。 2.3 顯示電路設(shè)計采用LCD 1602實現(xiàn)時間顯示,功能選擇,是此電飯煲的人機對話界面。圖2-2為液晶電路,顯示器件采用LCDl602液晶顯示器,是目前最常用的顯示器件,其顯示容量為162個寧符,尺度為
10、2. 954 .35 mm,適合電飯煲時間和功能的字符顯示,如圖所示,前三個引腳分別為電源地、電源正極和液晶顯示偏壓。RS和R/W為數(shù)據(jù)命令選擇和讀寫選擇,引腳15和16分別是背光源正、負極。單片機P0口用于對LCD的數(shù)據(jù)傳輸,P2 .0P2.2都是作為控制端對LCD輸入讀寫數(shù)據(jù)信號,選擇數(shù)據(jù)寄存器或指令寄存器,以及是否進行顯示。 圖2-2 2.4 蜂鳴器電路設(shè)計蜂鳴器電路要求在炊煮結(jié)束時“奏出”出悅耳的提示音給使用者。選擇PFD驅(qū)動蜂鳴器,并且只用P2. 5一個引腳就可以了,這樣可以節(jié)省一個I/O引腳,同時PFD輸出的信號頻率可以采用一個內(nèi)部定時計數(shù)器控制,如圖2-3所示。 圖2-3 2.5
11、 鍵盤接口電路設(shè)計 按鍵采用獨立式按鍵接口,分為5個按鍵,分別對應(yīng)確認、預(yù)約、功能、時間加、時間減的功能。 獨立式鍵盤是直接用IO口構(gòu)成的單個按鍵電路,如圖2-4所示,每根IO口線上按鍵的工作狀態(tài)小會影響其他IO口的工作狀態(tài),該電路屬于查詢方式電路,當(dāng)按鍵沒有按下時,CPU對應(yīng)的IO口由于有上拉電阻,其輸入為高電平;當(dāng)某按鍵按下后,對應(yīng)I/O口變低電平,同時在Vcc=5V的情況下,I/O輸出灌電流在5mA左右 圖2-4 2.6 溫度傳感器電路設(shè)計利用溫度傳感器DSl8B20來檢測溫度的變化從而使單片機進行模糊控制。本課題中溫度傳感器DSl8B20采用數(shù)據(jù)線供電方式,其工作電壓范圍在35. 5V
12、,溫度測量范圍在-55125精度為2,在-1085范圍內(nèi),其精度為0 5,可編程為912位A/D轉(zhuǎn)換精度。測溫分辨率可達00625攝氏度,如圖2-5所示,為了保證DSl8B20溫度變換的精確性,當(dāng)溫度轉(zhuǎn)換時,數(shù)據(jù)線必須提供足夠功率,此時必須提供一個強上拉。該電路通常要求外接一個4. 7K的上拉電阻至電源。 圖2-5 第3章 電源電路設(shè)計 3.1 電源電路電源分勻為加熱盤模塊提供電的220V電源,和為溫度傳感器模塊、按鍵模塊、顯示模塊等提供電的5V電源。該單元為本系統(tǒng)的其他電路提供工作所需要的電源。如圖所示,它由變壓器降壓后得到20V的交流電壓經(jīng)過全波整流電路和濾波電路變成15v左右的直流電壓,
13、再經(jīng)過二固定輸出電壓的集成穩(wěn)壓電路的穩(wěn)壓輸出5V的穩(wěn)恒直流電源,為單片機及其周圍電路提供工作需要的電源,如圖3-1所示 圖3-1 3.2 抗浪涌電路壓敏電阻和PCB電流熔斷絲(長約15 mm很細的PCB銅箔)共同組成了抗浪涌電路,當(dāng)有異常高電壓輸入時,壓敏電阻瞬間短路,這樣電源、壓敏電阻和PCB電流熔斷絲(PARTTERNFUSE)構(gòu)成的回路電流瞬間增大,當(dāng)電流尖峰值瞬間超過PCB電流熔斷絲的電流容量,PCB電流熔斷絲立即熔斷,從而保護了后而電路元件的安全。電容C1又稱安規(guī)電容或者靜噪電容,一方而能夠抑制電剛向電源電路傳導(dǎo)的騷擾,另一方而也降低了自身電路向電刪傳導(dǎo)的騷擾。 第4章 主控系統(tǒng)設(shè)計
14、如圖4-0所示(圖),單片機程序控制流程。 開始 按鍵掃描 計算按鍵掃描狀態(tài) 是否預(yù)約 預(yù)約時間到否 Y N Y 執(zhí)行相應(yīng)功能 N 是否需要發(fā)聲 Y 執(zhí)行發(fā)聲子程序 N 執(zhí)行顯示程序 圖4-0 4.1 系統(tǒng)軟件設(shè)計軟件主要包含按鏈掃描、計算按鍵掃描狀態(tài)、定時器中斷、顯示、功能實現(xiàn)、預(yù)約處理、發(fā)聲等模塊。本設(shè)計中,軟件設(shè)計的關(guān)鍵在于按鍵掃描和顯示程序設(shè)計。由于共用I/O口,所以需要合理分配顯示和按鍵掃描的時間,通常每0.1S就按鍵掃描一次,否則會出現(xiàn)按鍵不靈敏的情況。 4.2 發(fā)聲程序設(shè)計本設(shè)計中,按下有效鍵、鎖定鍵盤以及進入保溫狀態(tài)時都需要驅(qū)動喇叭發(fā)生,所以在執(zhí)行相應(yīng)的操作時,需要置相應(yīng)的標(biāo)示
15、位,發(fā)聲子程序通過判定相應(yīng)的標(biāo)示位來執(zhí)行相應(yīng)的發(fā)聲子程序。 4.3 功能程序設(shè)計本設(shè)計中需要編寫4個功能實現(xiàn)子程序,分別為快煮、煲粥/湯、預(yù)約以及保溫功能子程序快煮、煲粥/湯,以及保溫功能子程序主要是通過計算傳感模塊的數(shù)據(jù)和事先設(shè)定的時間來控制繼電單元的狀態(tài),預(yù)約主要是計算預(yù)約的時間到否以及判定其預(yù)約的功能時間到后執(zhí)行相應(yīng)的預(yù)約功能的子程序。 4.4 AT89C51芯片介紹 AT89C51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列 如圖4-1所示,為單片機樣圖 圖4-1P0.0 P0.7: P0口8位雙向口線P1.0 P1.7 :P1口8位雙向口線。P2.0 P2.7 :P2口8位雙向口
16、線。 P3.0 P3.7 :P3口8位雙向口線。ALE:地址鎖存控制信號。在系統(tǒng)擴展時,ALE用于控制把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的固定頻率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使用。 PSEN:外部程序存儲器讀選通信號。在讀外部ROM時,PSEN有效(低電平),以實現(xiàn)外部ROM單元的讀操作。 EA:訪問程序存儲控制信號。當(dāng)信號為低電平時,對ROM的讀操作限定在外部程序存儲器;當(dāng)信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。 RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平
17、時即為有效,用以完成單片機的復(fù)位初始化操作。 XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。 VSS:地線。 VCC:+5 V電源。 以上是AT89C51單片機芯片40條引腳的定義及簡單功能說明,讀者可以對照實訓(xùn)電路找到相應(yīng)引腳,在電路中查看每個引腳的連接使用。 4.5 RAM 、 ROM 存儲器 AT89C51單片機的芯片內(nèi)部有RAM和ROM兩類存儲器,即所謂的內(nèi)部RAM和內(nèi)部ROM AT89C51的程序存儲器用于存放編好的程序和表格常數(shù)。 AT89C51片內(nèi)有4 KB的ROM,8751片內(nèi)有4
18、KB的EPROM,8031片內(nèi)無程序存儲器。AT89C51的片外最多能擴展64 KB程序存儲器,片內(nèi)外的ROM是統(tǒng)一編址的。如端保持高電平,AT89C51的程序計數(shù)器PC在0000H0FFFH地址范圍內(nèi) (即前4 KB地址) 是執(zhí)行片內(nèi)ROM中的程序,當(dāng)PC在1000HFFFFH地址范圍時,自動執(zhí)行片外程序存儲器中的程序;當(dāng)保持低電平時,只能尋址外部程序存儲器,片外存儲器可以從0000H開始編址。 AT89C51的程序存儲器中有些單元具有特殊功能,使用時應(yīng)予以注意。 其中一組特殊單元是0000H0002H。系統(tǒng)復(fù)位后,(PC)=0000H,單片機從0000H單元開始取指令執(zhí)行程序。如果程序不從
19、0000H單元開始,應(yīng)在這三個單元中存放一條無條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。 還有一組特殊單元是0003H002AH,共40個單元。這40個單元被均勻地分為5段,作為5個中斷源的中斷地址區(qū)。其中: 0003H000AH 外部中斷0中斷地址區(qū) 000BH0012H 定時/計數(shù)器0中斷地址區(qū) 0013H001AH 外部中斷1中斷地址區(qū) 001BH0022H 定時/計數(shù)器1中斷地址區(qū) 0023H002AH 串行中斷地址區(qū) 中斷響應(yīng)后,按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,8個單元難以存下一個完整的中斷服務(wù)程序,因此通常也是從
20、中斷地址區(qū)首地址開始存放一條無條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實際入口地址。 AT89C51內(nèi)部數(shù)據(jù)存儲器 內(nèi)部數(shù)據(jù)存儲器低128單元,AT89C51的內(nèi)部RAM共有256個單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址00H7FH)和高128單元(單元地址80HFFH)。如圖4-2所示為低128單元的配置圖如圖4-2所示 圖4-2 第5章 煮飯功能和保溫系統(tǒng) 5.1 單片機控制系統(tǒng) 單片機是電飯鍋的控制核心,由它發(fā)生各項指令來完成電飯鍋的測量和控制1、加熱板是主加熱器;2、保溫加熱器主要用于保溫加熱;3、鍋底傳感器和鍋蓋傳感器的主要用
21、途是在蒸煮過程中,通過傳感器的電阻隨溫度變化特性,感知鍋內(nèi)溫度;4、微動開關(guān)主要用于當(dāng)忘記放入內(nèi)鍋而按下加熱開關(guān)時進行保護;5、當(dāng)電飯鍋接通電源進入烹煮后,單片機便對由傳感器檢測的信息作適時分析,并判斷溫度的變化,按照預(yù)先設(shè)定的程序,在電飯鍋的各種溫度階段發(fā)出不同的指令,控制不同的部件完成相應(yīng)的功能。在蒸煮過程中,單片機通過溫度傳感器的溫度變化率推斷米糧 和水量,從而控制輸出不同的平均功率。同時,還通過傳感器的變化,判斷出是否為空鍋還是傳感器有故障,從而發(fā)出報警信號,并切斷電源。另外,單片機還根據(jù)用戶所選功能,輸出相應(yīng)的控制電平,控制功能指示燈,在不同功能、不同階段,顯示器也分別作出相應(yīng)階段的
22、顯示及時間計數(shù)顯示。 5.2 電飯鍋系統(tǒng)的期望升溫曲線以電飯鍋煮飯為例,從食品營養(yǎng)的角度來分析,電飯鍋煮飯過程可分為吸水、 加熱、 沸騰、 燜飯、 膨脹和保溫六個階段。根據(jù)對 900W 輸入功率的電飯煲實際參數(shù)的測量,綜合各種期望指標(biāo),繪制出如圖 5-1所示的期望升溫曲線。各階段持續(xù)時間如表5-1所示。 圖5-1 電飯鍋升溫曲線 表5-1 各階段持續(xù)時間表 5.3 煮飯的六個階段1) 吸水階段:t0t2 ,持續(xù) 8min,作用是在一定溫度下進行吸水,大米含水率從大約15%上升到25%以上,使后面的大米加熱更均勻;這個階段本文設(shè)計溫度上限取 5255。2) 加熱階段:t1t2,對電飯煲進行持續(xù)的
23、加熱,使水溫不斷升高,溫度均勻上升,大米繼續(xù)吸收水分并開始淀粉化。從營養(yǎng)學(xué)角度考慮,加熱階段的時間對米飯的質(zhì)量有極大影響,綜合米飯化程度、 還原糖量、 硬度、 粘結(jié)力和人們品嘗后的味道評價等指標(biāo),本文設(shè)計加熱時間為10min。3) 沸騰階段:t2t3 ,首先在100左右維持一段時間,使大米深度吸水,并在較高的溫度作用下促進淀粉的化。本文設(shè)計溫度將升高到125。4) 燜飯階段:t3t4,持續(xù) 1012m in,這個階段的作用是使能量透入到米飯的芯部,使米粒充分受熱,并蒸發(fā)掉多余的水分。營養(yǎng)學(xué)及現(xiàn)有經(jīng)驗表明:燜飯階段的溫度保持在105110,且燜飯之后的米飯含水率若在 65%70% 左右時食用口感
24、最好。5) 膨脹階段:t4t5,此階段的作用是使米飯松化。這個過程在燜飯溫度下降到一定程度時 (本文設(shè)計取值 103)馬上進行加熱。這次加熱會使米飯的水分進一步蒸發(fā),米飯進一步變得松軟;當(dāng)溫度升高到一定程度 (本文設(shè)計取值 113)停止加熱,米飯轉(zhuǎn)而進一步放熱;處于這種放熱狀態(tài)的米飯,就可以變得充分松軟。6) 保溫階段:t5以后,在電飯煲的溫度下降到 70時開始,根據(jù)需要,若使米飯維持在 70恒溫,能保證米飯最優(yōu)質(zhì)量的存放時間不低于 8h 。 5.4 保溫加熱器的控制 加熱板進行炊飯加熱時,鍋底傳感器不斷地將溫度信息傳遞到微處理器,當(dāng)水分大量蒸發(fā),鍋底沒有沒有水的時候,其溫度會超過100,此時
25、微處理器判別米飯已熟。便可跳到保溫模式,啟動鍋蓋加熱器和設(shè)置在電飯鍋四周的加熱器。第6章 繼電器和加熱盤電路設(shè)計 6.1 繼電器電路單片機初始化后的P3.0為高電平,5伏電源通過電阻使三極管導(dǎo)通,所以開機后繼電器始終處于吸合狀態(tài)給,如果我們在程序中單片機一條:CLR P3.0的指令的話,相應(yīng)三極管的基極就會被拉低到零伏左右,使相應(yīng)的三極管截至,繼電器就會斷電釋放,每個繼電器都有一個常開轉(zhuǎn)常閉的接點,便于在其他電路中使用,繼電器線圈兩端反相并聯(lián)的二極管是起到吸收反向電動勢的功能,保護相應(yīng)的驅(qū)動三極管,這種繼電器驅(qū)動方式硬件結(jié)構(gòu)比較簡單, 如圖6-1所示。 圖6-1如圖6-2所示,為繼電器實物。
26、圖6-2 6.2 加熱盤電路加熱盤與220V市電直接相連,分為主、副加熱靠,并且分別對其采用繼電器和可控硅來控制功率。 圖6-3所示是加熱盤電路,圖6-4是加熱盤實物,主加熱器是電飯煲的基本加熱單元,是實現(xiàn)各種加熱功能的基礎(chǔ),采用盤狀的外觀所以也被稱為加熱盤。加熱盤與電飯煲的內(nèi)膽(內(nèi)鍋)底部緊密接觸以便更高的利用加熱所產(chǎn)生的熱能,其中繼電器功能是在其選定工作模式或冷飯再加熱時控制其加熱功率,單片機通過P30口對繼電器進行控制。副加熱盤電熱絲的加熱功率由雙向可控硅控制,單片機通過引腳P31口給可控硅發(fā)信號,控制可控硅的導(dǎo)通角,從而控制電熱絲的有效加熱功率。其中串聯(lián)在繼電器回路的熔點為160的熱保
27、險絲,當(dāng)溫度達到160時,熱保險絲會熔斷,防止加熱盤干燒。 圖6-3 圖6-4 6.3 外觀設(shè)計 每個人都有自己的思想,有自己的理念一樣的,我做電飯煲,自然我也對她的整體,有這一個大概粗略的看法。只是可能被接受的程度不一樣罷了,就像知名品牌,他們的所生產(chǎn)的電器設(shè)備一樣,都具備自己的風(fēng)格,那才叫完整的產(chǎn)品,你說對不?在我的想法里,現(xiàn)在人們的溫飽都已基本解決,接下來想的就是怎樣去,改善生活質(zhì)量了吧!當(dāng)然,電飯煲這個小電器,已經(jīng)走進了相當(dāng)多的家庭里,也可能一個家庭,都已換了,好幾代了。但我也不排除,有的家庭,還從來就有過這個東西。既然是設(shè)計產(chǎn)品,我自認為,有點不切實際,但完全可以拿我做的東西,來自我
28、小小的滿足一下成就感。我的理念是:簡單、大方、實用如圖6-5所示 圖6-5第7章 部分程序 7.1 主函數(shù)/*=*/ nain()函數(shù)/*=* #include #include lcd1602.h #include ds1302.h void delayms(unsigned int cont)unsigned int i,j;for(i=0;icont;i+)for(j=0;j120;j+);void main()systemtime datetime;char datestring9,timestring9;lcdint();ds1302init();lcdoutput(0,0,Date
29、: );lcdoutput(0,1,Time: );while(1)ds1302gettime(&datetime);date2str(&datetime,datestring);time2str(&datetime,timestring);lcdoutput(6,0,datestring);lcdoutput(6,1,timestring);delayms(300); 7.2 DS18B20 驅(qū)動函數(shù)/*=*/* ds18b20 function */*=*/#include #ifndef ds18b20_h_#define ds18b20_h_sbitds=P24;/*延時操作*/voi
30、dds18b20_delay(unsignedint x)unsignedinta,b;for(a=x;a0;a-)for(b=10;b0;b-);/*復(fù)位操作*/voidds18b20_reset(void)/sendresetandinitializationcommandunsignedinti;ds=0;i=103;while(i0)i-;ds=1;i=4;while(i0)i-;/*讀取一位數(shù)據(jù)*/bitds18b20_bitread()unsignedinti;bitdat;ds=0;_nop_();ds=1;_nop_();_nop_();dat=ds;i=8;while(i0)
31、i-;return(dat);/*讀取一個字節(jié)*/unsignedchards18b20_byteread()unsignedchari,j,dat;dat=0;for(i=1;i=8;i+)j=ds18b20_bitread();dat=(j1);/讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在DAT里return(dat);/*寫入一個字節(jié)*/voidds18b20_bytewrite(unsignedchar dat)unsignedinti;unsignedchar j;bittestb;for(j=1;j1;if(testb)ds=0;_nop_();_nop_();ds=1;i=8;
32、while(i0)i-;elseds=0;i=8;while(i0)i-;ds=1;_nop_();_nop_();/*獲取溫度*/voidds18b20_gettemp(unsigned char *integer,unsigned char *decimal,unsigned char *symbol)unsigned char high,low,temp;ds18b20_reset();ds18b20_delay(1);ds18b20_bytewrite(0xcc);/尋址總線上所有的器件ds18b20_bytewrite(0x44);/發(fā)起溫度測量操作ds18b20_reset();d
33、s18b20_delay(1);ds18b20_bytewrite(0xcc);/尋址總線上所有的器件ds18b20_bytewrite(0xbe);/讀取scracphadlow=ds18b20_byteread();high=ds18b20_byteread();temp = high4;/獲取符號位if (0=temp)/正數(shù)(*symbol) = 0;(*integer) = (high4);(*decimal) = (low&0x0f)*10/16;else/負數(shù)(*symbol) = 1;(*integer) = (high4);/處理補碼(*decimal) = 10 - (lo
34、w&0xf)*10/16;if (10=*decimal)(*integer) +=1;(*decimal) = 0;#endif /*_ds18b20_h_*/ 7.3 DS1302 驅(qū)動函數(shù)/*=*/*ds1302Driver */*=*/ #ifndef _ds1302_h_#define _ds1302_h_sbit ds1302_clk =P26;/實時時鐘時鐘線引腳sbit ds1302_io=P27;/實時時鐘數(shù)據(jù)線引腳sbit ds1302_rst=P25;/實時時鐘復(fù)位線引腳sbit acc0=ACC0;sbit acc7=ACC7;typedefstructunsigned
35、charsecond;unsignedcharminute;unsignedcharhour;unsignedcharweek;unsignedcharday;unsignedcharmonth;unsignedcharyear;systemtime;/定義的時間類型#define ds1302_second0x80#define ds1302_minute0x82#define ds1302_hour0x84#define ds1302_week0x8a#define ds1302_day0x86#define ds1302_month0x88#define ds1302_year0x8c
36、/*向DS1302總線寫入一個字節(jié)*/voidds1302writebyte(unsigned char byte)unsignedcharloop;ACC = byte;for(loop=8;loop0;loop-)ds1302_io =acc0;/循環(huán)寫入字符的8位ds1302_clk = 1;/時鐘線拉高ds1302_clk = 0;/時鐘線拉低ACC = ACC1;/*從DS1302總線讀取一字節(jié)數(shù)據(jù)*/unsignedchards1302readbyte(void)unsigned char loop;for (loop=8;loop0;loop-)ACC = ACC1;acc7 =
37、ds1302_io;/讀取總線數(shù)據(jù)ds1302_clk = 1;/時鐘線拉高ds1302_clk = 0;/時鐘線拉低returnACC;/*向DS1302指定地址寫入一個字節(jié)*/void ds1302write(unsignedcharaddr,unsignedcharbyte)ds1302_rst = 0;ds1302_clk = 0;ds1302_rst = 1;ds1302writebyte(addr);/告訴DS1302要寫入的地址ds1302writebyte(byte);/寫入1字節(jié)數(shù)據(jù)ds1302_clk = 1;ds1302_rst = 0;/*讀取ds1302指定地址的內(nèi)容
38、*/unsignedchards1302read(unsignedcharaddr)unsignedcharbyte;ds1302_rst = 0;ds1302_clk = 0;ds1302_rst = 1;ds1302writebyte(addr|0x01);/告訴DS1302要讀取的地址byte= ds1302readbyte();ds1302_clk = 1;ds1302_rst = 0;return byte;/*設(shè)置寫保護*/void ds1302protect(bit flag)if (flag)ds1302write(0x8e,0x10);elseds1302write(0x8e
39、,0x00);/*設(shè)置時間*/void ds1302settime(unsigned char addr,unsigned char byte)/設(shè)置時間函數(shù)ds1302protect(0);ds1302write(addr,(byte/10)minute = (readval&0x70)4)*10 + (readval&0x0f);/分readval = ds1302read(ds1302_minute);time-minute = (readval&0x70)4)*10 + (readval&0x0f); /小時readval = ds1302read(ds1302_hour);time-
40、hour = (readval&0x70)4)*10 + (readval&0x0f);/天readval = ds1302read(ds1302_day);time-day = (readval&0x70)4)*10 + (readval&0x0f);/星期readval = ds1302read(ds1302_week);time-week = (readval&0x70)4)*10 + (readval&0x0f);/月readval = ds1302read(ds1302_month);time-month = (readval&0x70)4)*10 + (readval&0x0f);
41、/年readval = ds1302read(ds1302_year);time-year = (readval&0x70)4)*10 + (readval&0x0f);/*日期轉(zhuǎn)為字符串*/void date2str(systemtime *time,char *datastr)*datastr = time-year/10 + 0;* (datastr+1) = time-year/10 + 0; * (datastr+2) = -;* (datastr+3) = time-month/10 + 0;* (datastr+4) = time-month%10 + 0;* (datastr+
42、5) = -;* (datastr+6) = time-day/10 + 0;* (datastr+7) = time-day%10 + 0;* (datastr+8) = 0;/*時間轉(zhuǎn)換為字符串*/void time2str(systemtime *time,char *timestr)*timestr = time-hour/10 + 0;* (timestr+1) = time-hour/10 + 0; * (timestr+2) = :;* (timestr+3) = time-minute/10 + 0;* (timestr+4) = time-minute%10 + 0;* (t
43、imestr+5) = :;* (timestr+6) = time-second/10 + 0;* (timestr+7) = time-second%10 + 0;* (timestr+8) = 0;/*初始化ds1302*/void ds1302init(void)unsigned char second = ds1302read(ds1302_second);if(second&0x80)ds1302settime(ds1302_second,0);#endif /*ds1302_h_*/ 7.4 LCD1602函數(shù)/*=*/* lcd1602 display driver */*=*
44、/ #ifndef _lcd_1602_h_#define _lcd_1602_h_#include/*全局變量*/#define busybit 0x80#define lcd_data P0/*lcd寫入模式*/#define lcd_command0#define lcd_dat1/*屏幕操作*/#define lcd_clear_screen0x01/清屏#define lcd_show0x04/打開顯示#define lcd_no_cursor0x00/關(guān)閉光標(biāo)顯示 /*數(shù)據(jù)輸入模式*/#define lcd_ac_up0x02/#define lcd_no_move0x00/畫面不可移動/*端口定義*/sbit lcd_RS = P20;sbit lcd_RW = P21;sbit lcd_E = P22;unsigned char lcdread()lcd_RS = 0;lcd_RW = 1;
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國鉬絲探傷儀行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國蝎子行業(yè)投資前景及策略咨詢研究報告
- 2025年男子氧化標(biāo)槍項目可行性研究報告
- 2025至2031年中國環(huán)類鍛件行業(yè)投資前景及策略咨詢研究報告
- 2025年改性丙烯酸水性卓面漆項目可行性研究報告
- 2025年工程機械萬向節(jié)項目可行性研究報告
- 2025年內(nèi)旋轉(zhuǎn)式濃度變送器項目可行性研究報告
- 2025至2030年中國DL-肉毒堿鹽酸鹽數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年高強玻璃纖維紗項目投資價值分析報告
- 2025至2030年中國鋁材專用鋸數(shù)據(jù)監(jiān)測研究報告
- 企業(yè)法律顧問方案
- 哈佛大學(xué)住房研究聯(lián)合中心:2024年美國房屋租賃報告
- 農(nóng)商銀行貴金屬分析報告
- 人教版英語八年級下冊全冊教案教學(xué)設(shè)計及教學(xué)反思
- 軟件確認報告-模板
- 馬克思主義的誕生(何)
- 《紅樓夢第五回》課件
- 供應(yīng)鏈管理 課件 項目一 供應(yīng)鏈及供應(yīng)鏈管理認知
- 2023年全國醫(yī)學(xué)博士外語統(tǒng)一考試(英語)
- 2024年中儲棉總公司招聘筆試參考題庫含答案解析
- 微整培訓(xùn)課件
評論
0/150
提交評論