<!-- $sign哪個頁面$digit位置$way等h不循環(huán)TR;X循環(huán)TR;$num顯示個數 --><!--畫中畫廣告結束-->
摘要:介紹單片機EM78P458內部結構和它的模數轉換ADC的操作方法,及其在太陽能熱水器水位監(jiān)控中的應用。文中有ADC操作方法的詳細介紹和程序設計。
關鍵詞:單片機EM78P458 模數轉換ADC 太陽能熱水器 水位監(jiān)控
EM78P458 是臺灣EMC公司推出的一款高性能CMOS工藝的8位單片機[1]。它具有運行速度高、功耗極低、抗干擾能力強、程序保密性好等一系列特點,特別是它內部帶有1個8位的A/D轉換器和2個10位的脈寬調制器PWM1、PWM2[2],使得它在智能化儀器儀表和自動控制領域中獲得廣泛應用。本文結合作者在工作中積累的經驗介紹此款單片機的各項功能,特別是結合太陽能熱水器水位監(jiān)控這一具體實現詳細分析了它的模數轉換ADC的應用。
一、EM78P458內部結構
EM78P458內部結構如圖1所示。
從圖1看出,EM78P458內部具有4K×13位的程序存儲器PROM和8級堆棧,中央處理器CPU執(zhí)行內部程序。其指令系統包含58條指令,除跳轉指令需要2個指令周期外,其它指令均在1個指令周期(2個時鐘周期)內完成。
EM78P458具2有個8位雙向I/O端口:PORT5和PORT6。部分端口可設置為上拉、下拉或漏極開路方式。當PORT6為輸入時,輸入信號的下降沿可將單片機從睡眠狀態(tài)下喚醒。
電壓檢測器用于檢測電源電壓。當電壓降到2.0V以下時,單片機被復位,這就免去了外部復位電路。片內電壓比較器可對輸入端Cin+和Cin-的輸入模擬電壓進行比較。當輸入端Co的信號發(fā)生變化時,可將處于睡眠狀態(tài)下的單片機喚醒。該比較器也可作為運算放大器使用,前提早在Cin-和Co之間外接一個反饋電阻。反饋電阻的大小直接影響到運算放大器的放大量。
EM78P458內部設有看門狗定時器,大大提高了系統的抗干擾能力。
二、EM78P458內部模數轉換(ADC)的操作方法
ADC電路包括1個8選1模擬開關、3個控制寄存器、1個數據寄存器、2個運算放大器和1個8位分辨率的逐次逼近式AD轉換器,其功能框圖如圖2所示。
對EM78P458內部ADC的操作是通過對3個控制寄存器的操作來體現的。下面對3個控制寄存器進行介紹。
1.AD轉換控制寄存器ADCON
ADCON各位含義如表1所列。
表1 ADCON 寄存器
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| - | - | IOCS | ADRUN | ADPD | ADIS2 | ADIS1 | ADIS0 |
該寄存器第6、7位未定義,讀出值為0。IOCS位用于選擇輸入輸出寄存器段:為1時選擇段1;為0時選擇段0。對ADC進行操作時該位必須為0。 ADRUN位為ADC運行位;當該位被軟件置為1時,AD轉換開始;轉換結束后該位被硬件清0。ADPD位為低功耗模式位:當該位設置為1時,表示ADC 處于工作狀態(tài);否則,斷開ADC參考電阻,使其進入低功耗狀態(tài)。ADIS2~ADIS0為8選1模擬開關選擇位。模數轉換器的模擬通道可以擴充到8個(AD0~AD7),當前轉換的究竟是哪一個通道的模擬量由該3位的值決定;而該3位的數值只允許在非轉換期間改變。
2.增益控制寄存器GCON
圖2 所示的ADC功能框圖如,通道0和通道4輸入的模擬量通過增益放大器OP1、OP2進入8選1模擬開關;而OP1、OP2的使能與否及放大量均由增益控制寄存器GCON控制,如表2所列。表2中OP2E、OP1E為1時,使能對應放大器OP2、OP1;、否則,關閉OP2、OP1。關閉時,對應的模擬信號由旁路進入ADC。當OP2、OP1被使能時,其放大量為2(N=0~5)。具體N值由G42~G40、G02~G00設置。
表2 GCON寄存器





