ZKX's LAB

单片机波形发生器c语言程序

2020-07-16知识4

想用51单片机做一个波形发生器,频率幅度可调,最高频率20khz,用c语言写能实现吗? 想用51单片机做一个波形发生器,频率幅度可调,最高频率20khz,用c语言写能实现吗?可以,如果只是方波、正弦波和三角波就可以,先选择波形,设定频率,然后计算波形周期,谁有单片机+c语言的波形发生器的程序和硬件图? 这个东西别人给你的也没意义,我倒是有,我就贴个各个波形的产生部分,我用的是10位的da5615,要学会去学习,对da的初始化部分还有硬件图自己去找,datasheet上面有,方波temp=0;OUT_DAValue(temp);delay(1);temp=0x3ff;OUT_DAValue(temp);delay(1);锯齿波for(i=0;i;i+){temp+10;OUT_DAValue(temp);delay(1);}*/三角波for(j=0;j;j+){temp+10;OUT_DAValue(j);delay(1);}for(j=100;j>0;j-){temp+10;OUT_DAValue(j);delay(1);}*/正弦波for(j=0;j;j+){i=10;k=0;temp+10;OUT_DAValue((j*j)*((i-k)*(i-k)));delay(1);k+;if(k=10)k=0;}基于AT89S52、DAC0832、LM358的单片机波形发生器C语言程序 QQ号,贴上来,发一个给你参考一下次基于单片机的波形发生器设计,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波形发生器(C语言写的) 我这里有个PWM调光程序不知道对你有没有用#includesbit LED=P1^2;unsigned char CYCLE;定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1ms unsigned char跪求简易数字信号发生器的单片机C语言程序,要求如下: 跪求简易数字信号发生器的单片机C语言程序,要求如下:1.基本要求产生脉冲信号的频率,要求如下:信号波形:方波;信号幅度:TTL电平;信号频率:100Hz~9999Hz;单片机波形发生器,用汇编语言编程~!!!!!!!!!!急急急求程序~~~~汇编语言哦,小弟纠结好多天 我用纯硬件做过DDS信号发生器,也就是你现在要做的这个东西-直接数字信号发生器,因为这玩意过于复杂,另外你一定懂编程,所以我只给你个方案。方案1:纯粹用单片机产生,我建议采用查表法,使用MATLAB对正弦波采样,获得离散化的也就是数字化的正弦波,即正弦波表,这里要注意,正弦波峰值不要超过一个字节(当然如果你用的是8位单片机的话),否则,你要通过汇编语言处理的,当然一个字的话波形的幅值调节范围就很大了,另外,采样的点数要适当,以便产生漂亮的平滑漂亮的波波形;编程查询该表,使用DPTR输出(使用P0、P2口)就可以了,这只能输出一种频率的并行数字正弦波,你可以控制相邻两次访问表的时间间隔,这样就改变了正弦波的周期或者说是频率;幅度更容易,在每次访问到表的数值上减去你所想要的幅值步进值就可以改变幅值了。我们要能够用示波器观察的波形,也就是模拟正弦波,现在我们有了数字的正弦波,自然得使用数模转换器,位数越高越好,那得看你的正弦波表是几位的,如果是一个字节(8位),就用8位的就够了,一个字的用16位的,当然位数越高越贵,建议你用8位的(推荐DAC0832,好像是13位的),便宜(10块左右),这样你就得到了模拟的正弦波,8051单片机波形发生器设计方案 C语言编程 用proteus模拟 附带原理图的,能发一份给我吗?? 您好,看到您的问题很久没有人回答,但是问题过期无人回答会被扣分并且你的悬赏分也会被没收!所以我给你提几条建议:一,如果你的问题太难太专业,没人懂的话,你可以到相关专业论坛求助;二,你的问题需要长篇论述,需要花费的时间长但你的悬赏分太少,很少人愿意花时间,建议你增加悬赏分或许能够吸引更多人来回答你的问题。三,您提问时间不妥,问题被后面提问的人顶出去了也是一个原因!你可以错开提问高峰期来问问中提问题。四,您可以注意选择正确的分类,以便得到相关专业人士的回答,如果分类正确没有人回答可以提高悬赏分。您可以不采纳我的答案,但请您一定要考虑下我的建议哦!谢谢采纳!祝你得到满意的结果想用51单片机做一个波形发生器,频率幅度可调,最高频率500khz,用C语言编写。 http://www.eeskill.com/file/id/19068。追问 频率能达到500K吗?追答 这个就不知道了,你先看看,希望对你有用。追问追答 0 赞赏 财富值赞赏答主 已获得0次赞赏 2 10财富求一段C语言程序,用在单片机上的 如果信号太快的话液晶显示需要缓存滞后显示,这个就是编写个LCD的驱动,那个输入你可以用过中断输入或者是扫描方式输入!没有单片机型号与液晶的通讯协议怎么编写呢!

#c语言#单片机#正弦波

随机阅读

qrcode
访问手机版