利用ADC0809和51单片机实现6路电流信号采集和AD转换转换代码
时间: 2024-02-23 17:01:00 浏览: 69
基于51单片机的ADC0809代码
4星 · 用户满意度95%
以下是利用ADC0809和51单片机实现6路电流信号采集和AD转换的参考代码:
```
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit ADC_CS=P2^7; //ADC0809片选信号
sbit ADC_RD=P2^6; //ADC0809读取信号
sbit ADC_WR=P2^5; //ADC0809写入信号
uchar ADC_Read(uchar channel)
{
uchar result;
ADC_CS=0;
ADC_WR=0;
_nop_();
_nop_();
_nop_();
ADC_WR=1;
ADC_WR=0;
P0=channel;
_nop_();
_nop_();
_nop_();
ADC_WR=1;
ADC_RD=0;
_nop_();
_nop_();
_nop_();
result=P0;
ADC_RD=1;
ADC_CS=1;
return result;
}
void main()
{
uchar i;
uchar adc_result[6];
while(1)
{
for(i=0;i<6;i++)
{
adc_result[i]=ADC_Read(i);
}
//在这里对采集到的6路电流信号进行处理
}
}
```
在上述代码中,`ADC_Read()`函数用于读取ADC0809芯片上的某个通道的电流信号,并返回转换后的值。`main()`函数中,我们可以不断地读取6个通道的电流信号,并进行处理。
阅读全文