用51单片机产生正弦波的查表方法

如题所述

单相的从正弦涵数中从0度到90度范围中均匀取出n个数再用256的模转换成表格数。三相的只需从0度到30度取,可这会n要是三的公倍数。后在运行中按你的频率的不同从该表格中抽取就行了。这就是单牌机由PWM产生的正弦波中的那时间段的数。追问

嗯 我明白了这个问题了 你能告诉我怎么通过定时器设定频率吗?谢谢了。。。

追答

哈!频率是时间的倒数你该 知吧,嘿嘿,我想你应该 知单片机怎么设时间 吧!?不就先倒一下就是了,你这就可先倒好做表。
嘿,冲你这的自知之明的名,我想多问一句你是那个地的?

追问

这个还是不怎么明白呢 例如说,如果我要10HZ的波形,周期是0.1s。定时器工作方式1,则定时器的初值是(65536-100000)吗?

追答

你这前还要用软件计算加上一位(亦可是一标志位)后在你的十六位定时全跑完一次后的第二次的这个值才对(这时指的是用标准1微秒12M的晶振时 ),不对不对,你这减反了,因51这是加法计数器该是65536+65536-100000剩下的值 才对。嘿!如你这直打端口出来可只是方波,可不是正弦波。

追问

我私信你一个在网上找的程序 还有一些问题要问你的呢

追答

太大了看着头疼,主把你不明白的给勾出来我可试试。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-20
单相弦涵数0度90度范围均匀取n数再用256模转换表格数三相需0度30度取n要三公倍数运行按频率同该表格抽取行单牌机由PWM产弦波间段数
第2个回答  2014-04-24
你是做信号发生器吗?

用51单片机产生正弦波的查表方法
单相的从正弦涵数中从0度到90度范围中均匀取出n个数再用256的模转换成表格数。三相的只需从0度到30度取,可这会n要是三的公倍数。后在运行中按你的频率的不同从该表格中抽取就行了。这就是单牌机由PWM产生的正弦波中的那时间段的数。

用51单片机产生正弦波,那个数据表怎么得到的?谢谢!
这个表是预先算好的,就是将标准正弦波上移1\/2幅值后模256。三角波和锯齿波也可以按相同方法计算得到对应的数值表。对一个周期取样256次,也就是说第0个取样点的弧度是0,第一个取样点的弧度值就是pi\/128,第二个取样点的弧度为(pi\/128)*2,依次类推。测峰峰值为256,所以f(x) = sin(x)*1...

51单片机输出100Hz正弦波
用一个正弦数组(组数里装的是sin x的值,x的值正比于数组下标),然后把数组的值送给DAC,那么DAC输出的就是正弦波了

如何用51单片机控制DAC0832产生不同频率正弦波,键盘改变频率,求具体的...
假设你把一个正弦波的一周期分成180个点,那么每个点相差是2度,那么每个点是有一个对应的SIN值的,比如SIN0 SIN2 SIN4等。假设1ms发送一个点(即单片机向DA写一个该SIN值所对应的电压大小), 那么写完一个正弦波,要180ms。如果2ms写一个点,这就改变了正弦波的频率了。一周期所分的点越...

51单片机C语言怎样编写用DA可以出现正弦波
将一个周期的正弦波的幅值量化为0-255,将这256个值 存在程序空间里面,单片机定时依次循环取出这些值送到DA转换器,DA输出后进行低通滤波即能得到正弦波了。如果要节省空间可以利用正弦波形的对称性只需存入1\/4周期的数据再经一个简单算法也可以得到正弦波。

单片机或者 FPGA能不能通过设计程序 输出正弦波 锯齿波以及其他波形...
用DDS方法去产生你需要的任意波形,比如AD9850,单片机控制其产生正弦波或者锯齿波,频率可以任意调整。一个DDS芯片AD9850,一片单片机AT89S52,全搞定,比你用FPGA简单多了吧?

c51单片机产生正弦波原理
SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规率排列,这样输出波形经过适当的滤波可以做到正弦波输出。

请问怎么用51单片机实现 检测输入一个正弦波 检查其相位和其频率 给程...
首先,单片机测量正弦波的相位和频率,必须先将其变成方波,在过零点上升沿时边缘触发单片机。利用比较器电路时很容易做到。相位是相对的,单片机检测不到正弦波的过零点离Y轴的时间,所以不能判断其相位是多少,但你可以自己设置一个基准作为单片机人为基准,当单片机测量到的正弦波过零点与这基准的时间就是...

单片机输出正弦函数中正弦表的计算
你想VC得到数据,初始化为单片机数据,然后单片机查表实现?这是可行的方法。include <stdio.h> include <math.h> define PI (4*atan(1))int main(){ int i;for(i=0;i<64;++i)printf("0x%04x,",(short)(256*(1+sin(2*PI*i\/64)));return 0;} 0x0100,0x0119,0x0131,0x014a,0x...

用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角...
0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM358实现,用两片LM358可以实现双极性输出。 单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D\/A...

相似回答