EM78P458及其在水位監(jiān)控中的應用
發(fā)布時間:2007/9/10 0:00:00 訪問次數(shù):608
摘要:介紹單片機EM78P458內(nèi)部結(jié)構(gòu)和它的模數(shù)轉(zhuǎn)換ADC的操作方法,及其在太陽能熱水器水位監(jiān)控中的應用。文中有ADC操作方法的詳細介紹和程序設計。
關鍵詞:單片機EM78P458 模數(shù)轉(zhuǎn)換ADC 太陽能熱水器 水位監(jiān)控
EM78P458是臺灣EMC公司推出的一款高性能CMOS工藝的8位單片機[1]。它具有運行速度高、功耗極低、抗干擾能力強、程序保密性好等一系列特點,特別是它內(nèi)部帶有1個8位的A/D轉(zhuǎn)換器和2個10位的脈寬調(diào)制器PWM1、PWM2[2],使得它在智能化儀器儀表和自動控制領域中獲得廣泛應用。本文結(jié)合作者在工作中積累的經(jīng)驗介紹此款單片機的各項功能,特別是結(jié)合太陽能熱水器水位監(jiān)控這一具體實現(xiàn)詳細分析了它的模數(shù)轉(zhuǎn)換ADC的應用。
一、EM78P458內(nèi)部結(jié)構(gòu)
EM78P458內(nèi)部結(jié)構(gòu)如圖1所示。
從圖1看出,EM78P458內(nèi)部具有4K×13位的程序存儲器PROM和8級堆棧,中央處理器CPU執(zhí)行內(nèi)部程序。其指令系統(tǒng)包含58條指令,除跳轉(zhuǎn)指令需要2個指令周期外,其它指令均在1個指令周期(2個時鐘周期)內(nèi)完成。
EM78P458具2有個8位雙向I/O端口:PORT5和PORT6。部分端口可設置為上拉、下拉或漏極開路方式。當PORT6為輸入時,輸入信號的下降沿可將單片機從睡眠狀態(tài)下喚醒。
電壓檢測器用于檢測電源電壓。當電壓降到2.0V以下時,單片機被復位,這就免去了外部復位電路。片內(nèi)電壓比較器可對輸入端Cin+和Cin-的輸入模擬電壓進行比較。當輸入端Co的信號發(fā)生變化時,可將處于睡眠狀態(tài)下的單片機喚醒。該比較器也可作為運算放大器使用,前提早在Cin-和Co之間外接一個反饋電阻。反饋電阻的大小直接影響到運算放大器的放大量。
EM78P458內(nèi)部設有看門狗定時器,大大提高了系統(tǒng)的抗干擾能力。
二、EM78P458內(nèi)部模數(shù)轉(zhuǎn)換(ADC)的操作方法
ADC電路包括1個8選1模擬開關、3個控制寄存器、1個數(shù)據(jù)寄存器、2個運算放大器和1個8位分辨率的逐次逼近式AD轉(zhuǎn)換器,其功能框圖如圖2所示。
對EM78P458內(nèi)部ADC的操作是通過對3個控制寄存器的操作來體現(xiàn)的。下面對3個控制寄存器進行介紹。
1.AD轉(zhuǎn)換控制寄存器ADCON
ADCON各位含義如表1所列。
表1 ADCON 寄存器
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- | - | IOCS | ADRUN | ADPD | ADIS2 | ADIS1 | ADIS0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- | - | IOCS | ADRUN | ADPD | ADIS2 | ADIS1 | ADIS0 |