《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 單片機在家電控制系統中的應用

單片機在家電控制系統中的應用

2009-01-21
作者:曾虹虹 周祖成 黃德豐

  摘? 要: 介紹一種采用單片機SST86542R作為控制核心的家電控制系統,其與市場上的同類產品相比,減少了硬件資源,在成本和功耗方面有較大的改進。

  關鍵詞: 單片機? SST86542R芯片

?

  從對家電的控制手段來看,經歷了兩個階段。在上世紀70年代到80年代,家用電器基本上屬于機電控制功能型。進入90年代,家用電器出現了智能化,轉向電腦控制的智能型家電。這種智能型家電一般通過微控制器(即單片機)實現對家電的控制操作。未來的家電將實現網絡化,Bluetooth、HomeRF以及IEEE802.15等標準的制定表明了這個趨勢。本文以一種家電冷風扇為例,介紹單片機在家電控制系統中的應用。家電冷風扇是一種能模擬空調輸出冷風的電風扇,其控制核心采用SST86542R單片機。

1 系統構成和核心接口電路的工作原理

  設計家電控制器的核心是成本、功耗的控制?,F在市場上的同類產品中需要的硬件資源比較多,包括一個MCU和一個三-八譯碼器,其中三-八譯碼器用于擴展I/O端口。實際上,在一般MCU的I/O端口足夠的情況下,可以充分利用MCU,采用軟件編碼模塊完全代替三-八譯碼器,從而降低成本和功耗。

1.1 用戶端的輸入信號源和輸出信號源

  冷風扇除了具有普通電風扇的基本功能外,還有一個最重要的功能——冷風功能,用于選擇是否冷風輸出。控制功能需要兩個水位信號源——缺水(L)、水滿(H),輸出信號一個。

  從用戶使用方面來講,有下列輸入源和輸出源。

  輸入源:

  · 6個鍵盤:關機、開機/風速、風類、導風、定時和冷風;

  · 6個紅外遙控功能鍵:與鍵盤相對應;

  · 2個水位信號。

??? 輸出源:

  · 12個LED指示燈;

  · 5個控制信號:高風HF、中風MF、低風LF、導風SWI和冷風輸出控制;

  · 蜂鳴信號。

1.2 系統構成框圖

  本設計中采用單片機SST86542R。該單片機有20個I/O端口,352字節片上SRAM,16KB Flash EEPROM,以及兩個可充當計數器的模塊Core Timer 和Carrier Modulator Transmitter。采用6805精簡指令集。

  6個紅外輸入共用一個紅外輸入端口,根據輸入的紅外碼來判斷輸入的按鍵。6個鍵盤輸入共用一個鍵盤輸入端口。12個LED指示燈與單片機的接口有8個,分別為6個掃描端口和2個控制端口。系統框圖如圖1所示。

?

?

1.3 LED和鍵盤輸入的接口電路及其工作原理

  為了節省I/O端口,接口電路將12個LED排列成一個6行×2列的矩陣,如圖2所示。每列有6個LED,其陽極相連并通過一個反相器連接到單片機的I/O口,稱為控制端口。每行有2個LED,其陰極相連并與單片機I/O口相連,稱為掃描端口。每一行的掃描端口后串聯一個二極管和一個脈沖式鍵盤,6個鍵盤的另一端相連并與單片機的公共鍵盤輸入端口相連。這樣LED和鍵盤僅需要9個端口。

?

?

  由于電路上的需要,LED和鍵盤檢測采用行掃描的工作方式。每次掃描將需掃描行的掃描端口置低,其它掃描端口置高。如果此時按下被掃描行的鍵盤,那么公共鍵盤輸入端口為低電平,否則為高電平。為了讓指示燈持續發亮沒有閃爍感,掃描頻率要求75Hz以上。每周期掃描6行,因此掃描時間間隔應小于2.2ms。

2 軟件模塊的設計

  系統軟件分為主程序和實時中斷兩個模塊。

  主程序包括系統參數初始化和循環工作過程。系統參數初始化包括單片機狀態參量和程序自定義的狀態變量的初始化。循環工作過程循環執行水位檢測、紅外碼流檢測、輸入狀態字變化檢測、輸出端口賦值和定時器檢查等任務。

  實時中斷服務程序是本設計中的關鍵,主要處理與時間有關的任務,包括掃描端口和控制端口的賦值、鍵盤檢測、定時器的處理、蜂鳴波形的產生和紅外信號的捕獲等。

2.1 鍵盤和LED的掃描編碼

????指示燈用于指示系統的當前狀態,而系統的狀態由用戶輸入的信號來改變。根據6種不同的輸入源,定義6個輸入狀態變量,每一次按鍵,相應的狀態字將產生變化,表示系統的不同狀態。從上述的電路及其工作原理可以看出,輸入鍵盤和掃描端口的值是相互對應的,如‘關閉鍵’對應 011111,狀態變量設為OFF,只有兩個狀態,開/關,因此用一個比特就能表示。同理可以得到其它5個狀態變量的定義和編碼。編碼應盡量簡單,狀態的變化如能采用自減一或自加一則最好。詳細見表1。

