基于單片機的微波爐控制系統(tǒng)_第1頁
基于單片機的微波爐控制系統(tǒng)_第2頁
基于單片機的微波爐控制系統(tǒng)_第3頁
基于單片機的微波爐控制系統(tǒng)_第4頁
基于單片機的微波爐控制系統(tǒng)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的微波爐控制系統(tǒng)LGGROUPsystemofficeroom【LGA16H-LGYY-LGUA8Q8-LGA162】目設(shè)計方案項目負(fù)責(zé)人:曾光輝專業(yè):電子信息工程所在學(xué)院:通信與電子學(xué)院指導(dǎo)教師:占華林2012年5月20日西科技師范大學(xué)教務(wù)處、做飯?zhí)嵝?、模擬定時加熱功能。主控部分是由單片機和獨立電機構(gòu)成。實現(xiàn)了秒表和數(shù)字電子時鐘的功能。工作過程中有2.基于單片機的數(shù)字電子鐘系統(tǒng)硬件設(shè)計ATC51單片機通過編程去控制LCD1602實現(xiàn)的。通過2個開關(guān)控制來進行時間的調(diào)節(jié)以及秒表功能,(key1)口控制按鍵,當(dāng)系統(tǒng)處于正常時,可以進入秒表功能和時間功能的切換,此鍵還可以作為時間和選中鍵,當(dāng)系統(tǒng)處于時間顯示模式時,按此鍵可以選中相應(yīng)的需LCD1602顯示電路模塊要調(diào)整的位。當(dāng)系統(tǒng)處于時間顯示模式時,(key2)口控制按鍵,按此鍵對相應(yīng)的選中LCDC時間3.秒表顯示以及啟動和暫停以及清零。LCD處于正常顯示時間模式下時按下key1模式,前3次按下key2的功能依次為啟動停止清零,每按3次key2為理圖,在AT89C51芯片內(nèi)部有一個高增益反相放大器,其輸出端為引穩(wěn)定的自激振蕩電路,電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行十二分圖2-1時鐘電路原理圖圖,在單片機的實際應(yīng)用系統(tǒng)中,除單片機本身需復(fù)位以外,外部IO需要一個復(fù)位,因此需要一個系統(tǒng)的同步復(fù)位信號,即單片機的條件是:必須使RST/VPD或RST引腳加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平。電路為上電復(fù)位電路圖2-2復(fù)位電路原理圖LCD路原理圖塊電路原理圖,根據(jù)此電子時鐘功能要求,需要設(shè)置以下兩個功能鍵key,模式輔助鍵(key2)。按照鍵盤與CPU的連接方式可分為獨立鍵盤鍵盤是各個按鍵相互獨立,每個按鍵占用一個I/O口,外加上拉電IO鍵不會影響到其他I/O口的按鍵工作狀態(tài)。獨立式鍵盤電路配置靈。圖,鬧鈴模式時,設(shè)定好鬧鈴時間,鬧鈴時間有時和分,當(dāng)設(shè),一分鐘后報警聲停止,如果這一分鐘內(nèi)有按鍵按下則報警圖,當(dāng)系統(tǒng)設(shè)定好加熱的時長之后啟動加熱責(zé)電機轉(zhuǎn)動,剩余ATC環(huán)境KeilKeil細(xì)使用手冊,關(guān)于Keil的詳細(xì)說明文檔請瀏覽Keil個新工程文件名框中輸入工程名字,保存類型選擇.uv2,點擊添加文件或新建程序文件GroupSourceGroup文件夾,將文件名改為微波爐控制.c后保存到微波爐控制.c添加到當(dāng)前工程里。完成的結(jié)果如下圖HEX件ProtuesATC現(xiàn)下面的對話框,找到HEX文件路徑選中文件之后點擊O點整和下午6點整,默認(rèn)時間為12點整按下工作模式鍵(key1)后顯示要加熱的時間長短,可以通過模式輔助鍵(key2)來調(diào)分鐘通過按模式輔助鍵(key2)后調(diào)整為1分鐘加熱時間當(dāng)前剩余的加熱時間,此時并未倒計時,也沒有啟動加熱熱,電機轉(zhuǎn)動,開始到計時,若在加熱過程中按下模式輔助將每一部分代碼與相關(guān)實現(xiàn)的硬件聯(lián)合到一起進行調(diào)試,對部分。這樣保證在綜合調(diào)試的時候,順利查找錯誤,找5.系統(tǒng)性能測試試圖**************************************************項目:描述:制系統(tǒng)============================================MHzSTCC核心外接lcd1602顯示和兩個獨立按鍵做飯時間設(shè)置(上午11點和下午6點,鬧鈴的響keykey歷以及鬧鈴設(shè)置進行調(diào)整以及秒表的啟動暫停以及清的模式下前6每次按下key2依次會選中(光標(biāo)閃爍)pm_alarm_minutepmalarmhour,ammalarmminuteammalarmhourhourminute閃爍的時候每次按下kekey間的模式下,前60次按下key2加1,60次之微波爐加key的時間,再按下key2則啟動加熱作者:曾光輝*************************************************/edatabus#defineWDATA1#defineWCMD0P/lcd數(shù)據(jù)總線sWDATAsWCMDeKEYefinekeyshaketimeP/按鍵端口lcd,高data低cmdlcd讀低寫lcd降沿有效按下按下ededededednedflagflagflagchangeflag量和鍵盤消痘時間計時變量unsignedcharstart_t1;{unsignedunsignedunsignedunsignedunsignedunsignedunsignedcharam_alarm_hour;charam_alarm_minute;charpm_alarm_hour;charpm_alarm_minute;nsignedcharsetupcookingtimensignedcharcookingtimeminutensignedcharcookingtimesecond和鬧鐘以及秒表{***************************s時計數(shù)變量分秒=================i**************************/voiddelay_us(unsignedchari){while(--i);}***************************=================lcd602內(nèi)的內(nèi)容*****************************/unsignedcharreadlcd(void){unsignedcharreadvaluex0;valuedatabusrnreadvalue****************************=====================lcd數(shù)據(jù)或者指令***************************/voidwrite_lcd(unsignedcharvalue,bitdata_cmd){databusxff;//置為輸出rsdatacmd//數(shù)據(jù)指令選擇rw//寫使能}*********************************************====================MCU到有按鍵按下后TIMER1延時key_shake_time*10ms再次檢測是否按鍵還是取鍵值,判斷按鍵是否釋放,若釋放則對鍵值處理,返回的返回0********************************************/unsignedcharkeyscanvoid){harvaluehardokeygnedcharkeyscanstep識{keyvalue=0;{{}}iftkeyshaketimeKEYxx03)){valueKEYx03;eykey_scan_step=1;}}ifkeyscanstepKEYxx03)){keyscanstep=0;{casexvalue;break;casexvaluebreakcasexvaluebreakdefaultvalue0;break;}rnvalue}urn}*********************************====================系統(tǒng)的要求對返回的鍵值做處理********************************/eyprocessvoid{yvalue{aluechangeflag{imechangeflag{{0;}write_lcd(0xCE,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd(0x0F,WCMD);}eflag{{0;}write_lcd(0xCB,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCC,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCC,WCMD);write_lcd(0x0F,WCMD);}geflag{{0;}write_lcd(0xC6,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd(0x0F,WCMD);}flag{{0;}write_lcd(0xC3,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC4,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC4,WCMD);write_lcd(0x0F,WCMD);}geflag{{0;}write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd(0x0F,WCMD);}eflag{{0;}write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd(0x0F,WCMD);}}eflag{lflag{}{0;model_flag=0;echangeflagwritelcd(0x01,WCMD);//清屏}}}{alue{TR=0;echangeflagimechangeflag{write_lcd(0xCF,WCMD);write_lcd(0x0F,WCMD);}eflag{write_lcd(0xCC,WCMD);write_lcd(0x0F,WCMD);}geflag{write_lcd(0xC7,WCMD);write_lcd(0x0F,WCMD);}lag{write_lcd(0xC4,WCMD);write_lcd(0x0F,WCMD);}geflag{write_lcd(0x86,WCMD);write_lcd(0x0F,WCMD);}eflag{write_lcd(0x89,WCMD);write_lcd(0x0F,WCMD);}flag{TR0=1;write_lcd(0x0C,WCMD);echangeflag}}delflag{echangeflag{0;}write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);}{echangeflag++start_flag;ag{motor=0;}{motor=1;0;0;0;}{motor=1;}}}**********************************==========================TIMER到的系統(tǒng)時鐘進行處理*********************************/dupdatetimevoid{{{{{}{write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);}}{write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);}}{write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8C,WCMD);write_lcd%10+'0',WDATA);}}}*******************************========================TIMER到的秒表計數(shù)進行處理******************************/updatestopwatchvoid{/*if(model_flag==1){write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);ifstarttstartflagmodelflag2&&!=0){motor=0;;{;{write_lcd(0xC6,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);}}f{0;motor=1;}{write_lcd(0xC9,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCA,WCMD);write_lcd%10+'0',WDATA);}}}*********************************===================間顯示和秒表顯示之間進行切換********************************/shiftdisplayvoid{ifmodelflagtimechangeflagshiftflag0){hiftflag{writelcd(0x01,WCMD);//清屏write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8C,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x8A,WCMD);write_lcd(':',WDATA);write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x87,WCMD);write_lcd(':',WDATA);write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCE,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCD,WCMD);write_lcd(':',WDATA);write_lcd(0xCC,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCB,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC9,WCMD);write_lcd('&',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC6,WCMD);write_lcd+'0',WDATA);write_lcd(0xC5,WCMD);write_lcd(':',WDATA);write_lcd(0xC4,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC3,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC1,WCMD);write_lcd('T',WDATA);write_lcd(0xC0,WCMD);write_lcd('C',WDATA);}ifmodelflagshiftflag){{writelcd(0x01,WCMD);//清屏write_lcd(0x8C,WCMD);write_lcd('P',WDATA);write_lcd(0x8C,WCMD);write_lcd('P',WDATA);write_lcd(0x8B,WCMD);write_lcd('U',WDATA);write_lcd(0x8A,WCMD);write_lcd('T',WDATA);write_lcd(0x89,WCMD);write_lcd('E',WDATA);write_lcd(0x88,WCMD);write_lcd('S',WDATA);write_lcd(0x86,WCMD);write_lcd('E',WDATA);write_lcd(0x85,WCMD);write_lcd('M',WDATA);write_lcd(0x84,WCMD);write_lcd('I',WDATA);write_lcd(0x83,WCMD);write_lcd('T',WDATA);write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);}odelflagshiftflag{{writelcd(0x01,WCMD);//清屏write_lcd(0x8D,WCMD);write_lcd('N',WDATA);write_lcd(0x8D,WCMD);write_lcd('N',WDATA);write_lcd(0x8C,WCMD);write_lcd('I',WDATA);write_lcd(0x8B,WCMD);write_lcd('A',WDATA);write_lcd(0x8A,WCMD);write_lcd('M',WDATA);write_lcd(0x89,WCMD);write_lcd('E',WDATA);write_lcd(0x88,WCMD);write_lcd('R',WDATA);write_lcd(0x86,WCMD);write_lcd('E',WDATA);write_lcd(0x85,WCMD);write_lcd('M',WDATA);write_lcd(0x84,WCMD);write_lcd('I',WDATA);write_lcd(0x83,WCMD);write_lcd('T',WDATA);write_lcd(0xC6,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd(':',WDATA);write_lcd(0xC9,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCA,WCMD);write_lcd%10+'0',WDATA);}

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論