两分钟学会用ADC0804采集数据

两分钟学会用ADC0804采集数据

ADC分辨以输出二进制的位数表示。从理论上讲,n位输出的ADC能区分 2 n 2^n 2n个不同的级别的输入模拟电压,能区分输入电压的最小值为满量程输入的 1 / 2 n 1/2^n 1/2n。在最大输入电压一定时,输出位数越大,量化单位越小,分辨率越高。ADC0804芯片分辨率为8位,转换时间为100us,输入电压范围为0-5v,内具有三态输出数据锁存器,可以直接在数据总线上。其能区分输入信号的最小电压为 19.53 m V ( 5 V × 1 2 8 ≈ 19.53 m V ) 19.53mV\left( 5V\times \frac{1}{2^8}\approx 19.53mV \right) 19.53mV(5V×28119.53mV)。下图为ADC0804与STC89C52单片机的接线图。

ADC0804与STC89C52接线图

VIN(+)接需要采集信号的正极+,VIN(-)接需要采集信号的负极-如果需要采集的信号为单端输出,则VIN(-)接GND即可。CLKR、CLR、GND之间用电阻和电容组成RC振荡电路,给ADC0804提供工作需要的脉冲,脉冲频率为1/1.1RC。VREF/2端用两个 1 K Ω 1K\varOmega 1KΩ的电阻分压得到VCC/2,即2.5v,将该电压作为A/D芯片工作时的内部参考电压。 W R _ _ _ _ \overset{\_\_\_\_}{WR} WR____ R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____分别接单片机的P3.6和P3.7引脚,数字输出端接单片机的P1口。将AGND和DGND同时接地。由于都要去A/D数据不使用中断,故引脚 I N T R _ _ _ _ _ _ _ \overset{\_\_\_\_\_\_\_}{INTR} INTR_______没有连接。

下图为ADC0804启动的时序图, C S _ _ _ _ \overset{\_\_\_\_}{CS} CS____先为低电平, W R _ _ _ _ \overset{\_\_\_\_}{WR} WR____随后置低,经过至少 t w t_w tw时间后, W R _ _ _ _ \overset{\_\_\_\_}{WR} WR____拉高,随后 A D C 0804 ADC0804 ADC0804启动,在经过 ( 1   8 个 A / D 时钟周期 + 内部 T C ) \left( 1~8\text{个}A/D\text{时钟周期}+\text{内部}T_C \right) (1 8A/D时钟周期+内部TC)时间后, A / D A/D A/D转换完成,转换结果存入数据锁存器。

ADC0804启动时序图

下图为 A D C 0804 ADC0804 ADC0804读取数据时序图, I N T R _ _ _ _ _ _ _ \overset{\_\_\_\_\_\_\_}{INTR} INTR_______变为低电平后, S T C 89 C 52 STC89C52 STC89C52 C S _ _ _ _ \overset{\_\_\_\_}{CS} CS____先置低,再将 R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____置低,在 R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____置低至少经过 t A C C t_{ACC} tACC时间后,数字输出口上的数据达到稳定状态。此时直接读取数字输出端口数据,便可以得到转换后的数字信号。读走数据后,立刻将 R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____拉高,再将 R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____置低,当 R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____置低 t R 1 t_{R1} tR1时间后, I N T R _ _ _ _ _ _ _ \overset{\_\_\_\_\_\_\_}{INTR} INTR_______自动拉高。

ADC0804读取数据时序图

实际测量充电时的端口电压,,由于 C S _ _ _ _ \overset{\_\_\_\_}{CS} CS____为片选信号,置低表示该芯片可被操作或处于能够正常工作状态, S T C 89 C 52 STC89C52 STC89C52在一开始就将 C S _ _ _ _ \overset{\_\_\_\_}{CS} CS____置低,此后,只要操作 W R _ _ _ _ \overset{\_\_\_\_}{WR} WR____ R D _ _ _ _ \overset{\_\_\_\_}{RD} RD____就可以启动转换和读取数据。

enjoy it!

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刚开始的人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值