




已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本 科 生 畢 業(yè) 論 文 學(xué) 院 電信學(xué)院 專 業(yè) 電子信息工程 屆 別 2010 屆畢業(yè)生 題 目 電磁爐控制系統(tǒng)單片機(jī)模擬 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 教 務(wù) 處 制 電磁爐控制系統(tǒng)單片機(jī)模擬 1 目 錄 引言 3 加熱原理 3 工作過程 3 電磁爐的智能控制部件 單片機(jī) 3 電磁爐設(shè)計(jì)要求 3 AT89C51 單片機(jī)設(shè)計(jì)端口定義 4 1MCS-51 單片機(jī)概述 5 1.1AT89C51 主要特性 5 1.2AT89C51 最小應(yīng)用系統(tǒng) 5 1.3MCS-51 內(nèi)部結(jié)構(gòu) 6 1.4AT89C51 管腳圖 6 1.5 管腳功能 6 電磁爐內(nèi)部模塊 7 2.1 電源 電路模 塊 7 2.1.1 主電源電路 7 2.1.2 副電源 7 2.1.3 穩(wěn)壓電路 7 2.2 控制模塊 7 2.2.1 PWM 脈寬 調(diào)制 輸出電路 7 2.2.2 鍵盤模塊 11 2.2.3 多路開關(guān)狀態(tài)指示 14 2.2.4 定時(shí)模塊 15 2.2.5 LED 顯示模塊 17 2.3 檢測模塊 22 2.3.1 A/D、 D/A 轉(zhuǎn)換模塊 23 2.3.2 過壓、欠壓檢測模塊 23 2.3.3 過流檢測模塊 23 2.3.4 溫度檢測模塊 24 2.3.5 鍋檢測與小物件檢測模塊 24 2.3.6 加熱開關(guān)控制 25 2.3.7 蜂鳴器驅(qū)動(dòng)電路 25 2.3.8 風(fēng)扇模塊 27 3 單片機(jī)軟件編程及調(diào)試 27 3.1 單片機(jī)語言集成開發(fā)平臺(tái) 27 3.1.1u Vision2 集成開發(fā)環(huán)境 27 3.1.2Keil C51 開發(fā)單片機(jī)應(yīng)用程序的步驟 28 結(jié)論 28 致謝 28 參考文獻(xiàn) 29 附表 1 單 片機(jī)指令 30 附表 2 LED 字型碼表 35 電磁爐控制系統(tǒng)單片機(jī)模擬 2 電磁爐控制系統(tǒng)單片機(jī)模擬 摘要: 本文研究的 電磁爐控制核心部件是 AT89C51 單片機(jī),將預(yù)先編好指令信息輸入單片機(jī)內(nèi)部 ROM 后,在工作狀態(tài)下,電磁爐就能智能的去完成管理和控制工作。本文介紹了電磁爐的工作原理、設(shè)計(jì)要求,并提出用 AT89C51單片機(jī)來設(shè)計(jì)電磁爐,詳細(xì)介紹電磁爐中某些模塊的設(shè)計(jì)。主要介紹了風(fēng)鍵盤掃描,顯示面板控制,功率控制,溫度控制,風(fēng)扇、蜂鳴器控制, 定時(shí)控制等設(shè)計(jì)。 關(guān)鍵詞 :電磁爐,單片機(jī),控制 前言 隨著人類文明的發(fā)展,家用電器越來越多的進(jìn)入人們的生活中,特別是近幾年單片機(jī)的出現(xiàn)更是使得家電得以突飛猛進(jìn)的發(fā)展。電磁爐是現(xiàn)代家庭烹飪食物的先進(jìn)電子炊具,不但使用起來非常方便、快捷,可用來進(jìn)行煮、炸、煎、蒸、炒等各種烹調(diào)操作 ,而且還安全清潔,因此受到人們的親咪。 加熱原理: 變壓器有一個(gè)缺點(diǎn)就是鐵芯在磁場感應(yīng)中會(huì)產(chǎn)生渦流,而渦流流動(dòng)需要克服鐵芯的內(nèi)阻,于是鐵芯便會(huì)發(fā)熱,從而影響變壓器的效率。恰恰相反,電磁爐就是引用這一原理對(duì)食品進(jìn)行加熱的。它利用高頻 的電流通過環(huán)形線圈,從而產(chǎn)生無數(shù)封閉磁場力,當(dāng)磁場那磁力線通過鍋的底部,既會(huì)產(chǎn)生無數(shù)小渦流,使鍋體本生自行高速發(fā)熱,然后再加熱鍋內(nèi)食物。 工作過程: 電流電壓經(jīng)過整流器轉(zhuǎn)換為直流電,又經(jīng)高頻電力轉(zhuǎn)換裝置使直流電變?yōu)槌^音頻的高頻交流電,將高頻交流電加在扁平空心螺旋狀的感應(yīng)加熱線圈上,由此產(chǎn)生高頻交變磁場。其磁力線穿透灶臺(tái)的陶瓷臺(tái)板而作用于金屬鍋。在烹飪鍋體內(nèi)因電磁感應(yīng)就有強(qiáng)大的渦流產(chǎn)生。渦流克服鍋體的內(nèi)阻流動(dòng)時(shí)完成電能向熱能的轉(zhuǎn)換,所產(chǎn)生的焦耳熱就是烹調(diào)的熱源。 電磁爐的智能控制部件 單片機(jī): 隨著微型計(jì) 算機(jī)的發(fā)展,特別是單片機(jī)的誕生,使得各種家用電器的品質(zhì)有了極大的改變,實(shí)現(xiàn)了智能化的控制。電磁爐的 MCU 采用 AT89C51 芯片,在外圍電路的組合下,將預(yù)先編好的程序?qū)懭?AT89C51 單片機(jī)的程序存儲(chǔ)器中,在工作模式下,單片機(jī)就會(huì)執(zhí)行相應(yīng)的指令,從而使電磁爐完成相應(yīng)的控制。 電磁爐設(shè)計(jì)要求: 用 AT89C51單片機(jī)設(shè)計(jì)電磁爐所具有的性能 : 1、定溫加熱:在保溫 70至 260之間,共分為六檔火力選擇(燒烤、煎炸、蒸煮、火鍋、炒菜、爆炒),每檔都能都能達(dá)到精確定溫;自動(dòng)烹調(diào)功能,滿足各種烹飪需要;一種保溫模式:文火:一種自動(dòng)工作模式:燒水。 2、火力選擇:功率從 300W 2100W 的范圍內(nèi),共分為 14 檔火力,每檔均有穩(wěn)定的功率,手動(dòng)定溫選擇,實(shí)現(xiàn)快速調(diào)節(jié)火力。 3、時(shí)間預(yù)約:可以實(shí)現(xiàn) 1720 分鐘預(yù)約開機(jī)功能, 1180 分鐘的定時(shí)關(guān)機(jī)功能。 4、多種保護(hù)措施:系統(tǒng)采用過流檢測保護(hù)電路、過壓檢測保護(hù)電路、過溫檢測保護(hù)電路等多種保護(hù)措施; 電磁爐控制系統(tǒng)單片機(jī)模擬 3 5、 鍋具自動(dòng)識(shí)別:當(dāng)爐面無鍋或使用非鐵磁材料鍋具時(shí),電磁爐自動(dòng)識(shí)別,不予加熱。 6、 小物自動(dòng)識(shí)別:當(dāng)湯匙等小件物品放置于灶具上時(shí),電磁爐自動(dòng)識(shí)別,不予加熱。 7、 空燒防止 :使用中若持續(xù)二小時(shí)內(nèi)未有按鍵動(dòng)作,電磁爐自動(dòng)判別為使用者遺忘,自動(dòng)關(guān)機(jī)防止事故。 8、散熱功能:開機(jī)啟動(dòng)同時(shí)啟動(dòng)風(fēng)扇,關(guān)閉電源后風(fēng)扇繼續(xù)工作大約一分鐘左右,保護(hù)電磁爐內(nèi)部電路過熱損壞, 9、報(bào)警電路:系統(tǒng)設(shè)置了故障報(bào)警功能,方便故障查找及檢修; 系統(tǒng)含有自檢程序,方便生產(chǎn)測試。 10、采用開關(guān)電源,使系統(tǒng)能夠在 180250V的電壓范圍內(nèi)正常工作; AT89C51 單片機(jī)設(shè)計(jì)端口定義: P0.0 接顯示模塊 LED字段 P0.1 接顯示模塊 LED字段 P0.2 接顯示模塊 LED字段 P0.3 接顯示模塊 LED字段 P0.4 接顯示模塊 LED字段 P0.5 接顯示模塊 LED字段 P0.6 接顯示模塊 LED字段 P0.7 接多路開關(guān)指示電路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P1.0 接 4*4掃描鍵盤接口 P1.1 接 4*4掃描鍵盤接口 P1.2 接 4*4掃描鍵盤接口 P1.3 接 4*4掃描鍵盤接口 P1.4 接 4*4掃描鍵盤接口 P1.5 接 4*4掃描鍵盤接口 P1.6 接 4*4掃描鍵盤接口 P1.7 接 4*4掃描鍵盤接口 P2.0 接 LED模塊模塊的公共端 P2.1 接 LED模塊模塊的公共端 P2.2 接 LED模塊模塊的公共端 P2.3 接 LED模塊模塊的公共端 P2.4 接多路開關(guān)指示電路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P2.5 接多路開關(guān)指示電路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P2.6 接多路開關(guān)指示電 路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P2.7 接多路開關(guān)指示電路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P3.0 接蜂鳴器驅(qū)動(dòng)電路。 P3.1 接過壓、欠壓模塊檢測。 P3.2 接多路開關(guān)指示電路的發(fā)光二極管(對(duì)應(yīng)查詢式接口鍵盤的某個(gè)按鍵,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)輸出高電平,對(duì)應(yīng)的發(fā)光二極管發(fā)光) P3.3 接 4*4中斷式查詢按鍵模塊公共段 P3.4 接溫度檢測電 路(檢測電路檢測到溫度過高時(shí),將其轉(zhuǎn)換為高電平輸入單片機(jī),單片機(jī)做出相應(yīng)控制) P3.5 接鍋檢測電路。(檢測電路通過檢測電路的電流變化可以判斷無鍋時(shí),或不合適加熱物件的將其轉(zhuǎn)換為高電平輸入單片機(jī),單片機(jī)控制切斷加熱電源) P3.6 接電流檢測電路。(檢測電路檢測到電流過高時(shí),將其信后轉(zhuǎn)換為高電平輸入單片機(jī),單片機(jī)做出相應(yīng)控制) P3.7 接加熱控制開關(guān),當(dāng)輸出低電平時(shí)電磁爐停止加熱,當(dāng)輸出高電平時(shí)電磁爐加熱。 XTAL1 時(shí)鐘引腳 1 電磁爐控制系統(tǒng)單片機(jī)模擬 4 XTAL2 時(shí)鐘引腳 2 RST 復(fù)位電路 GND 接地 VCC 接 +5V電源 EA/VPP ALE/PROG PESN 1 MCS-51 單片機(jī)概述 單片機(jī)【 MCU( Micro Controller Unit)】也被稱為“微控制器”、“嵌入式控制器”,是在一個(gè)集成芯片中,集成有微處理器( CPU)、存儲(chǔ)器( RAM 和 ROM)、基本 I/O 接口以及定時(shí) /計(jì)數(shù)部件,即在一個(gè)芯片上實(shí)現(xiàn)一臺(tái)微型計(jì)算機(jī)的基本功能,對(duì)于簡單控制對(duì)象,只需要單片機(jī)作為控制核心,不需要增加別的外部設(shè)備和擴(kuò)展某些 I/O 接口就能實(shí)現(xiàn)。對(duì)于復(fù)雜的系統(tǒng),單片機(jī)的應(yīng)用和 I/O接口擴(kuò)展也很方便。 1.1 AT89C51單片機(jī)主要特性 與 MCS-51 兼容 4K/8K字節(jié)可編程閃爍存儲(chǔ)器 全靜態(tài)工作: 0Hz-24Hz 三級(jí)程序存儲(chǔ)器鎖定 128*8位內(nèi)部 RAM 32可編程 I/O線 兩個(gè) 16位定時(shí)器 /計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路 1.2 AT89C51單片機(jī)最小應(yīng)用系統(tǒng) 1.3 AT89C51單片機(jī)內(nèi)部結(jié)構(gòu) 電磁爐控制系統(tǒng)單片機(jī)模擬 5 1.4 AT89C51管腳圖 1.5 管腳功能 電源管腳: VCC(40腳 ):接 5V; VSS( 20 腳):接地; 時(shí)鐘信號(hào)腳: XTAL1(19腳 ):外部時(shí)鐘信號(hào)腳; XTAL2(18腳 ):外部時(shí)鐘信號(hào)腳; 控制線: RST/V pd(9 腳 ):當(dāng)作 RST 使用時(shí),為復(fù)位輸入端;當(dāng)作為 V pd 使用時(shí),當(dāng) VCC 掉電下,可作備用電源。 V pp( 31 腳):為訪問內(nèi)部或外部程序儲(chǔ)存器的選擇號(hào)。對(duì)片內(nèi) RPROM 編程時(shí), V pp MCS-51單片機(jī)的管腳接入 21V 編程電壓。 ALE/( 30腳):當(dāng)訪問外部儲(chǔ)存器時(shí), ALE信號(hào)的負(fù)跳變將 P0 口上的低 8位送入地址鎖存器,不訪問 外部儲(chǔ)存器時(shí), ALE 端仍以固定的振蕩頻率的 1/6 速率輸出正脈沖信號(hào)。當(dāng)對(duì)片內(nèi) EPROM編程時(shí),該管腳 PROG 用于輸入編程脈沖。 電磁爐控制系統(tǒng)單片機(jī)模擬 6 輸入 /輸出口線: P0( 32 39 腳),既可接地址鎖存器作低 8位地址 I/O 使用也可以作數(shù)據(jù) I/O使用。能驅(qū)動(dòng) 8個(gè) LSTTL負(fù)載。 P1( 1 8腳):具有內(nèi)部上位電阻的 8位準(zhǔn)雙向 I/O,可驅(qū)動(dòng) 4個(gè) LSTTL 負(fù)載。 P2( 21 28腳): 8位具有內(nèi)部上位電阻的準(zhǔn)雙向 I/O,在接收外部存儲(chǔ)器時(shí), P2作為地址高8位。能驅(qū)動(dòng) 4個(gè) LSTTL負(fù)載。 P3( 10 17 腳): 8位具有內(nèi)部上位電 阻的準(zhǔn)雙向 I/O,其每一位又有特殊功能 . P3口特殊功能: P3 端口 對(duì)應(yīng)特殊功能引腳 實(shí)現(xiàn)功能 P3.0 RXD 串行口輸入端。 P3.1 TXD 串行口輸出端 P3.2 INTO 外部中斷 0輸入端,低電平有效 P3.3 INT1 外部中斷 1輸入端,低電平有效。 P3.4 T0 定時(shí) /計(jì)數(shù)器 0外部事件計(jì)數(shù)輸入端。 P3.5 T1 定時(shí) /計(jì)數(shù)器 1外部事件計(jì)數(shù)輸入端。 P3.6 WR 外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào),低電平有效。 P3.7 RD 外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào),低電平有效。 電 磁爐內(nèi)部模塊 2.1 電路模塊 2.1.1主電源電路 電源電路 PWM電路 A/D 轉(zhuǎn)換 鍵盤模塊 LED 模塊 過壓、欠壓檢測 鍋、小物件檢測 溫度檢測 報(bào)警電路 風(fēng)扇電路 AT89C51 單片 機(jī) 電磁爐控制系統(tǒng)單片機(jī)模擬 7 交流電 200V 經(jīng)過前端濾波處理,通過通過橋型整流,變成 310V 左右的直流電,通過 MCU 控制IGB T 功率管的導(dǎo)通和關(guān)閉來控制電磁爐加熱線圈的工作狀態(tài)。 2.1.2 副電源 開關(guān)電源提供有 +5V, +18V 兩種穩(wěn)壓回路,其中橋式整流后的 +18V 供 IGBT 的驅(qū)動(dòng)回路,同步比較 IC LM339和風(fēng)扇驅(qū)動(dòng)回路使用,由三端穩(wěn)壓電路穩(wěn)壓后的 +5V供主控 MCU使用。 2.1.3穩(wěn)壓電路 2.2控制模塊 2.2.1 PWM脈寬 調(diào)制 輸出電路 ( 1) PWM脈寬調(diào)制電路原理 T89C51單片機(jī)通過控制 PWM 脈沖的寬與窄 , 控制送至振蕩電路的加熱功率控制電壓,控制了電磁爐控制系統(tǒng)單片機(jī)模擬 8 IGBT導(dǎo)通時(shí)間的長短 ,就可以控制了加熱功率的大小。 PWM 是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具 體模擬信號(hào)的電平進(jìn)行編碼。 PWM 信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有,要么完全無。電壓或電流源是以一種通或斷的重復(fù)脈沖序列被加到模擬負(fù)載上去的。只要帶寬足夠,任何模擬值都可以使用 PWM 進(jìn)行編碼。 采用脈寬調(diào)制(PWM)方式可以使負(fù)載在工作時(shí)得到滿電源電壓,這樣有利于克服 IGBT 功率管內(nèi)在的線圈電阻而使 IGBT功率管產(chǎn)生更大的力矩。 CPU 輸出 PWM 脈沖到由 R30 、 C27 、 R31 組成的積分電路 , PWM 脈沖寬度越寬 ,C28 的電壓越高 ,C29 的電壓也跟著升高 , 送到振蕩電路 (G 點(diǎn) ) 的控制電壓隨著 C29 的升高而升高 , 而 G 點(diǎn)輸入的電壓越高 , V7 處于 ON 的時(shí)間越長 , 電磁爐的加熱功率越大 , 反之越小。 “ CPU 通過控制 PWM 脈沖的寬與窄 , 控制送至振蕩電路 G 的加熱功率控制電壓,控制了 IGBT 導(dǎo)通時(shí)間的長短 , 結(jié)果控制了加熱功率的大小”。 ( 2)電磁爐功率控制程序 / PWM 控制電磁爐功率大小程序 / 利用定時(shí)器 控制產(chǎn)生占空比可變的 PWM 波 / 按 K1(“ -”), PWM 值增加,則占空比減小 ,輸出功率減小。 / 按 K2(“ +” ), PWM 值減小,則占空比增加 ,輸出功率增加。 /*/ 包含文件 /*/ #include #include /*/ 端口定義 /*/ sbit K1 =P10; /增加鍵 sbit K2 =P11 ; /減少鍵 unsigned char PWM=0x7f ; /賦初值 void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); /*/ 主程序 /*/ void main() P1=0xff; TMOD=0x21 ; 電磁爐控制系統(tǒng)單片機(jī)模擬 9 TH0=0xfc ; /1ms延時(shí)常數(shù) TL0=0x66 ; /頻率調(diào)節(jié) TH1=PWM ; /脈寬調(diào)節(jié) TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) do if(PWM!=0xff) PWM+ ;delayms(10); else Beep() ; while(K1=0); do if(PWM!=0x02) PWM- ;delayms(10); else Beep() ; while(K2=0); /*/ / 定時(shí)器 0中斷服務(wù)程序 . /*/ void timer0() interrupt 1 TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P0=0x00 ; /啟動(dòng)輸出 /*/ / 定時(shí)器 1中斷服務(wù)程序 /*/ void timer1() interrupt 3 TR1=0 ; P0=0xff ; /結(jié)束輸出 電磁爐控制系統(tǒng)單片機(jī)模擬 10 2.2.2 鍵盤模塊 ( 1)鍵盤接 口方式 鍵盤接口可以分為獨(dú)立式鍵盤接口和行列式鍵盤接口,在單片機(jī)接口允許的條件下可以采用獨(dú)立式按鍵接口,而在按鍵較多的情況下可以采用行列式鍵盤接口。 獨(dú)立式鍵盤接口 單鍵盤按鍵較少時(shí)最佳的接口方式是獨(dú)立式按鍵接法,即每一個(gè) I/O 口上只接一個(gè)按鍵,按鍵的另一端接電源或接地。獨(dú)立式鍵盤的實(shí)現(xiàn)是利用單片機(jī) I/O 口讀取口的電平高低來判斷是否有按鍵按下。按鍵的一端接地,另一端接一個(gè) I/O 口程序開始時(shí)將此 I/O 口置于高電平,平時(shí)無按鍵按下時(shí) I/O 口保護(hù)高電平。當(dāng)有鍵按下時(shí)此 I/O 口與地短路,迫使 I/O 口為低電平,程序 通過查詢此 I/O口的電平狀態(tài)就可以判斷是次按鍵是否按下。 獨(dú)立式盤接口可分為查詢方式的獨(dú)立式按鍵電路(下左圖)和中斷式的獨(dú)立按鍵電路(下右圖)。 查詢方式的獨(dú)立式按鍵電路 查詢方式的獨(dú)立式按鍵電路 行列式按鍵 所謂矩陣式就是說 用 I/O口線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。用 3 3的行列結(jié)構(gòu)可構(gòu)成 9 個(gè)鍵的鍵盤, 4 4 行列結(jié)構(gòu)可構(gòu)成 16 個(gè)鍵的鍵盤。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省 I O口線。 電磁爐控制系統(tǒng)單片機(jī)模擬 11 a 逐點(diǎn)掃描法 設(shè) P1 口的低 4 位置為 0,高 4 為置為 1,當(dāng)無案件時(shí),高位中的高電平會(huì)和低位中的低電平短路。此時(shí)高位中的高電平會(huì)被拉低,即高 4 位中有 0 出現(xiàn)。當(dāng)單片機(jī)讀 P1 口的值不為 F0H時(shí)則表示有鍵按下,經(jīng)過去抖動(dòng)處理后開始掃描這一個(gè)按鍵的位置。先把 P1 的高 4 位置 0,低 4位置 1,下面置低第 1 列線并置高第 1 行,之后再讀第 1 行的電平,為高電平說明為高說明不是第 1 行第 1 列的鍵按下,跳到下一個(gè)點(diǎn) (第 1行第 2列 )的掃描。為低電平則說明第 1 行第 1列的按鍵被按下,并調(diào)用相應(yīng)程序。 b 逐行掃描法 和逐點(diǎn)掃描的方法相似,只是數(shù)據(jù)的處理以一行的 4 位數(shù)據(jù)直接處理,也就是先使能第 1 行(置低電平),然后看那一列的數(shù)據(jù)變成低電平了,如果高四位的數(shù)據(jù)沒有變成低電平則使能下一行。找到了按鍵所在的行并測出列數(shù)據(jù)就可以調(diào)用相應(yīng)的處理程序。 c 全局掃描法 全局掃描是先設(shè) P1 的高 4位置 1,低 4位置 0,即 F0H,然后讀取 P1口的數(shù)據(jù)如果不為 F0H說明有按鍵按下,經(jīng)過延時(shí)去除抖動(dòng)后讀出 P1 口的值,因?yàn)榈?4位是 0,無論是否按下都不會(huì)影響它,只有高 4位被改變。將數(shù)據(jù)送入寄存器后再把 P1的狀態(tài)反過來,將 P1 的高 4位置 0,低 4位置 1,即 F0H,再讀一次數(shù)據(jù)。這時(shí)高 4 位的值是 0 依 然不變。這樣兩次讀取我們就得到了 2個(gè)字節(jié)的數(shù)據(jù)( XXXX0000 和 0000XXXX, X 為讀到的數(shù)據(jù)),最后我們將這兩個(gè)數(shù)相或(將兩個(gè)半字節(jié)數(shù)據(jù)融合為一個(gè)字節(jié)),就得到了一個(gè)新的字節(jié),用這個(gè)字節(jié)和我們?cè)O(shè)定的數(shù)據(jù)比較來決定按鍵。 (2)電磁爐中的按鍵設(shè)置 因?yàn)殡姶艩t設(shè)計(jì)中共設(shè)置啦六種加熱模式,而功率可加可減,預(yù)約和定時(shí)功能,總開關(guān)。共設(shè)置啦 11個(gè)按鍵。( 5個(gè)按鍵為空閑)可以選用行列式按鍵電路( 4*4)共占用 9個(gè) I/O口。 ( 3) 消除抖動(dòng) 通常所用的按鍵為輕觸機(jī)械開關(guān),正常情況下按 鍵的接點(diǎn)是斷開的,當(dāng)我們按壓按鈕時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而機(jī)械觸點(diǎn)在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),這種抖動(dòng)一般是在 1020 毫秒之間這種不穩(wěn)定的抖動(dòng)時(shí)間對(duì)人類來說太快了,而對(duì)單片機(jī)來說則是漫長的,為了提高系統(tǒng)的穩(wěn)定性必須去除或避開它目前的技術(shù)有硬件去除抖動(dòng)和軟件去除抖動(dòng)。硬件去除抖動(dòng)就是用部分電路對(duì)抖動(dòng)部分加以處理, 但實(shí)現(xiàn)難度大成本高,我們一般采用軟件去除抖動(dòng),實(shí)現(xiàn)方法是先查詢按鍵當(dāng)有 電磁爐控制系統(tǒng)單片機(jī)模擬 12 低電平出現(xiàn)時(shí)立即延時(shí) 10200毫秒以避 開抖動(dòng),延時(shí)結(jié)束后再讀一次 I/O口的值這次的值如果為1表示低電平的時(shí)間不到 10200毫秒,視為干擾信后,當(dāng)讀出的值是 0時(shí)則表示有按鍵按下,調(diào)用相應(yīng)的處理程序。 (4) 程序 ORG 0000H TEST: MOV P1,#0F0H ; P1.0 P1.3輸出 0, P1.4 P1.7輸出 1,作輸入位 MOV A,P1 ;讀鍵盤,檢測有無鍵按下 ANL A,#0F0H ; 屏蔽 P1.0 P1.3,檢測 P1.4 P1.是否全為 1 CJNE A, #0F0H,HAVE ; P1.4 P1.7不全為 1,有鍵按下 SJMP TEST ; P1.4 P1.7全為 1,無鍵按下,重檢測鍵盤 HAVE: MOV A,#0FE ;有鍵按下,逐行掃描鍵盤,置掃描初值 NEXT: MOV B,A ;掃描碼暫存于 B MOV P1,A ;輸出掃描碼 READ: MOV A,P1 ;讀鍵盤 ANL A,#0F0H ; 屏蔽 P1.0 P1.3,檢測 P1.4 P1.是否全為 1 CJNE A, 0F0H,YES ; P1.4 P1.7不全為 1,該行有鍵按下 MOV A,B ;被掃行無鍵按下,準(zhǔn)備查下一行 RL A ;置下一行掃描碼 CJNE A,#0EFH,NEXT ;未掃到到最后一行循環(huán) YES: ACALL DAY ;延時(shí)去抖動(dòng) AREAD: MOV A,P1 ;再讀鍵盤 ANL A,#0F0H ;屏蔽 P1.0 P1.3,保留 P1.4 P1.7(列碼 ) MOV R2,A ;暫存列碼 MOV A, B ANL A,#0FH ;取行掃描碼 ORL A,R2 ;行碼、列碼合并為鍵編碼 YES1: MOV B,A ;鍵編碼存于 B LJMP SAM38 ;轉(zhuǎn)鍵分析處理程序 電磁爐控制系統(tǒng)單片機(jī)模擬 13 2.2.3 多路開關(guān)狀態(tài)指示 在電磁爐的按鍵按下時(shí)要求按下的按鍵下的指示燈發(fā)光,設(shè)計(jì)通過在 AT89S51 單片機(jī)的(P2.4、 P2.5、 P2.6、 P2.7、 P3.2、 P0.7)接發(fā)光二級(jí)管,按鍵外查詢時(shí)接口按鍵的對(duì)應(yīng)按鍵。 下面是一種簡單的設(shè)計(jì)電路, P2.0 P1.3 接四個(gè)發(fā)光二極管 L1 L4, P1.4 P1.7 接了四個(gè)開關(guān) K1 K4,編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。(開關(guān)閉合,對(duì)應(yīng)的燈亮,開關(guān)斷開,對(duì)應(yīng)的燈 ) (1) 電路原理圖 (2) 線路連接 把 AT89C51單片機(jī)的 P1.0 P1.3用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的 L1 L4端口上。 把單片機(jī)的 P1.4 P1.7用導(dǎo)線連接到“四路撥動(dòng)開關(guān)”區(qū)域中的 K1 K4端口上。 ( 3)程序設(shè)計(jì)思路 a 開關(guān)狀態(tài)檢測 對(duì)于開關(guān)狀態(tài)檢測,相對(duì)單片機(jī)來說,是輸入關(guān)系,我們可輪流檢測每個(gè)開關(guān)狀態(tài),根據(jù)每個(gè)開關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示,可以采用 JB P1.X, REL或 JNB P1.X, REL指令來完成;也可以一次性檢測四路開關(guān)狀態(tài),然后讓其指示,可以采用 MOV A, P1指令 一次把 P1端口的狀態(tài)全部讀入,然后取高 4位的狀態(tài)來指示。 b 輸出控制 根據(jù)開關(guān)的狀態(tài),由發(fā)光二極管 L1 L4來指示,我們可以用 SETB P1.X和 CLR P1.X指令來完成,也可以采用 MOV P1, 1111XXXXB方法一次指示。 (4)程序 ORG 00H START: JB P1.4,NEXT1 CLR P1.0 SJMP NEX1 電磁爐控制系統(tǒng)單片機(jī)模擬 14 NEXT1: SETB P1.0 NEX1: JB P1.5,NEXT2 CLR P1.1 SJMP NEX2 NEXT2: SETB P1.1 NEX2: JB P1.6,NEXT3 CLR P1.2 SJMP NEX3 NEXT3: SETB P1.2 NEX3: JB P1.7,NEXT4 CLR P1.3 SJMP NEX4 NEXT4: SETB P1.3 NEX4: SJMP START END 2.2.4定時(shí)模塊 在 AT89S51單片機(jī)的 P0和 P2端口分別接有兩個(gè)共陰數(shù)碼管, P0口驅(qū)動(dòng)顯示秒時(shí)間的十位,而 P2口驅(qū)動(dòng)顯示秒時(shí)間的個(gè)位。 (1) 電路原理圖 (2) 線路連接 把單片機(jī)的 P0.0/AD0 P0.7/AD7端口用 8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè) a h端口上;要求: P0.0/AD0對(duì)應(yīng)著 a, P0.1/AD1對(duì)應(yīng)著 b, P0.7/AD7對(duì)應(yīng)著 h。 電磁爐控制系統(tǒng)單片機(jī)模擬 15 把“單片機(jī)系統(tǒng)”區(qū)域中的 P2.0/A8 P2.7/A15端口用 8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè) a h端口上;要求: P2.0/A8 對(duì)應(yīng)著 a, P2.1/A9對(duì)應(yīng)著 b, P2.7/A15對(duì)應(yīng)著 h。 ( 3)設(shè)計(jì)思路 在設(shè)計(jì)過程中我們 用一個(gè)存儲(chǔ)單元作為秒計(jì)數(shù)單元,當(dāng)一秒鐘到來時(shí),就讓秒計(jì)數(shù)單元加1,當(dāng)秒計(jì)數(shù)達(dá)到 60時(shí),就自動(dòng)返回到 0,從新秒計(jì)數(shù)。 對(duì)于秒計(jì)數(shù)單元中的數(shù)據(jù)要把它十位數(shù)和個(gè)數(shù)分開,方法仍采用對(duì) 10 整除和對(duì) 10 求余。 在數(shù)碼上顯示,仍通過查表的方式完成。 一秒時(shí)間的產(chǎn)生在這里我們采用軟件精確延時(shí)的方法來完成,經(jīng)過精確計(jì)算得到 1秒時(shí)間為 1.002秒。延時(shí)一秒的程序?yàn)椋?DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET ( 4)程序框圖 ( 5) 程序 Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second MOV B,#10 DIV AB MOV DPTR,#TABLE 電磁爐控制系統(tǒng)單片機(jī)模擬 16 MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A LCALL DELY1S INC Second MOV A,Second CJNE A,#60,NEXT LJMP START DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 2.2.5 LED顯示模塊 ( 1) LED數(shù)碼管結(jié)構(gòu) LED顯示器的結(jié)構(gòu)由 8個(gè)發(fā)光二極管按“日”字形排列。分別控制各筆畫段的 LED,使其 的某些發(fā)亮,從而可以顯示出 0 9的阿拉伯?dāng)?shù)字符號(hào)以及其它能由這些筆畫段構(gòu)成的各種字符。 把 所有發(fā)光二極管的陽極連在一起稱作共陽極數(shù)碼管,把所有個(gè)發(fā)光二極管的陰極連在一起稱為共陰極數(shù)碼管。 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電 路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 ( 2) 數(shù)碼管的驅(qū)動(dòng)方式 靜態(tài)顯示驅(qū)動(dòng) 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的 I/O端口進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二 -十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用 I/O端口多,實(shí)際應(yīng)用時(shí)必須增 動(dòng)態(tài)顯示驅(qū)動(dòng) 數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通 COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為 1 2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng) ,盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O端口,而且功耗更低。 電磁爐控制系統(tǒng)單片機(jī)模擬 17 ( 3)電磁爐中采用的四位 LED數(shù)碼管電路 ( 4)數(shù)碼管程序 LIST P=89C51 ROMSIZE=3072 ;* ; 系統(tǒng)寄存器 ;* IE EQU 00H ;中斷使能標(biāo)志 IRQ EQU 01H ;中斷請(qǐng)求標(biāo)志 TM0 EQU 02H ;Timer0 模式寄存器 TL0 EQU 04H ;Timer0 裝入 /記數(shù)寄存器低四位 TH0 EQU 05H ;Timer0 裝入 /記數(shù)寄存器高四位 TBR EQU 0EH ;查表寄存器 PORTB EQU 09H ;Port B 數(shù)據(jù)寄存器 PORTE EQU 0CH ;Port E 數(shù)據(jù)寄存器 PORTF EQU 0DH ;Port F 數(shù)據(jù)寄存器 INX EQU 0FH ;間接尋址偽索引寄存器 DPL EQU 10H ;INX 數(shù)據(jù)指針低四位 DPM EQU 11H ;INX 數(shù)據(jù)指針中三位 DPH EQU 12H ;INX 數(shù)據(jù)指針高三位 PBCR EQU 19H ;Port B 輸入 /輸出控制寄存器 PECR EQU 1CH ;Port E 輸入 /輸出控制寄存器 電磁爐控制系統(tǒng)單片機(jī)模擬 18 PFCR EQU 1DH ;Port F 輸入 /輸出控制寄存器 ;* ; 用戶定義寄存器 ;* AC_BAK EQU 30H ;AC 值備份寄存器 PB_BAK EQU 32H ;Port B 數(shù)據(jù)備份寄存器 PE_BAK EQU 35H ;Port E 數(shù)據(jù)備份寄存器 PF_BAK EQU 36H ;Port F 數(shù)據(jù)備份寄存器 ;- ; 用于 TIMER 定時(shí) T1MS_CT EQU 37H ;計(jì)數(shù)值 =04H,定時(shí) 1ms ;- F_TIMER EQU 39H ;bit0=1, 1ms 到 FLAG1 EQU 3AH ;bit0=1, 按鍵未松開 ;- ; Used for display DISP_R1 EQU 3BH ;第一位 7 段 LED 顯示的字符 DISP_R2 EQU 3CH ;第二位 7 段 LED 顯示的字符 DISP_R3 EQU 3DH ;第三位 7 段 LED 顯示的字符 DISP_R4 EQU 3EH ;第四位 7 段 LED 顯示的字符 DISP_PT EQU 3FH ;位選指針 ;* ; 程序 ;* ORG 0000H JMP RESET RTNI JMP TIMER0_ISP ;TIMER0 中斷程序入口地址 RTNI RTNI ;* ; TIMER0 中斷服務(wù)程序 ;* TIMER0_ISP: STA AC_BAK,00H ;備份 AC 值 ANDIM IRQ,1011B ;清 TIMER0 中斷請(qǐng)求標(biāo)志 J1MS: SBIM T1MS_CT,01H BNZ TIMER0_ISP_END ;未到 1ms, 跳轉(zhuǎn) LDI T1MS_CT,04H ;重置 1ms 計(jì)數(shù)器 ORIM F_TIMER,0001B ;設(shè)置 1ms 到 標(biāo)志 TIMER0_ISP_END: LDI IE,0100B ;打開 TIMER0 中斷 LDA AC_BAK,00H ;取出 AC 值 RTNI ;* ; 主程序 ;* RESET: NOP ;- ;清用戶寄存器 電磁爐控制系統(tǒng)單片機(jī)模擬 19 ;- POWER_RESET: LDI DPL,00H LDI DPM,02H LDI DPH,00H POWER_RESET_1: LDI INX,00H ADIM DPL,01H LDI TBR,00H ADCM DPM,00H BA3 POWER_RESET_2 JMP POWER_RESET_3 POWER_RESET_2: ADIM DPH,01H POWER_RESET_3: SBI DPH,01H BNZ POWER_RESET_1 SBI DPM,04H BNZ POWER_RESET_1 ;- ;初始化系統(tǒng)寄存器 ;- SYSTEM_INITIAL: ;TIMER0 初始化 LDI TM0,07H ;設(shè)置 TIMER0 預(yù)分頻為 /1 LDI TL0,06H LDI TH0,00H ;設(shè) 置中斷時(shí)間為 250us LDI T1MS_CT,04H ;定時(shí) 1ms ;I/O 口初始化 LDI PORTB,00H LDI PBCR,0FH ;設(shè)置 Port B 作為輸出口 LDI PORTE,0FH LDI PECR,0FH ;設(shè)置 Port E 作為輸出口 LDI PORTF,0FH LDI PFCR,0FH ;設(shè)置 Port F 作為輸出口 ;- MAIN_PRE: LDI IRQ,00H LDI IE,0100B ;打開 Timer0 中斷 MAIN: ADI F_TIMER,0001B BA0 HALTMODE ;未到 1ms,跳轉(zhuǎn) ANDIM F_TIMER,1110B ;清 1ms 到 標(biāo)志 ;- ; 加載顯示數(shù)據(jù) (用于測試 7 段 LED 顯示模塊 ) ;- LDI DISP_R1,03H LDI DISP_R2,07H LDI DISP_R3,09H LDI DISP_R4,0FH * * 模塊 : 4 位 7 段 LED 顯示模塊 * 電磁爐控制系統(tǒng)單片機(jī)模擬 20 * 輸入變量 : DISP_R1,DISP_R2,DISP_R3,DISP_R4 * * 使用變量 : DISP_PT,TBR,PB_BAK,PE_BAK,PF_BAK * * 輸出變量 : PORTB,PORTE,PORTF * ;* DISPLAY: DISP_1: ADIM DISP_PT,01H ;指針加一 SBI DISP_PT,01H BAZ DISP_11 ;顯示位 1 數(shù)碼管 , 跳轉(zhuǎn) SBI DISP_PT,02H BAZ DISP_12 ;顯示位 2 數(shù)碼管 , 跳轉(zhuǎn) SBI DISP_PT,03H BAZ DISP_13 ;顯示位 3 數(shù)碼管 , 跳轉(zhuǎn) ;- ;顯示位 4 數(shù)碼管 ;- DISP_14: LDI DISP_PT,00H ;指針清零 LDI PB_BAK,0001B ;預(yù)設(shè)位選碼 LDI TBR,0FH LDA DISP_R4,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得預(yù)設(shè)段選碼的值 JMP DISPLAY_END ;- ;顯示位 3 數(shù)碼管 ;- DISP_13: LDI PB_BAK,0010B ;預(yù)設(shè)位選碼 LDI TBR,0FH LDA DISP_R3,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得預(yù)設(shè)段選碼的值 JMP DISPLAY_END ;- ;顯示位 2 數(shù)碼管 ;- DISP_12: LDI PB_BAK,0100B ;預(yù)設(shè)位選碼 LDI TBR,0FH LDA DISP_R2,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得預(yù)設(shè)段選碼的值 JMP DISPLAY_END ;- ;顯示位 1 數(shù)碼管 電磁爐控制系統(tǒng)單片機(jī)模擬 21 ;- DISP_11: LDI PB_BAK,1000B ;預(yù)設(shè)位選碼 LDI TBR,0FH LDA DISP_R1,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得預(yù)設(shè)段選碼的值 JMP DISPLAY_END DISPLAY_END: LDI PORTB,00H ;關(guān)閉顯示 LDA PE_BAK,00H STA PORTE,00H LDA PF_BAK,00H STA PORTF,00H ;送出預(yù)設(shè)的段選碼到 I/O 口 LDA PB_BAK,00H STA PORTB,00H ;送出預(yù)設(shè)的位選 碼到 I/O 口,顯示該位 ;* HALTMODE: NOP HALT NOP NOP NOP JMP MAIN ;* ORG 07EFH TJMP ;- ;顯示段選碼數(shù)據(jù)表(共陽極) ORG 07F0H;d p g f e, d c b a RTNW 1100B,0000B ;0 RTNW 1111B,1001B ;1 RTNW 1010B,0100B ;2 RTNW 1011B,0000B ;3 RTNW 1001B,1001B ;4 RTNW 1001B,0010B ;5 RTNW 1000B,0010B ;6 RTNW 1111B,1000B ;7 RTNW 1000B,0000B ;8 RTNW 1001B,0000B ;9 RTNW 1000B,1000B ;A RTNW 1000B,0011B ;B RTNW 1100B,0110B ;C RTNW 1010B,0001B ;D RTNW 1000B,0110B ;E RTNW 1000B,1110B ;F END 電磁爐控制系統(tǒng)單片機(jī)模擬 22 2.3檢測模塊 2.3.1 A/D、 D/A 轉(zhuǎn)換模塊 ( 1)保護(hù)電路 A/D、 D/A轉(zhuǎn)換控制原理 電路保護(hù)邏輯采樣電路( A/D 轉(zhuǎn)換) , 當(dāng)外圍檢測電路檢測到過壓、欠壓、過流、過熱、無過或其他故障時(shí),光電隔離導(dǎo)通,輸出高電平。單片機(jī)就可以識(shí)別。 ( 2)電路保護(hù)控制電路( D/A轉(zhuǎn)換) 單片機(jī)識(shí)別到數(shù)據(jù)后便在控制端口輸出低電平,高電平通過光電隔離控制負(fù)責(zé)停止工 作。 2.3.2 過壓、欠壓檢測模塊 輸出過壓保護(hù)電路的作用是:當(dāng)輸出電壓超過設(shè)計(jì)值時(shí),把輸出電壓限定在一安全值的范圍內(nèi)。當(dāng)開關(guān)電源內(nèi)部穩(wěn)壓環(huán)路出現(xiàn)故障或者由于用戶操作不當(dāng)引起輸出過壓現(xiàn)象時(shí),過壓保護(hù)電路進(jìn)行保護(hù)以防止損壞后級(jí)用電設(shè)備。 AC接入后,經(jīng)過半波整流,由 R10和 R17產(chǎn)生 分壓,對(duì)電路的電壓進(jìn)行比例式測量,以判斷電路電 壓是否超過或不足,并將測試信號(hào)輸入單片機(jī),由單 片機(jī)控制 IGBT功率管關(guān)閉,同時(shí)驅(qū)動(dòng)報(bào)警電路。 2.3.3過流檢測模塊 電磁爐控制系統(tǒng)單片機(jī)模擬 23 電流互感器 CT1 二次測得的 AC 電壓 , 經(jīng) D1、 D2、 D3、 D4 組成的橋式整流電路整流、 R12 、 R13 分壓, C11 濾波 , 所獲得的直流電壓送至 CPU 5 腳 , 該電壓越高 , 表示電源輸入的電流越大 , CPU 根據(jù)監(jiān)測該電壓的變化 , 自動(dòng)作出各種動(dòng)作指令 。 2.3.4溫度檢測模塊 溫度通過溫度傳感器(熱敏電阻)對(duì)電磁爐板面進(jìn)行采樣并轉(zhuǎn)換為電壓信號(hào),經(jīng)放大器放大后用模數(shù)轉(zhuǎn)換器進(jìn)行 A/D轉(zhuǎn)換成數(shù)字量進(jìn)入 AT89C51 單片機(jī) 。 ( 1)電路原理圖 加熱鍋 具底部的溫度透過微晶玻璃板傳至緊貼玻璃板底的負(fù)溫度系數(shù)熱敏電阻 , 該電阻阻值的變化間接反影了加熱鍋具的溫度變化 ( 溫度 / 阻值祥見熱敏電阻溫度分度表 ), 熱敏電阻與 R4 分壓點(diǎn)的電壓變化其實(shí)反影了熱敏電阻阻值的變化 , 即加熱鍋具的溫度變化 , CPU 8 腳通過監(jiān)測該電壓的變化 , 作出相應(yīng)的動(dòng)作指令 : 定溫功能時(shí) , 控制加熱指令 , 另被加熱物體溫度恒定在指定范圍內(nèi)。 當(dāng)鍋具溫度高于 270 時(shí) , 加熱立即停止 , 并報(bào)知信息 2.3.5 鍋檢測與小物件檢測模塊 ( 1) 鍋檢 測原理 提鍋檢測是為了防止負(fù)載劇烈變化,因?yàn)樵谔徨伝驘o鍋時(shí)都會(huì)影響到諧振電路的參數(shù)變化,導(dǎo)致流過IGBT 的電流升高時(shí)燒壞 IGBT,所以只要以上的過流檢測和保護(hù)電路穩(wěn)定就能防止提鍋時(shí)發(fā)生的大電流情況 小物件檢測: 小物件檢測就是防止要加熱的物件不正確而損壞物件,通常是檢測諧振電路的頻率大小或是檢測諧振回路電流大小,通過檢測在導(dǎo)通 IGBT 時(shí)流過的電流大小就可以判斷出來是否為小物件, 這要保證單片機(jī)輸出的 PWM 寬度不能太大 而且要保證 PWM 周期為最大值。 電磁爐控制系統(tǒng)單片機(jī)模擬 24 ( 2)電路圖 將 IGBT(Q1) 集電極上的脈沖電壓通過 R1+R17 、 R28 分壓 R29 限流后,送至 AT89C51的 6 腳 , 在 6 腳上獲得其取樣電壓 , 此反影了 IGBT 的 VCE 電壓變化的信息送AT89C51,AT89C51 根據(jù)監(jiān)測該電壓的變化 , 自動(dòng)作出電壓比較而決定是否工作。 配合 VAC 檢測電路、電流檢測電路反饋的信息 , 判別是否己放入適合的鍋具 , 作出相應(yīng)的動(dòng)作指令。 根據(jù) VCE 取樣電壓值 , 自動(dòng)調(diào)整 PWM 脈寬 , 抑制 VCE 脈沖幅度不至于過高。 當(dāng)測得其它原因?qū)е?VCE 脈沖高于定值時(shí) , AT89C51立即發(fā)出指令使電磁爐停止工作。 2.3.6加熱開關(guān)控制 當(dāng)不加熱時(shí) ,CPU 輸出低電平,同時(shí)停止 PWM 輸出 , D7 導(dǎo)通 , 將 LM339 電壓拉低 , 振蕩停止 , 使 IGBT 激勵(lì)電路停止輸出 ,IGBT 截止 , 則加熱停止。 開始加熱時(shí) , CPU 輸出高電平 ,D7 截止 , 同時(shí) CPU 開始間隔輸出 PWM 試探信號(hào) , 同時(shí) CPU 通過分析電流檢測電路和電壓檢測電路反饋的電壓信息、鍋檢測電路反饋的電壓波形變化情況 , 判斷是否己放入適合的鍋 具 , 如果判斷己放入適合的鍋具 ,CPU 輸出正常的 PWM 信號(hào) , 電磁爐進(jìn)入正常加熱狀態(tài) , 如果電流檢測電路、電壓檢測電路和鍋檢測電路反饋的信息 , 不符合條件 ,CPU 會(huì)判定為所放入的鍋具不符 或無鍋 , 則繼續(xù)輸出 PWM 試探信號(hào) , 同時(shí)發(fā)出指示無鍋的報(bào)知信息 , 如 30 秒鐘內(nèi)仍不符合條件 , 則關(guān)機(jī)。 2.3.7蜂鳴器驅(qū)動(dòng)電路 ( 1)線路連接 把 AT89C51單片機(jī)的 P1.0端口用導(dǎo)線連接到音頻放大模塊區(qū)域中的 SPK IN端口上, 在音頻放大模塊區(qū)域中的 SPK OUT端口上 接上一個(gè) 8歐或者是 16 歐的喇叭; ( 2)電路原理圖 電磁爐控制系統(tǒng)單片機(jī)模擬 25 ( 3)程序設(shè)計(jì)思路 要使報(bào)警器發(fā)出“嘀、嘀、”報(bào)警聲,我們可以通過 AT89C51單片機(jī)輸出一種方波電平信號(hào),嘀 0.2 秒鐘,然后斷 0.2 秒鐘,如此循環(huán)下去,就可以在蜂鳴器聽到“嘀、嘀、”報(bào)警聲了。假設(shè)嘀聲的頻率為 1KHz,則報(bào)警聲時(shí)序圖如下圖所示: 由于要產(chǎn)生上面的信號(hào),我們把上面的信號(hào)分成兩部分,一部分為 1KHZ方波,占用時(shí)間為 0.2秒;另一部分為電平,也是占用 0.2秒; 因此,我們利用單片機(jī)的定時(shí) /計(jì)數(shù)器 T0作為定時(shí),可以定時(shí) 0.2秒;同時(shí),也要用單片機(jī)產(chǎn)生 1KHZ的方波,對(duì)于 1KHZ的方波信號(hào)周期為 1ms,高電平占用 0.5ms,低電平占用 0.5ms,因此也采用定時(shí)器 T0 來完成 0.5ms的定時(shí);最后,可以選定定時(shí) /計(jì)數(shù)器 T0的定時(shí)時(shí)間為 0.5ms,而要定時(shí) 0.2秒則是 0.5ms的 400倍,也就是說以 0.5ms定時(shí) 400次就達(dá)到 0.2 秒的定時(shí)時(shí)間了。 ( 4) 程序框圖 主程序框圖 中斷服務(wù)程序框圖 電磁爐控制系統(tǒng)單片機(jī)模擬 26 ( 5)蜂鳴器驅(qū)動(dòng)程序 ORG 00H AJMP FG ORG 030H FG: SETB P3.0 LCALL DLY LCALL DLY CLR P3.0 LCALL DLY LCALL DLY AJMP FG ;-延時(shí)子程序 DLY: MOV R0,#20 DLY0: MOV R7,#100 DLY1: MOV R6,#250 DJNZ R6,$ DJNZ R7,DLY1 DJNZ R0,DLY0 RET END 2.3.8風(fēng)扇模塊 當(dāng)電源接通時(shí)單片機(jī)發(fā)出風(fēng)扇驅(qū)動(dòng)信號(hào),使風(fēng)扇持續(xù)轉(zhuǎn)動(dòng),吸入外冷空氣至機(jī)體內(nèi),再從機(jī)體后側(cè)排出熱空氣,以達(dá)至機(jī)內(nèi)散熱目的,避免零件因高溫工作環(huán)境造成損壞故障。當(dāng)風(fēng)扇停轉(zhuǎn)或散熱不良, IGBT 表貼熱敏電阻將超溫信號(hào)傳送到 CPU,停止加熱,實(shí)現(xiàn)保護(hù)。通電瞬間 CPU 會(huì)發(fā)出一個(gè)風(fēng)扇檢測信號(hào),以后整機(jī)正常運(yùn)行時(shí) CPU發(fā)出風(fēng)扇驅(qū)動(dòng)信號(hào)使其工作。 電磁爐控制系統(tǒng)單片機(jī)模擬 27 CPU 15 腳發(fā)出風(fēng)扇運(yùn)轉(zhuǎn)指令時(shí) , 15 腳輸出高電平 , 電壓通過 R27 送至 Q3 基極 ,Q3 飽和導(dǎo)通 ,VCC 電流流過風(fēng)扇、 Q3 至地 , 風(fēng)扇運(yùn)轉(zhuǎn) ; CPU 發(fā)出風(fēng)扇停轉(zhuǎn)指令時(shí) , 15 腳輸出低電平 ,Q3 截止 , 風(fēng)扇因沒有電流流過而停轉(zhuǎn)。 3 單片機(jī)軟件編程及調(diào)試 3.1單片機(jī)語言集成開發(fā)平臺(tái) 3.1.1 u Vision2 集成開發(fā)環(huán)境 Kiel公司推出的集成開發(fā)環(huán)境 u Vision2,是一種 32 位標(biāo)準(zhǔn)的 windows應(yīng)用平臺(tái),支持長文件名操作,界面類似 MS Vision C+ ,可在 windows95/98/2000/XP平臺(tái)上運(yùn)行,功能強(qiáng)大。 u Vision2 中包含了源程序文件編譯器 ,項(xiàng)目管理器、源程序調(diào)試器等。并為 Cx51編譯器、 Ax51宏匯編 器、 BL51/Lx51連接定位器、 RPX51實(shí)時(shí)操作系統(tǒng)等提供了單一而靈活的開發(fā)環(huán)境。 ( 1) u Vision2 具有強(qiáng)大的項(xiàng)目管理功能,一個(gè)項(xiàng)目 由 源程序文件、開發(fā)工具選項(xiàng)以及編程說明三部分組成,通過目標(biāo)創(chuàng)建選項(xiàng)很容易實(shí)現(xiàn)對(duì)一個(gè) u Vision2 項(xiàng)目進(jìn)行完整的變異和連接,直接產(chǎn)生 最終應(yīng)用目 標(biāo)程序。 ( 2) u Vision2 中包含一個(gè)器件數(shù)據(jù)庫,數(shù)據(jù)庫中有各種單片機(jī)片上儲(chǔ)存器和外圍集成功能信息。 ( 3) u Vision2中集成的 Debug調(diào)試器具有十分強(qiáng)大的仿真調(diào)試功能,支持軟件模擬和用戶目標(biāo)板調(diào)試兩種工作方式 3.1.2 Keil C51 開發(fā)單片機(jī)應(yīng)用程序的步驟 ( 1)在 u Vision2 集成開發(fā)環(huán)境中創(chuàng)建一個(gè)新項(xiàng)目,并為該項(xiàng)目選擇合適的 CPU器件 ( 2)利用 u Vision2 的文件編程器編寫源程序文件,并將程序添加到項(xiàng)目中去。 ( 3)通過 u Vision2 的各種選項(xiàng),配置 Cx51 編譯器、 Ax51宏匯編 器、 BL51/Lx51連接定位器以及 Debug調(diào)試器的功能。 ( 4)利用 u Vision2的構(gòu)造功 能對(duì)項(xiàng)目中的源程序文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的 HEX文件,如果出現(xiàn)編譯連接錯(cuò)誤則返回到第步,修改源程序中的錯(cuò)誤后重新構(gòu)造整個(gè)項(xiàng)目。 ( 5)將沒有錯(cuò)誤的絕對(duì)目標(biāo)代碼裝入 u Vision2 調(diào)試器進(jìn)行仿真調(diào)試,調(diào)試成功后將 HEX 文件寫入到單片機(jī)應(yīng)用系統(tǒng)的 EPROM中。 結(jié) 論 本文研究了電磁爐的基本原理,然后提出了設(shè)計(jì)思路,再根據(jù)設(shè)計(jì)思路解剖電磁爐的各個(gè)模塊。再結(jié)合軟件和硬件的方式實(shí)驗(yàn)的方式研究模塊。 首先,先介紹啦電磁爐的加熱原理、工作方式、設(shè)計(jì)要求以及設(shè)計(jì)單片機(jī) AT89C51 的 端口定義。其次簡單的介紹啦單片機(jī)的原理:主要特性、最小應(yīng)用系統(tǒng)、內(nèi)部結(jié)構(gòu)管教圖以及管教功能。然后介紹單片機(jī)的內(nèi)部模塊:電源模塊(主電源電路、副電源電路、穩(wěn)壓電路)、控制模塊( PWM脈寬調(diào)制輸出電路的功率控制、按鍵識(shí)別功能及消除抖動(dòng)、多路開關(guān)狀態(tài)指示、定時(shí)器模塊、四位七段 LED 數(shù)碼管驅(qū)動(dòng)、加熱開關(guān)控制)、檢測模塊( A/D、 D/A 轉(zhuǎn)換控制原理、電源過壓欠壓檢測、電流檢測、溫度檢測、無鍋檢測及小物件檢測、報(bào)警驅(qū)動(dòng)、散熱系統(tǒng))。最后介紹了單片機(jī)的開發(fā)環(huán)節(jié)。 這次畢 業(yè)設(shè)計(jì)中時(shí)間緊迫 使得設(shè)計(jì)不夠完善, 但我學(xué)會(huì)了 很多 ,也感到自身知識(shí)的貧乏 ,希望在日后的努力中能做出更完善的 設(shè)計(jì)。 電磁爐控制系統(tǒng)單片機(jī)模擬 28 致 謝 從論文選題到搜集資料,到寫稿到反復(fù)修改,期間經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在 寫作 論文的過程 中心 情是如此復(fù)雜。如今,伴隨著這篇 畢業(yè) 論文的最終成稿,復(fù)雜的心情煙消云散,自己甚至還有一點(diǎn)成就感。 我的這篇 畢業(yè) 論文的完成,首先應(yīng)當(dāng)感謝指導(dǎo)老師董永濤副教授。他始終認(rèn)真負(fù)責(zé)地給予我深刻而細(xì)致地 指導(dǎo) ,幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。無論是在資料整理、模擬試驗(yàn)、論文撰寫和修改 等各個(gè)方面他都給予了大量的 指導(dǎo) 和幫助,令我不但完成了論文,也讓我學(xué)到了很多知識(shí),掌握了相關(guān)的知識(shí),同時(shí)也獲得了實(shí)踐鍛煉的機(jī)會(huì)。他對(duì)我的嚴(yán)格要求以及為人的誠懇都將使我受益匪淺,特致以深深的感謝。 參 考 文 獻(xiàn) 1肖健華、經(jīng)順林 .模糊控制在家電產(chǎn)品中的應(yīng)用與展望 . 五邑大學(xué)學(xué)報(bào) (自然科學(xué)版 ),2001 2郝建國、鄭燕、薛延俠 .單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用 M.北京:清華大學(xué) 出版社 ,2006 3余錫存、曹國華 .單片機(jī)原理及接口芯片 M.西安:西安電子科技大學(xué)出版社, 2004 4沙占友、王彥朋、周萬珍 .單片開關(guān)電源最新應(yīng)用技術(shù) M.機(jī)械工業(yè)出版社, 2006 5彭為、黃科、雷道仲 .單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講 M.電子工業(yè)出版社, 2006 6黃偉智 .全國大學(xué)生電子設(shè)計(jì)競賽電路設(shè)計(jì) M.北京:北京航空航天大學(xué)出版社, 2006 7徐愛鈞、彭秀華 . keil cx51 v7.0 單片機(jī)高級(jí)語言編程與 u Vision2 應(yīng)用實(shí)踐 M. 電子業(yè)出版社, 2004 8程繼興、楊光永、李泰 .單片機(jī)原理及應(yīng)用 M.北京:中國傳媒大學(xué)出版社, 2007 951 測試網(wǎng): / 1051 單片機(jī)學(xué)習(xí)網(wǎng): / 1151 單片機(jī)學(xué)習(xí)網(wǎng): / 12單片機(jī)之家 單片機(jī)學(xué)習(xí)網(wǎng)站: / 1351 單片機(jī)實(shí)驗(yàn)網(wǎng): / 電磁爐控制系統(tǒng)單片機(jī)模擬 29 附表: 單機(jī)指令表 助記符 指令說明 字節(jié)數(shù) 周期數(shù) ( 51單片機(jī)指令 -數(shù)據(jù)傳遞類指令) MOV A, Rn 寄存器傳送到累加器 1 1 MOV A, direct 直接地址傳送到累加器 2 1 MOV A, Ri 將 Ri所指示的內(nèi)部 RAM單元中的數(shù)據(jù)傳到 A 1 1 MOV A, #data 立即數(shù)傳送到累加器 2 1 MOV Rn, A 累加器傳送到寄存器 1 1 MOV Rn, direct 直接地址傳送到寄存器 2 2 MOV Rn, #data 將立即數(shù)傳送到 Rn 2 1 MOV direct, Rn 寄存器傳送到直接地址 2 1 MOV direct, direct 直接地址傳送到 直接地址 3 2 MOV direct, A 累加器傳送到直接地址 2 1 電磁爐控制系統(tǒng)單片機(jī)模擬 30 MOV direct, Ri 間接 RAM 傳送到直接地址 2 2 MOV direct, #data 立即數(shù)傳送到直接地址 3 2 MOV Ri, A A中的內(nèi)容傳送到直接地址 1 2 MOV Ri, direct 直接地址傳送到間接 RAM 2 1 MOV Ri, #data 立即數(shù)傳送到間接 RAM 2 2 MOV DPTR, #data16 16 位常數(shù)加載到數(shù)據(jù)指針 3 1 MOVC A, A+DPTR 代碼字節(jié)傳送到累加器 1 2 MOVC A, A+PC 代碼字節(jié)傳送到累加器 1 2 MOVX A, Ri 外部 RAM(8 地址 )傳送到累加器 1 2 MOVX A, DPTR 外部 RAM(16 地址 )傳送到累加器 1 2 MOVX Ri, A 累加器傳送到外部 RAM(8 地址 ) 1 2 MOVX DPTR, A 累加器傳送到外部 RAM(16 地址 ) 1 2 PUSH direct 直接地址壓入堆棧 2 2 POP direct 直接地址彈出堆棧 2 2 XCH A,Rn 寄存器和累加器交換 1 1 XCH A, direct 直接地址和累加器交換 2 1 XCH A, Ri 間接 RAM 和累加器交換 1 1 XCHD A, Ri 間
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級(jí)倉庫考試題及答案
- 品質(zhì)人員考試題及答案
- 2024年紡織工程師證書考試模擬練習(xí)試題及答案
- 機(jī)關(guān)政策法規(guī)試題及答案
- 2024年紡織品設(shè)計(jì)師證書復(fù)習(xí)要點(diǎn)試題及答案
- 河流水系試題及答案詳解
- 云南旅游文化試題及答案
- 廣告設(shè)計(jì)中常用的心理學(xué)原理分析試題及答案
- 科技驅(qū)動(dòng)下的紡織設(shè)計(jì)變革嘗試試題及答案
- 東營社工考試試題及答案
- 漢語語氣詞的語用功能分析論文
- 統(tǒng)編版七年級(jí)語文下冊(cè)《第16課有為有不為》教案
- 高中部學(xué)生會(huì)職責(zé)與組織架構(gòu)分析
- 骨科專業(yè)培訓(xùn)計(jì)劃及總結(jié)
- 鋼結(jié)構(gòu)鋼筋大棚施工方案
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 質(zhì)量環(huán)境職業(yè)健康安全管理體系程序文件(終稿)
- 家政服務(wù)行業(yè)的數(shù)字化轉(zhuǎn)型及創(chuàng)新服務(wù)模式研究
- 鎮(zhèn)掃黑除惡培訓(xùn)
- IDC基礎(chǔ)知識(shí)培訓(xùn)課件
- 《福建省城鎮(zhèn)道路清掃保潔作業(yè)指導(dǎo)價(jià)》
評(píng)論
0/150
提交評(píng)論