C51单片机——(A/D转换)使用ADC0809将模拟信号转换为数字信号

太过爱你忘了你带给我的痛 2022-10-16 07:14 392阅读 0赞

实现效果如图:

在这里插入图片描述

当电压为1V时,转换的数字信号为0011 0011
在这里插入图片描述

代码如下:

  1. #include<reg52.h>
  2. sbit ADDA=P3^0;
  3. sbit ADDB=P3^1;
  4. sbit ADDC=P3^2;
  5. sbit START=P3^3;
  6. sbit EOC=P3^4;
  7. sbit OE=P3^5;
  8. void Delay(unsigned char i)
  9. {
  10. while(i--);
  11. }
  12. void Adc0809Convert()
  13. {
  14. unsigned char temp;
  15. ADDA=0,ADDB=0,ADDC=0;//IN0
  16. START=1;//清空ADC0809内部寄存器
  17. Delay(10);
  18. START=0;//引出下降沿,启动A/D转换
  19. while(EOC==0);//判断是否转换结束
  20. OE=1;//转换得到的数据送上数据总线.
  21. temp=P1;//接收数据
  22. }
  23. int main(void)
  24. {
  25. while(1)
  26. {
  27. Adc0809Convert();
  28. }
  29. }

> 实现过程

1.IN0~IN7(模拟通道输入端)
引脚——ADDA,ADDB,ADDC选择(模拟通道选择地址信号).
2、START(A/D转换启动信号)
a.置1——上升沿清空ADC0809内部寄存器,下降沿开始A/D转换
b.置0——引出下降沿,启动A/D转换
3.EOC(转换结束信号)——高电平有效-结束
通过 while(EOC==0);判断是否转换结束
4.OE(输入允许信号)
OE=1时,输出转换得到的数据.
5.D0~D7(A/D转换后的数据输出端)
定义一个temp接收数据.

发表评论

表情:
评论列表 (有 0 条评论,392人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数字信号模拟信号

    生活中的信号基本上都是模拟信号,但是你要存到电脑里需要转换成数字信号。。这是模数转换。。。。然后你再用电脑输出模拟信号比如声音,就是数模转换 数模转换器,电脑中存储的是数字量

    相关 ADC0809

    ADC0809是单片机教材上常常用到的模数转换芯片,它有8个模拟输入通道,每次可选其中一路,转换成8位二进制数。 在PROTEUS仿真环境中,ADC0809并没有仿真功能(

    相关 模拟信号数字信号

    一个是波形,一个是数字; 一个是高低电平,一个是01010; 一个是连贯的,一个是断开的; 一个是自然的,一个是人工的。 以录音和音频播放为例: 1. 我们说话,声音通过话筒