想用51单片机做一个波形发生器,频率幅度可调,最高频率20khz,用c语言写能实现吗?

如题所述

可以,如果只是方波、正弦波和三角波就可以,
先选择波形,设定频率,
然后计算波形周期,和波形上每个点的数值
设定一个十几微妙的中断,
每个定时中断中输出波形上的一个点,通过DAC,加上高频滤波输出比较平滑的模拟量。
如果用C8051系列的高速单片机可以输出更好的波形追问

用delay行吗,直接用延时控制输出点?

追答

没啥行不行,只是不太好,本来时间就很紧张,估计delay后输出不了20KHz的正弦波

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机 c语言 怎么实现控制波形输出的幅值
【1】幅值的高低控制,通常需要借助于可编程放大电路(运放)来实现。所有单片机不是用来放大的。更不是C语言解决的问题。需要去了解具体的放大电路形式及51接口电路。【2】还有一个概念是DAC输出再经过运放输出。比如波形发生器的实现。51也没有这个模块。需要借助于外部扩展DAC来实现。【3】51单片机一种...

51单片机和LTC1456做一个波形发生器,频率上限?
不知道你程序写的怎么样,但用普通51单片机驱动DAC输出波形,频率是受到限制的。而且你用的LTC1456是串行通讯模式的话,输出速率会更加慢。单片机晶振用24MHz,如果用的是普通51单片机(12个时钟周期为一个机器周期)理想状况下是执行一条指令需0.5us。发送一次12位数据的大概要40条指令,也就是说输出...

单片机8051设计简易波形发生器,要求能产生正弦波,方波,三角波,通过...
unsigned char i,sqar_num=128; \/\/最大值100,默认值50 unsigned char cho=0; \/\/0:正弦波。1:方波。2:三角波。3:锯齿波。unsigned char num=0;unsigned char TIME0_H=0xff,TIME0_L=0xdc; \/\/定时器0的初值设置;全局变量.对应正弦波,锯齿波50HZ sbit chg= P1^0;sbit freq...

51单片机设计频率可调的正弦信号发生器,难点在于要求100HZ到10KHZ频率...
,哥们不用想了,我最近就在做这个 ,不过我要产生多个波形,用单片机产生波形虽然原理很简单,但是频率却很难达到精准的,我调试得到的结果 12M 晶振的情况下 ,用C写的才能达到300多个HZ正弦波,而且波形频率很难控制 每点之间的延时虽然计算就能得到,但是调试得到的频率却跟你想的有很大差别,这一...

急!!基于单片机设计一个任意波形发生器要求能产生任意波、频率,幅值...
1、可采用单片机定时器的PWM加积分器的方式输出任意波形,其优点是可输出任意形状的波形,缺点是受单片机主频的影响,输出信号带宽较窄。2、高频方波可直接输出,方波输出接积分器即可输出三角波。3、高频正弦波可采用方波加锁相环选频获取。4、输出频率误差可达0.1%没有问题,只要频率够低,PWM分辨率够高...

基于单片机89C51的波形发生器,基本要求如下
基于51单片机的信号发生器-完整电路、程序 http:\/\/wenku.baidu.com\/view\/effec6f2ba0d4a7302763a13.html 免费的。可以产生弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率(最大790HZ)和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。这是本人...

在Protues中采用单片机制作一个波形发生器,功能要求如下
这个可以实现的,之前用51单片机+DAC实现过。

基于单片机设计一个波形发生器,可产生方波、三角波、正弦波,且波形幅度...
要求完成以下研究: 1:单片机最小系统的设计 2:数\/模转换电路的设计 3:波形放大电路的设计 4:单片机软件编程要求设计的波形发生器,能产生方波、三角波、正弦波,且波形幅度、周期可调。并非代做,而是希望谁有做过相同课题的童鞋能把你的论文发给我。悬赏金还可再增加 展开  我来答 9...

波形发生器的总体设计
1 要求:产生频率在1HZ--20KHZ 幅度0--5V的方波,三角波,正弦波,并且频率幅度可调.同时实现了波形的频率,幅度参数显示。2 设计思路:由AT89S51产生的数字信号通过DAC0832转换为模拟信号,由数字量的大小和直接和模拟信号成正比,频率的调节可以通过信号的延时来实现。再通过,滤波和电容的充电来实现三角波和...

如何用单片机控制产生的波形输出电压可调,步进0.1v,0-5v
用PWM,即脉宽调制。我使用1个定时器中断做周期,在中断服务程序中用DJNZ指令循环比较做占空比实现步进电机的电流控制的。占空多了,电流就弱。要控制电压可能需要电路转换一下,如:在主回路串接PWM控制的开关管和电感,输出并电容。ORG 000BH;---T0---PWM CLR ET0 LJMP PWM ;---T0--...

相似回答