谁能帮我用下面这原理图,用C语言给8051单片机编程让运放输出频率为交流50Hz正弦波,谢谢了。

谁能帮我用下面这原理图,用C语言给8051单片机编程让运放输出频率为交流50Hz正弦波,谢谢了。
没人回啊

把正弦波的一个周期分成16段,算出其中16个点对应的输出电压的值
根据输出电压求出输入数据 确定P1口的值
程序用循环结构
分段越多,它就越接近正弦波形
我大概给你写个 你完善下
#include<reg51.h>
#include<absacc.h>
void delay();
void code abc[ ]={这里写你算出来的一系列的值};
void main()
{
unsigned char i=0;
while(1)
{ for(i=0;i<16;i++)
{ XBYTE[0xA000]=abc[ i ]; i++; delay();
}
}
}
延时的时间等于两段间的宽度 例如:t=T/16
void delay()
{定时器定时t
}

参考资料:自己想的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-22
建议更换带PWM的51单片机,STC很多,和你的单片机兼容,连DA都省了,非常简单
第2个回答  2011-12-22
正弦波等四种.rar 仿真实例可以参考
第3个回答  2011-12-22
P0口不需要上拉电阻?