首页 > 编程知识 正文

ADC0832作用,ADC0832原理

时间:2023-05-05 10:01:36 阅读:265693 作者:2359

AD转换与ADC0832学习总结

ADC0832的重点内容,我总结如下,重要性分先后

ADC0832采用同步串行传输,要注意,串行传输的方式会明显体现在对MCU的编程中,而同步则体现得不明显。同步异步介绍ADC0832的外部连接采用SPI总线结构,这样便把它的连接方式与其他设备统一起来了。SPI的连接与介绍可以参考我的这篇总结
对于ADC0832的使用者来说,不需要关注其怎样读取模拟量与具体的AD转换方式,需要关注的是DI/DO口的输入输出,它串行地输出数字量。另外,这两个口由于实际使用时不会产生冲突,所以一般都连接起来,合称DODI口。对编程者而言,需要注意的是它的配置与初始化编程
4.1 一个下降沿,DI必须为高电平,表示启始信号
4.2 第二第三两个下降沿表示对通道的选择。选择方式
4.3 初始化编程最好的方法是对照时序图与Datasheet
实例–数字电阻表

原型设计来自于AD转换
以下是我模仿的版本
电路图:

说明:

数码管使用的是共阳极的7SEG-4MPX-CA通道0的输入直接是变阻器POT-HG上的电流,并不需要经过传感器。

main.c:

#include<intrins.h>#include<reg51.h>#define uchar unsigned char #define nop _nop_()code uchar seven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90};uchar cp1,cp2,dat_ad;sbit CS = P3^0;sbit CLK = P3^1;sbit DIDO = P3^2;/*对ADC0832初始化处理*/void adc0832_init(void){CS = 1;nop; CLK = 1;CS = 0;}/*对转换ch0通道的模拟信号*/uchar adc0832_ch0(void){uchar dat1,i;adc0832_init();DIDO = 1;CLK = 0;nop;CLK = 1;nop; //第一个下降沿,DI必须为高电平,表示启始信号DIDO = 1;CLK = 0;/*这里是第二个下降沿*/nop;CLK = 1;nop; //第二个下降沿DIDO = 0;CLK = 0;/*这里是第三个下降沿*/nop;CLK = 1;nop; //第三个下降沿,发送1,0;选择通道ch0DIDO = 1; //释放总线/*上面都是配置位,达到了启动并选择通道0的作用*/ for(i = 0;i<8;i++) //第4个下降沿到第11个下降沿{ CLK = 0;nop; //if(DIDO)dat1 = dat1|0x01; //最低位置1(与特定数字按位或的作用,可以达到控制指定位而其他位不变) //注意dat1是MCU中的数据嗷,ADC发送的是DIDO CLK = 1;nop; //这个CLK是单片机发给ADC的,因此在一个上升沿之间还可以处理一些程序。注意上面的这个IF语句是由MCU处理的啊! dat1 = dat1<<1; //左移,低位填充0,依次输出最高位//DIDO每发送一位,MCU中的dat1变化一位。8位完成后即dat1返回 }return(dat1); //返回的是数模转换的值 CS = 1;}void timer0_init()//中断初始化函数{TMOD = 0x01;TL0 = 0x78;TH0 = 0xec;EA = 1;TR0 = 1;ET0 = 1;}void timer0_isr()interrupt 1 //中断服务函数{TL0 = 0x78;TH0 = 0xec;cp1++;if(cp1>100)//0.5s{cp1 = 0;dat_ad=adc0832_ch0();//adc0832转换一次}P0 = 0xff;//消隐switch(cp2){case 0:P0 = seven_seg[dat_ad%10];P2 = 0x01;break; case 1:P0 = seven_seg[dat_ad%100/10];P2 = 0x02;break;case 2:P0 = seven_seg[dat_ad/100];P2 = 0x04;break;}cp2++;if(cp2>=3)cp2 = 0;}void main(){timer0_init();adc0832_init();while(1);}

设计思路:
将ADC0832的具体测量程序卸载了中断程序中,这样就可以达到更改电阻阻值时数码管实时显示的效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。