ZKX's LAB

如何产生一个频率50MHz振幅4V左右的正弦信号 单片机做波形函数发生器

2020-09-26知识17

单片机波形发生器程序及仿真图,51单片机DAC0832产生波形发生器(方波,三角波,锯齿波)完整程序

如何产生一个频率50MHz振幅4V左右的正弦信号 单片机做波形函数发生器

单片机函数信号发生器 这个方案在理论上是完全可行的,在实际操作手中难度也不大,你只要设置好定时器计数值,实现起来是很简单的,你可能低估了单片机的处理能力,即使你用51单片机,晶振12M,机械周期也是1us,等于0.000001Hz处理你这个步进0.1Hz的不是富富有余吗,你说是不是

如何产生一个频率50MHz振幅4V左右的正弦信号 单片机做波形函数发生器

如何产生一个频率50MHz振幅4V左右的正弦信号 这种最好用函数波形发生器做,肯定很贵的,如果是公司做就好办。51单片机和arm单片机都不能做,因为其晶振都不到50MHZ,更不能产生这么高的频率。

如何产生一个频率50MHz振幅4V左右的正弦信号 单片机做波形函数发生器

基于单片机的波形发生器设计,C语言程序,有个很小的问题,求解决 void juchi()/锯齿波函数{ uchar i;for(i=0;i;i+){DAC0832=i;dump(10+p);}/延时实现频率可调,p是变量i=0x00;}void zhengxian(){for(i=0;i;i+)/i没有声明 上面那个程序都有uchar i;uchar类型的最大值也只有255{DAC0832=sin[i];查表取值dump(2+p);}i=0;}最简单的方法就是复制juchi这个函数把DAC0832=i;改成DAC832=sin[i];就能看到效果了void zhengxian()/正弦波函数{ uchar i;for(i=0;i;i+){DAC0832=sin[i];dump(10+p);}/延时实现频率可调,p是变量i=0x00;}

怎么用单片机做一个信号发生器? 如果要求频率不是很高,可以采用PWM方式,优点是无需另外加DA,且输出分辨率可灵活调整。考虑到单片机的运算能力不强,你可以用EXCEL编制一个正弦信号在一个周期内的等间隔幅值表,比如说,将一个周期的正弦信号分为64个点,信号的峰值为1000,初始相位为0°,那么,这个表格的第一个点是0,第n点为1000*sin(2πn/64),用EXCEL将64个点的幅值计算完毕,按照需要的格式编制为编程语言能够接受的表格。利用单片机的一个定时器,定时器的溢出值设置为1000,溢出时,某个IO口输出低电平,再用一个寄存器存储输出点序号,序号为n时,根据输出点序号通过查表获取1000*sin(2πn/64)的数值,将定时器的计数值与1000*sin(2πn/64)比较,相等时,IO口输出高电平。不断循环执行上述程序,IO将输出占空比与正弦信号幅值成正比的方波信号,这就是常说的正弦调制PWM信号。设计一个增益可调的有源低通滤波器,PWM信号经过低通滤波器后,输出就是正弦波,调节低通滤波器的增益,即可改变正弦信号的幅值。当然,在设置PWM占空比时,将查表结果先乘以一个设定数值(一般是0~1的小数),也可以调节输出幅值。为了简化运算,可以是先乘以一个整数M,再除以N(N为128、256等2的幂的。

单片机波形发生器的设计,请大家提供思路 这么做:首先根据输出波形的频率和幅值进行编码,存储在单片机的ROM里,然后以一定的时间间隔依次将这些数字量送往D/A进行转换输出,这样,只要循环送数,在D/A的双极性输出端就可以得到波形波形。采用单片机片内的振荡器、上电复位和外部硬件看门狗电路。至于波形编码,网上资料很多,下面是硬件电路设计的描述(这个是网上找的):输出两路幅值相等相位相差90°的正弦波形作为物体偏转测量的基准波形;另一路输出测角波形,该波形相对基准波形的相位反映角偏差的方向、幅值反映角偏差量。专用波形发生器就是模拟角位移输出波形的装置,用来进行后续解调电路以及功放电路的检测。它以单片机为核心,经过D/A转换和放大电路的处理,最后输出反应弹体姿态的基准波形和测角波形。

随机阅读

qrcode
访问手机版