单片机实现正弦波的C程序

求如何使用C语言实现89C51单片机仿真正弦波???... 求如何使用C语言实现89C51单片机仿真正弦波??? 展开
 我来答
veket_linux
2011-05-13 · TA获得超过4092个赞
知道大有可为答主
回答量:3809
采纳率:0%
帮助的人:4499万
展开全部
在把PC上 用C语言 编写一个程序 生成 一个周期 正弦信号 的离散值
用一个字节 8位 表示
即 0 ~ 255 表示正弦 信号 -1 到 1之间的值

单片程序 把这组0 ~ 255的 数字 放在一个 数组里
用循环 向 某个 IO口输出 这个数组
IO口接 DAC数模转换 器
追问
能否具体一点呀 我在做一个数字信号发生器 要产生正弦波 protues仿真没有问题 但是用单片机加DAC仿真器在示波器上却出不来波形 其中有用到键控控制波形类型,如只想仿真一个 如何屏蔽其他程序呢 那个仿真是要用按键触发才能工作的……
belongcoo
2011-05-14 · 超过15用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:51.1万
展开全部
keil C中 #include<math.h>之后,sin函数是可以用的哦,然后每20ms计时中断一次,计算m=sin(t),t是每次中断加1度的变量,然后将m输出,做DA既可。
追问
不太清楚……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
司寇恨枫
推荐于2016-07-20 · TA获得超过392个赞
知道答主
回答量:653
采纳率:0%
帮助的人:0
展开全部
我这是在arm板上实现的,你看看对你有用没
*****************************画正弦波************************/
void sinmain(void)
{
unsigned int x,y;
//double offset=0;//x坐标偏移量
//for(;;)
{
for(x=320;x>0;x--)
{//画正弦波
y=(int)(100*sin(((double)x)/20.0));//+offset
PutPixel (y+120, x,0x07e0); Delay(10);
}
/*offset+=1;
if(offset>=2*3.14)
offset=0;*/
Delay(100);
Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x00) );
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d12668
2011-05-18 · TA获得超过124个赞
知道答主
回答量:46
采纳率:0%
帮助的人:25.4万
展开全部
最好是用波表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式