微波爐控制器的選型及其實例分析(下)
出處:ipersist 發(fā)布于:2007-08-02 16:19:19
| 3)過零檢測及過零觸發(fā) 過零檢測在外部中斷程序中完成,中斷后根據(jù)當前運行狀態(tài)設置散熱風扇半功率、全功率和關三種狀態(tài)。開和關狀態(tài)直接設置控制光耦狀態(tài),當需要半功率時,需要記錄中斷次數(shù),調(diào)整導通和關閉周期,這里沒有用調(diào)整可控硅導通移相的方法調(diào)功,可減少電磁輻射。 4)按鍵設置 按鍵操作設置程序的輸入條件為有效的按鍵和編碼開關左右旋轉標志,再細分每個按鍵分別處理,在什么條件下設置對應的工作時間、輸出模式、顯示模式、蜂鳴器鳴叫等。 5)顯示狀態(tài)設置 設置4字節(jié)保存顯示數(shù)字部分內(nèi)容,另2字節(jié)保存四周圖標變量,由于四周的圖標有閃爍和不閃爍狀態(tài),另2字節(jié)設置圖標的閃爍狀態(tài)。 6)顯示輸出掃描 根據(jù)顯示狀態(tài)變量的8字節(jié)變量內(nèi)容,設置數(shù)碼管對應com和seg,掃描顯示輸出。 7)加熱輸出及功率控制設置 加熱和功率控制程序通過統(tǒng)一的變量輸入,設置當前的微波、燒烤、熱風還是幾種混合加熱,以及設置內(nèi)燈及散熱風扇輸出等。 8)溫度檢測及計算 設置a/d轉換,檢測熱敏電阻的值,并濾波處理,以及開路短路保護檢測。其輸出為故障狀態(tài)標志和當前爐腔溫度。在熱風烘烤輸出程序中根據(jù)溫度設置對應的加熱狀態(tài)。 9)時鐘、定時及運行時間計算及對應輸出模式切換 程序中關于時間的設置很多,大多都在這個子程序中完成,如時鐘計算、預約比較、倒計時、自動功能的多段加熱模式切換等。 10)蜂鳴器設置 兩個變量buz_n,buz_long來設置蜂鳴器鳴叫次數(shù)和單聲鳴叫長度??蓡为氃O置buz_long值為單聲的鳴叫,在上電和按鍵操作時設置單聲鳴叫。當定時結束或定時啟動或故障提示等情況時,需要設置鳴叫多時,設置buz_n值就可以了。 11)定時中斷子程序 定時中斷子程序相對很簡單,只設置中斷次數(shù)記錄就可以了。由于蜂鳴器鳴叫頻率為2khz,所以定時中斷時間為250us。 其中內(nèi)容比較多的部分是:按鍵操作、顯示狀態(tài)設置、時鐘、定時及運行時間計算及對應輸出模式切換、加熱輸出及功率設置等部分。 在軟件的編寫中,變量規(guī)劃很重要,下面還列出了幾個典型的變量規(guī)劃: 整個產(chǎn)品的主要工作模式用run_state來記錄: run_state equ [40h] s_hotfan equ run_state.0 ;熱風烘烤 s_micro equ run_state.1 ;微波 s_grill equ run_state.2 ;燒烤 s_mix equ run_state 3 ;混合模式 s_auto equ run_state.4 ;自動解凍 s_mu equ run_state.5 ;自動菜單工作模式 s_fast equ run_state.6 ;快速啟動模式 顯示模式用dsp_state來記錄: dsp_state equ [41h] s_time equ dsp_state.0 ;顯示時鐘狀態(tài) s_timer equ dsp_state.1 ;顯示定時時間狀態(tài) s_off_t equ dsp_state.2 ;顯示倒計時狀態(tài) s_code equ dsp_state.3 ;顯示菜單或工作模式狀態(tài) 加熱模式heat_mode變量來控制當前的輸出,其具體數(shù)據(jù)說明如下: 0則關閉所有輸出。 bit0_bit3(10_1)保存微波100% /90% /80% /70% /60% /50% /40% /30% /20% /10% /10檔,即4bit來記錄微波輸出功率,在自動解凍、自動菜單、混合等非簡單微波模式時,加熱功率輸出時只需要判斷此變量,就直接設置微波輸出。 bit4_bit5保存燒烤功率100%和50%。 bit7保存熱風烘烤輸出。 當有混合狀態(tài)時,則同時設置對應的位就可以了。 合理設計變量對整個程序的編寫很有用,同時也是對產(chǎn)品功能的規(guī)劃和理解的具體化,找出主要的和關鍵的控制關系,設計合適的、適當通用的算法。而且對于經(jīng)常編寫同類產(chǎn)品時,移植程序變得很簡單;比如將此產(chǎn)品數(shù)碼管換為lcd顯示時,基本上只需要將顯示輸出部分修改為驅動顯示ic或顯示ram就可以了,其顯示得內(nèi)容還是顯示時間、定時、倒計時時間、菜單或模式,只需要修改對應得顯示表就可以了。 程序編寫和程序調(diào)試 軟件簡單規(guī)劃后,就需要具體的編寫,將任務分解后,每部分已經(jīng)比較簡單了,調(diào)試時可以考慮各子程序單獨調(diào)試,人為模擬輸入各種情況下的數(shù)據(jù)及狀態(tài),檢查輸出是否正確。再將相關聯(lián)的一起調(diào)試。除非很有把握,不要將程序全編寫完了再調(diào)試,那樣就不知道到底哪里有問題。 程序簡單題綱如下: ;定義常量,某些固定的值,多次用到或經(jīng)常修改的常量,單獨定義后調(diào)用。 buz_l0 equ 50d ;50*4=200ms設置所有默認蜂鳴器鳴叫聲音長度。 sw_t0 equ 70d ;有效按鍵響應時間,按鍵去抖動時間 。。。。。。 ;定義i/o,將各輸入/輸出單獨按功能或原理圖網(wǎng)絡標號定義,當原理圖修改時方便軟件修改 buz_p equ pa.3 grill_p equ pc.0 micro_p equ pc.1 ...... ;定義變量, run_state equ [40h] ;或則用自動變量定義 ...... ;程序開始 org 0h jmp start_l org 04h ;外部中斷向量 jmp int_set ;跳轉過零中斷處理程序 org 08h ;定時中斷向量,中斷周期為250us mov temp_a,a ;保存 mov a,status mov temp_s,a inc t_int0 ;每次中斷0.25us mov a,temp_s mov status,a mov a,temp_a reti ;中斷處理程序,注意先保存用到的acc和標志寄存器status,返回前恢復 int_set: ......;中斷處理程序,設置風扇輸出 reti ;主程序開始 start_l: ;初始化ram、i/o、timer、中斷等,一般先將通用ram全清零 ;注意繼電器等關鍵變量的初始化,否則上電時繼電器可能會跳一下。 ;初始化某些特殊變量 ;主循環(huán)程序部分 main: call sw_in_set ;注意按鍵設置會將顯示關閉,則顯示輸出程序在后 call dsp_out_set ;顯示掃描程序 call sw_out_set ;按鍵功能及狀態(tài)設置 call ad_tem_set ;a/d轉換及溫度計算 call dsp_state_set ;顯示狀態(tài)計算 main_delay_2ms: mov a,t_int0 ;0.25*8=2 等待2ms時間到 sub a,8 snz c jmp main_delay_2ms call sw_in_set ;注意按鍵設置會將顯示關閉,則顯示輸出程序在后 call dsp_out_set ;調(diào)用顯示掃描程序 call heat_out _set ;調(diào)用加熱狀態(tài)及功率設置 call buz_set ;調(diào)用蜂鳴器設置子程序 call time_set main_delay_4ms: mov a,t_int0 ;0.25ms*16=4ms 等待4ms時間到 sub a,16 snz c jmp main_delay_2ms clr t_int0 jmp main ;各子程序分列后面 sw_in_set: ;按鍵檢測、編碼開關檢測、門狀態(tài)檢測 ...... ret dsp_out_set: ;顯示掃描程序 ...... ret sw_out_set: ;按鍵功能及狀態(tài)設置 ...... ret ad_tem_set: ;a/d轉換及溫度計算 ...... ret dsp_state_set: ;顯示狀態(tài)計算 ...... ret heat_out _set: ;調(diào)用加熱狀態(tài)及功率設置 ...... ret buz_set: ;蜂鳴器設置子程序 ...... ret time_set: ;時間及定時處理程序 ...... ret ;程序中會用到很多表,為調(diào)用方便,則將其放到頁面 org 0f00h dsp_code_l0: dc 10011111b;0 ...... end ;程序結束 |
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 智能門鎖技術參數(shù)與選型運維指南2025/12/30 9:58:51
- 家用千兆無線路由器技術參數(shù)與選型運維指南2025/12/29 11:19:02
- 工業(yè)觸摸屏現(xiàn)場運維實操指南:維護、排查與優(yōu)化2025/12/22 11:46:36
- 家用打印機全解析:連接方式、故障排查與耗材選擇技巧2025/12/17 10:58:25
- 家用路由器組網(wǎng)技術全解析:方式選型、優(yōu)化技巧與故障排查2025/12/17 10:56:21