?

?

  LED的掃描端口是確定的六個值,控制端口的數據由輸入狀態變量來決定。

  當系統處于開機狀態下,掃描端口是011111時,表示選中(圖2)LED矩陣的第一行,此時系統控制第一行兩個燈的亮滅。首先來看看這兩個燈各代表什么意思,第一個表示‘導風’連接到PA0端口,第二個表示‘冷風’ 連接到PA1端口。

從狀態字的定義來看,SWING=1,無導風,則燈滅, 反之SWING=0,燈亮;由于MCU的PA0端口通過反相器連接到該燈的陽極,所以 PA0=1,燈滅,PA0=0,燈亮,因此PA0的值直接等于狀態變量SWING。同理,PA1=COOL。

  在其它5個不同的掃描端口賦值下,根據控制燈和狀態字的意義,可以得出如表2的結果,表中的 (0)、(1)、(2)、(3)表示該狀態字的第0、1、2、3位的值。當系統處于關閉狀態時,所有指示燈是滅的,因此對于6個掃描端口值,控制端口PA1-PA0恒等于11,不驅動LED。

?

?

  事實上,5個控制輸出信號也是與當前的狀態變量密切相關的,它們的賦值計算方法與PA1、PA0相同。

2.2 紅外碼流檢測

  紅外碼流檢測采用查詢方式。在實時中斷服務程序中,每隔2ms檢查是否有紅外按鍵輸入,進行引導碼的查詢捕獲。一旦捕獲后,執行碼流檢測子程序,該子程序包括讀取碼字和判斷碼字兩步。讀取碼字是一個對紅外信號進行數據采樣的過程,判斷碼字是一個數據匹配的過程。

2.3 軟件設計中的幾個問題

  (1)時間匹配

  在主程序處理紅外碼流的檢測過程時,仍然會產生實時中斷。如上所述,紅外碼流用采樣的辦法進行數據的讀取,則采樣間隔的大小將直接影響到對紅外信號的正確接收。如果采樣間隔太大,得到的數據不夠精確,不足于分辨1/0比特;但是如果采樣間隔太小,小于中斷服務程序執行一次的時間,則采集的數據會變小,導致錯誤判斷。因此中斷服務程序應該寫得盡量簡短。

  (2)紅外碼流檢測方式

  紅外碼流的檢測可以采用外中斷方式或查詢方式,在本設計中采用查詢方式。因為該單片機定義了外中斷的級別比實時中斷高,一旦產生外中斷,實時中斷請求將被忽略,不執行掃描過程,因此會產生部分應該點亮的指示燈沒有點亮的現象。

  (3)紅外碼流數據匹配

  數據匹配是一個把采集后的數據與預設定的數值進行比較的過程。預設定的數值可以從紅外波形理論計算得出,但是理論值與實際值總會存在一些差異,因此最好的解決辦法是預先寫一段數據采集程序并記錄下這些數據代替理論值,作為預設定的數值進行比較。

  SST65P54R工作電壓為2.2~3.2V,功耗小,適用于家電控制系統。另外,本文中的軟件開發模塊易于推廣成家電控制器的通用軟件模塊。

?

參考文獻

1 SST65P54R Design Specification Rev A 02.SST.Sep.1999

2 剛寒冰,齊秋群.MOTOROLA單片機M68HC05原理與應用大全.北京:北京理工大學出版社,1994

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 老司机一级片 | 亚洲午夜久久久久影院 | 日本一级毛片中文字幕 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 114一级毛片免费观看 | 免费成人毛片 | 中文字幕亚洲高清综合 | 日韩三级在线观看 | 欧美国产永久免费看片 | 久久看视频 | 欧美一区二区三区在观看 | 午夜神马视频 | 在线观看的黄网 | 一级一片一a一片 | 老外毛片 | gdcm01果冻传媒| 日韩一区二区三 | 亚洲国产精品成人精品软件 | 精品少妇一区二区三区视频 | 国产一区在线看 | 另类视频在线 | 欧美激情一区二区亚洲专区 | 亚洲国产成人久久综合一区 | 中国黄色网址大全 | 亚洲高清免费视频 | 永久免费91桃色福利 | 无国产精品白浆是免费 | 色爽爽爽爽爽爽爽爽 | 国产日韩欧美自拍 | 一区不卡在线观看 | 男人躁女人躁的好爽免费视频 | 成人毛片国产a | 欧美视频一区二区三区精品 | 精品成人免费一区二区在线播放 | 国产一级毛片免 | 免费成年人在线观看视频 | 三级国产精品一区二区 | 俄罗斯18videosex性欧美成人 | 中文字幕亚洲 综合久久 | 韩国本免费一级毛片免费 | 三级黄网|