ADuC812应用中的若干问题
由于ADμC812的调试器是在用户系统复位时检测PSEN引脚状态的,因此,为提高通信成功几率,可在用户系统复位瞬间将PSEN引脚直接对地短路。但在ADμC812芯片进入在线调试或下载状态之后,PSEN引脚仍应通过1kΩ电阻接地。当然,若需要在下载程序后脱机运行,应将PSEN引脚与1kΩ下拉电阻断开,否则,ADμC812将一直保持在线调试状态。
(3)资源占用问题
ADμC812具有3个16位定时器/计数器,即:定时器0、定时器1和定时器2。每一个定时器/计数器包含2个8位寄存器THX和TLX(X=0,1和2)。所有3个定时器/计数器均可配置作为定时器或计数器,此功能和普通单片机相同。
由于与其他单片机不同,ADμC812具备在线调试功能,因此,芯片处于在线工作状态下某些功能将会受到限制。这是因为在线调试时,计算机和芯片之间的通信占用一定的资源所导致。经实践证明,定时器1就是被占用的资源之一。若用户在线调试的程序中使用了定时器1,则无论是设断点调试,还是单步或连续运行,都会有程序无法执行的情况发生。但若将程序中的定时器1屏蔽掉,则程序能正常运行,实现用户预定的功能。当然,在线调试程序时可以使用定时器0和定时器2,因它们未被占用。
虽然在线调试时,定时器1无法使用,但并不意味着用户不能在用户系统中利用该定时器。用户可先将预定功能用定时器0实现,在调试通过之后,再改用定时器1来实现;也可直接用定时器1实现,但只能盲调,因程序必须下载后脱机运行。
2.A/D转换器的使用问题
ADμC812内集成的ADC转换模块,包含了8通道、12位、单电源A/D转换器,这些A/D转换器是由基于电容DAC的常规逐次逼近转换器组成的,接收的模拟输入范围为0至+VREF(+2.5V)。另外,此模块还为用户提供片内基准、校准特性,模块内的所有部件能方便地通过3个寄存器SFR接口来设置。总之,ADμC812的ADC模块具有与一般ADC芯片相比拟的性能,并且操作简单、可靠性高,采集速率可高达200kHz。
(1)基准电压
A/D转换器的2.5V基准电压既可由片内提供,也可由外部基准经VREF引脚驱动。若使用内部基准,则在VREF和CREF引脚与AGND之间都应当连接100nF电容以便去耦。这些去耦电容应放在紧靠VREF和CREF引脚处。为了达到规定的性能,建议在使用外部基准时,该基准应当在2.3V和模拟电源AVDD之间。
由于片内基准高精度、低漂移且经工厂校准,并且当ADC或DAC使能时,在VREF引脚会出现此基准电压。因此,在进行系统扩展时,可将片内基准作为一个2.5V的参考电源来使用。若要把片内基准用到微转换器之内,则应在VREF引脚上加以缓冲并应在此引脚与AGND之间连接100nF电容。
在实际应用中应当特别注意,内部VREF将保持掉电直到ADC或DAC外围设备模块之一被它们各自的使能位上电为止。
(2)模拟输入
与其他ADC芯片相比,ADμC812的ADC模块有一个缺点,就是ADC正常工作的模拟输入范围为0~+2.5V;而允许输入的电压范围只能为正电压(0~+5V)。经实验证明,若输入的模拟电压超过+2.5V(最大值为+5V),ADC的采样结果为最大值(0FFFH),虽然结果不对,但并没有影响ADμC812正常工作;但是,一旦输入负的模拟电压,则会影响ADμC812正常工作,表现为ADC的基准电压(VREF=+2.5V)消失和采样结果不正确,且若长时间输入负电压,将有可能损坏芯片。因此,在实际应用中,若发现启动ADC之后VREF端无电压,则应立即将芯片复位,并检查模拟输入信号的采集放大部分。在确保进入ADμC812的模拟信号在0~+2.5V范围内之后,才能再次启动ADC。实际应用时,应保证输入的模拟电压为正电平。
3.并行I/O端口的使用问题
与其他单片机一样,ADμC812也有4个通用数据端口(P0~P3)与外部器件交换数据,且除了用作通用I/O之外,某些端口还能实现外部存储器操作。另有一些端口则与器件上外围设备其他功能多路复用。
(1)P1口
值得注意的是,在ADμC812中端口0、2和3是双向端口,
《ADuC812应用中的若干问题(第2页)》