C8051F单片机中的ADC注意事项
F020采用TQFP100封装,芯片引脚有8个(引脚18-25)专用于模拟输入,是8路12位ADC的输入端。每路12位的转换精度都是其自身的±1LSB(最低位)。实际上,对应12位逐次逼近寄存器型(SAR)ADC只有1个,在它与各输入端之间有1个具有9 通道输入的多路选择开关(可配置模拟多路开关AMUX)。AMUX的第9通道连接温度传感器。在F020是中,12位ADC称为ADC0,另有8路8位在系统可编程(ISP)的ADC电路称为ADC1。其8个外接引脚与P1口复用,片内结构与ADC0相近,只是转换的位数为8位,转换精度为8位的±1LSB。
ADC0端口的每一对均可用编程设置成分别地单端输入或差分输入。差分输入时的端口配对为0-1、2-3、4-5、6-7,此设置由通道选择寄存器AMUX0SL的低4位和通道配置寄存器AMUX0CF的低4位确定。在AMX0CF中,位3~0各对应2个引脚通道。位值=0,表示是独立的单端输入(复位值均为单端输入);位值=1,表示是差分输入对。对应AMX0CF选差分输入时,AMUX0SL中只有在选双数(含0)通道时才有效(注:AMUX0SL低4位为1xxx时,不论AMX0CF低4位为何值,均选温度传感器)。
将REF0CN的位3置1时,允许使用温度传感器;置 0时,温度传感器的输出为高阻态。温度传感器的值可用于修正参数的非线性或记录、调整与温度相关的数据。
2) ADC的速率与启动
C8051F系列单片机中ADC的速率都是可用编程设置的,但最少要用16个系统时钟。一般在转换之前还自动加上3个系统时钟的跟踪/保持捕获时间(>1.5μs)。设置F020内ADC速率的方法是通过配置寄存器ADCxCF(x为0或1)的位7~3来进行的,其复位值为11111(位7~3=SYSCLK/CLKSAR-1)。
一般在启动ADC之前都要处于跟踪方式,控制寄存器ADCxCN的位6如果为0,则一直处于跟踪方式(此时启动4种启动方式都可比跟踪启动快3个系统时钟);如为1,则有4种跟踪启动方式可选择,即对ADCxCN中的位3~2赋值;00为向ADBUSY写1时跟踪(软件命令);01为定时器3溢出跟踪;10为CNVSTR上升沿跟踪(外部信号);11为定时器2溢出跟踪。
复位时,ADCxCN的位7为0,处于关断状态。每次转换结束时,ADCxCN的位5为1,位4(忙标志)的下降沿触发结束中断,也可用软件查询这些状态位。
- Modbus通讯注意事项及测试(12-13)
- RS485总线的布线规范及注意事项(09-12)
- 浅谈软件人机界面设计5个注意事项(09-12)
- PIC单片机应用中晶体选择的注意事项(08-02)
- STC单片机开发注意事项(05-11)
- STC系列单片机开发注意事项(10-17)