我晕,你连程序都不贴出来,你找不到原因人家帮你找啊。
我刚好做过这个,在我博客里有http://hi.baidu.com/%D3%B9and%B3%A3/blog/item/7793bd06d4b724c47a894775.html
有仿真,有程序,自己琢磨
单片机输出正弦波滤波后波形失真
我用单片机输出一个正弦波,然后用RC低通滤波器进行滤波,截止频率大于输出信号的最大频率。但是我发现随着频率的升高,输出信号的峰峰值越来越小(从0-3.3变成了1.4-1.8),请问这是怎么回事,是没有加电压跟随器的原因么?
单片机编程DA输出正弦波为什么上半为平的???求大神指导
第二个可能是你D\/A芯片坏了.还有你的数组里那么多连续的 0xff ,表示这一段时间输出都是最高的,而且电压值是相等的,输出这样的波形也很有可能,你看看电压到了几伏。还有可能是你哪里限制了输出幅度(硬件上).
利用单片机怎么产生正弦波信号
1、通过单片机DA来实现,需要通过查表法;2、通过PWM方式实现;不过都需要加硬件滤波电路来实现正弦波的平滑。
51单片机C语言怎样编写用DA可以出现正弦波
将一个周期的正弦波的幅值量化为0-255,将这256个值 存在程序空间里面,单片机定时依次循环取出这些值送到DA转换器,DA输出后进行低通滤波即能得到正弦波了。如果要节省空间可以利用正弦波形的对称性只需存入1\/4周期的数据再经一个简单算法也可以得到正弦波。
单片机查表法输出正弦信号,如何连续或阶梯式调整输出信号幅度呢?_百度...
首先单片机需要接入一个DA来输出模拟电压。你查表得到的只是正弦幅值为1的时候的正弦信号波形,所以调整幅值的时候直接乘以你要输出的幅值就行了,比如:sin(90°)=1,查表的时候得到的就是在90°的位置是1,如果想输出0.5*sin(90)=0.5 那就直接在输出的时候乘以0.5就行了,如果输出2,道理...
如何用51单片机控制DAC0832产生不同频率正弦波,键盘改变频率,求具体的...
比如SIN0 SIN2 SIN4等。假设1ms发送一个点(即单片机向DA写一个该SIN值所对应的电压大小), 那么写完一个正弦波,要180ms。如果2ms写一个点,这就改变了正弦波的频率了。一周期所分的点越多,则正弦波越规则,波形效果越好 其实不但频率能改,正弦波的幅度同时也能改的。
单片机如何输出正弦波
令单片机输出高、低电平,可以形成不同脉宽的脉冲波,再经过 RC 电路平滑滤波,就会出现不同高低电压的信号。这就可以近似实现正弦波或其它波形。
利用单片机和DAC0832控制输出方形波,锯齿波,三角波,并通过示波器显示...
单片机和DAC0832控制输出方波,锯齿波,三角波,正弦波。include<at89x51.h> \/\/unsigned char TIME0_H=0xec,TIME0_L=0x78; \/\/定时器0的初值设置;全局变量 include<sinx.h> include<0832.h> void main(){ TMOD=0X01;TH0=0xff;TL0=0xd9;IT0=1; \/\/设置中断触发方式,下降沿 EA=...
51 单片机和DAC0832输出方波、矩形波和正弦波由液晶1602显示的C语言程 ...
void sine_out() \/\/正弦波输出 { DAdata=sine_tab[wavecount++];DA_S1=0; \/\/打开8位输入寄存器 DA_S1=1; \/\/关闭8位输入寄存器 } void square_out() \/\/方波输出 { judge=~judge;if(judge==1) DAdata=0xff;else DAdata=0x00;DA_S1=0; \/\/打开8位输入寄存器 DA_S1=1; ...
如何用单片机控制输出一个1KHz,5Ⅴ的正弦波?电路图
单片机内置 模数转换模块DA,参考电压 为5V 再利用正弦函数 算出从0-360度的值 假设5V 满量程为max. DA=sinX*(max\/2)+max\/2 (X为角度)给360 度每个角度都算遍 并且定个周期为 1Khz 输出模拟电压即可 换算方法 如 3度 sin(pi\/180 *3) 90度 sin(pi\/180 *90)以上表述 由于不...