利用ADC0809和DAC0832进行数模模数转换,如何对ADC0809转换后的数据操作实现积分操作呢,自己写的程序代码如下:
#include
#include "Delay.h"
#include "intrins.h"
sbit START=P1^0;
sbit EOC=P1^1;
sbit OE=P1^2;
int getdata,temp,sum,real,out;
//unsigned int temp,i;
void main()
{
Delay(100);
START=1;
EOC=1;
OE=0;
while(1)
{
START=0;
_nop_();
START=1;
_nop_();
START=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
temp=getdata;
real=temp-127;
if(real>=0)
{
sum=sum+real;
}
else if(real < 0)
{
sum=sum-real;
}
out=sum+127;
if(out<0)
{
P2=0;
}
else if (out>255)
{
P2=255;
}
else
{
P2=out;
}
}
}
这样测试发现示波器波形不对,没有效果
蓝色是输入到ADC的波形,黄色是DAC输出波形。
更多回帖