holtek微控器是由盛群所開發,而盛群在1998年12月在竹科正式開始營運,在短短的四年間即推出14種不同系列的微控器,其範圍包括有通用型與專用型微控器(mcu),除一般套用領域外,更涵蓋語音、通訊、計算機外設、家電等各專業領域,此外並提供各種電源管理,非易失性記憶體等微控制器外圍組件,本文主要鎖定在具內嵌式之模擬/數字轉換器之微控器,它可套用於交換式電源供應、電磁爐、電毯、電飯鍋、洗衣機、烘碗機、多功能電池充電器等。
特點,工作原理,主電路的規劃,
特點
ht46系列的微控器具內嵌式之模擬/數字轉換器,如表1所示。該系列的微控器是以是否含有lcd驅動器,將它們分成兩大類八種微控器,每一種都包含兩種型式,其一為c型的mask版本,適合大量生產使用;另一為r型的otp版本,適合於少量或實驗的場合。ht46 r47(x是指r或c)微控制器適用於電池快速充電器的設計套用,其內嵌式之模擬/數字轉換器a/d及具脈波寬度調變的數字/模擬轉換器(pwmd/a),對於設計電池充電器時,能省略外部a/d、pwmd/a、及模擬開關等組件,使得生產成本大大地降低,pwmd/a之設計更是採用高頻設計,其優點為可降低系統電力輸出級之電感線圈、尺寸與重量及提升電力運用效率,而a/d轉換器共有四個信道,其解析度為9bits,信道的選擇及a/d選項均採用軟體方式控制,在設計套用上非常方便。
工作原理
以ht46 r47微控器為例,其內嵌式之模擬/數字轉換器之工作原理系利用四個特殊快取器來完成,分別是adrl(20h)、adrh (21h)、adcr(22h)、和acsr(23h)。adrl和adrh分別代表a/d轉換完成後的低、高位元組,因此這兩個快取器僅具有隻讀的特性。而adcr是控制a/d轉換的工作快取器,它被用來定義a/d轉換的可用信道的數目、那一個模擬信道被選擇、開始轉換位、及完成指示旗標等,其位定義如表二所示。此外,acsr快取器可以被用來設定轉換的時序來源,如表三所示。模擬/數字轉換器之使用方法如下: 1. 首先以pcr0-pcr2定義好連線埠b的配置,對於不需要用的信道建議關閉,以節省電源消耗。換言之,選擇剛好夠用的模擬信道數目,且從連線埠b的位0開始依序指定,例如需要三個模擬信道、則可以使用位0、位1、及位2、。 2. 再來用acs0-acs2來選擇工作的模擬信道,如表2所示。 3. 然後再將start位給於上升及下降的訊號變化,如:0→1→0。當start位由0→1時eoc會被設定成1。 4. 最後,等待eoc位變成0即表示轉換完成,其轉換後的結果存在adrl和adrh,其位的配置如表四所示。 模擬/數字轉換器使用方法的最後步驟,必須經常查看eoc旗標,因此會浪費許多寶貴的時間,holtek也設計使用中斷的方法,來取得a/d轉換後的結果,其中斷形成的先決條件有三:其一為a/d轉換完畢;其二是激活中斷向量;最後堆疊尚有空間,也就是說不會造成堆疊溢出的情形。當此三個條件滿足後,程式會直接跳至地址00ch處。
主電路的規劃
ht46 r47微控器主電路及顯示電路如圖一所示,規劃使用pa3-pa0經由74ls47解碼ic控制四個共陽型七段顯示器之數字、pa4控制四個共陽型七段顯示器之小數點、pa6-pa5經由74ls139解碼ic控制四個共陽型七段顯示器之電源供掃瞄顯示及掃瞄按鍵、pa7讀取按鍵值,圖中四個二極體主要隔離作用、當數個按鍵同時按下時可以避免74ls139解碼ic之輸出短路。ad590(電流型)、pt100(電阻型)及k型熱電耦(電壓型)溫度感測電路如圖2、圖3、及圖4所示,經由op07放大器將訊號放大、當溫度從攝氏0度至100度變化時輸出電壓範圍為0~5v之間,再分別接入ht46 r47微控器的pb0~pb2接腳。利用pd0以脈波寬度調變方式 (pwm)經由繼電器來控制加熱器的啟閉,考量pd0重置時為高電位,因此使用電晶體設計成反相器,當pd0送出低電位時激活加熱器;反之,pd0送出高電位時可關閉加熱器。 四顆共陽極七段顯示器顯示規劃如表5所示,編號ds1用來標示第幾信道,例如:顯示“0”表示信道an0(ad590感測器),編號ds2- ds4七段顯示器系顯示溫度ds2為拾位數、ds4為小數點第一位,顯示範圍為99.9-0.00。為了區隔顯示目前溫度與設定溫度,故在顯示目前溫度時以正常方式顯示,反之顯示設定溫度時則以閃爍顯示方式處理。