EM78P458及其在水位监控中的应用
发布时间:2007/9/10 0:00:00 访问次数:603
摘要:介绍单片机EM78P458内部结构和它的模数转换ADC的操作方法,及其在太阳能热水器水位监控中的应用。文中有ADC操作方法的详细介绍和程序设计。
关键词:单片机EM78P458 模数转换ADC 太阳能热水器 水位监控
EM78P458是台湾EMC公司推出的一款高性能CMOS工艺的8位单片机[1]。它具有运行速度高、功耗极低、抗干扰能力强、程序保密性好等一系列特点,特别是它内部带有1个8位的A/D转换器和2个10位的脉宽调制器PWM1、PWM2[2],使得它在智能化仪器仪表和自动控制领域中获得广泛应用。本文结合作者在工作中积累的经验介绍此款单片机的各项功能,特别是结合太阳能热水器水位监控这一具体实现详细分析了它的模数转换ADC的应用。
一、EM78P458内部结构
EM78P458内部结构如图1所示。
从图1看出,EM78P458内部具有4K×13位的程序存储器PROM和8级堆栈,中央处理器CPU执行内部程序。其指令系统包含58条指令,除跳转指令需要2个指令周期外,其它指令均在1个指令周期(2个时钟周期)内完成。
EM78P458具2有个8位双向I/O端口:PORT5和PORT6。部分端口可设置为上拉、下拉或漏极开路方式。当PORT6为输入时,输入信号的下降沿可将单片机从睡眠状态下唤醒。
电压检测器用于检测电源电压。当电压降到2.0V以下时,单片机被复位,这就免去了外部复位电路。片内电压比较器可对输入端Cin+和Cin-的输入模拟电压进行比较。当输入端Co的信号发生变化时,可将处于睡眠状态下的单片机唤醒。该比较器也可作为运算放大器使用,前提早在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 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- | - | IOCS | ADRUN | ADPD | ADIS2 | ADIS1 | ADIS0 |