单片机的函数信号发生器,输出4种波形,频率可调,原理图,仿真和C程序

23 篇文章 40 订阅
订阅专栏

设计要求

  1. 以MCS-51系列单片机为控制器件,用C语言进行程序开发,结合外围电子电路,设计一款函数信号发生器系统;

  2. 能够产生正弦波、方波、三角波和锯齿波4种波形;

  3. 扩展键盘输入电路,用于切换波形类型、设定频率大小和步进值;

  4. LCD1602显示电路实时显示当前波形类型、频率值等信息;

  5. 波形频率值调节范围:10~100Hz;

  6. 频率步进值调节范围:0.1~10Hz;

系统概述
本文基于51单片机设计的函数信号发生器系统,能够产生正弦波、方波、三角波和锯齿波4种波形,且波形频率可调,调节幅度为10~100Hz。

系统由5V供电模块、AT89C51单片机最小系统、DAC0832模数转换电路、LM358放大电路、LCD1602液晶显示电路、按键电路和LED指示灯电路组成。

系统框架如下所示:
在这里插入图片描述
工作原理为:单片机产生的数字信号,经DAC0832转换为模拟信号,再通过LM358运算电路放大后,输出4种频率可调的波形。

波形的类型和频率值由LCD液晶显示,波形的切换和频率的调节由按键控制。同时,4个不同色彩的LED分别作为不同波形的指示灯。

仿真电路图
在这里插入图片描述
在这里插入图片描述
原理图
在这里插入图片描述
仿真结果分析
打开函数信号发生器仿真文件,双击单片机加载Signal.hex文件(位于C程序文件夹内),运行仿真,结果如下。

LCD1602液晶第一行显示Wave:Sine,第二行显示Freq:10.0Hz。表示当前初始化波形为10Hz的正弦波,同时与正弦波相对应的绿色LED灯点亮。

此外,系统会自动弹出示波器窗口,显示该波形。本系统中,信号输出端接示波器的A通道。
在这里插入图片描述在这里插入图片描述
仿真运行时,如果不小心关闭示波器窗口或者未弹出示波器窗口,鼠标右击示波器,在下拉菜单中点击Digtal Oscilloscope即可恢复。

系统中,四个按键用于控制波形类型的切换、频率值的增减以及频率步进值的增减。

点击“切换”键,可实现正弦波、方波、三角波和锯齿波4种波形间的来回切换;

在波形频率显示模式下,“增加”和“减少”键用于增减当前波形的频率大小,系统默认频率步进值为0.1,即按下一次“增加”或“减少”键,频率的改变幅度为0.1Hz。

例如,我们将波形切换至方波,将其频率设定为14.5Hz,结果如下。此时,与方波对应的红色LED灯点亮。
在这里插入图片描述在这里插入图片描述
当按下“步进”键后,系统进入步进调节模式,如下图所示。LCD显示Step value:0.1,表示当前步进值为0.1Hz。此时,“增加”和“减少”键,用于改变步进值的大小。
在这里插入图片描述
例如,我们设定频率步进值为3Hz,结果如下所示。设定完成后,再次按下“步进”键,系统退出步进调节模式,返回频率显示模式。这时,按下“增加”或“减少”键,频率值的改变幅度就为3Hz。在这里插入图片描述
下面,我们设置系统输出频率为50Hz的三角波和80Hz的方波,结果如下。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述
综上所述,函数信号发生器仿真电路运行效果满足设计要求,验证成功。

部分C代码

void keyscan()					//按键扫描函数
{
	if(s1==0)					//频率加键是否被按下
	{	 
		EA=0;					//关闭中断
		delay(2);				//延时消抖
		if(s1==0)				//再次判断
		{
			while(!s1);			//按键松开
			pinlv+=bujin;		//频率以步进值增加
			if(pinlv>1000)		//频率值最大加到100Hz
			{
				pinlv=100;
			}
			display();
/*频率值最小是10Hz,pinlv的值是100(因为要显示小数点后一位),150000/100=1500,这个1500就是定时器需要计时的,单位是us,65536-1500得到的是定时器的初值,
先不管初值,先看定时时间,1500us,一个波形的周期是由64个定时组成的,所以,一个波形周期就是64*1500us=96000,也就是96ms,约等
于100ms,也就是10Hz的频率*/
			m=65536-(150000/pinlv);	  //计算频率
			a=m/256;				  //将定时器的初值赋值给变量
			b=m%256;
			EA=1;					  //打开中断总开关
		}
	}
	if(s2==0)					  //频率减键是否被按下
	{	 
		
		delay(5);
		if(s2==0)
		{
			EA=0;	
			while(!s2);
			pinlv-=bujin;
			if(pinlv<100)
			{
				pinlv=1000;
			}
			display();
			m=65536-(150000/pinlv);
			a=m/256;
			b=m%256;	
			EA=1;
		}
	}
	if(s3==0)					   //波形切换键是否被按下
	{	 
		delay(5);
		if(s3==0)
		{
			EA=0;
			while(!s3);
			boxing++;
			if(boxing>=4)
			{
				boxing=0;
			}
			display();
			EA=1;
		}
	}	
}

资源内容
(1)基于51单片机的函数信号发生器设计论文完整版;
(2)Keil C程序;
(3)Proteus仿真;
(4)原理图文件;
(5)Visio流程图文件;
(6)元器件清单;
(7)参考资料;

资源截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
重要的事情说一遍!!!

由于函数信号发生器设计是我的原创设计,获取全套资料,

请微信搜索关注我的公众号:交院小智

基于51单片机函数信号发生器波形发生器完整资料(原理图+源码)-电路方案
04-20
1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机。 2.LCD1602液晶显示波形类和频率值(10-100HZ)。 3.按键设置波形类和设定频率步进值。 4.电位器器改变振幅(0V-3.5V稳定)。 5.本设计可产生正弦、锯齿、三角、矩形。 6.有四个指示灯分别指示发出的是哪波形,方便明了。 7.本设计可以作为完整的毕业设计,文档中提供完整的毕业设计文档,附件有设计好的电路原理图、preteus仿真电路、程序设计等。 函数信号发生器原理图截图: 附件内容截图:
51单片机波形输出
04-27
利用单片机输出波形,有源程序和电路图,很经典
基于51单片机波形发生器(2路,4调幅调频)原理图、流程图、物料清单、仿真图、源代码
最新发布
cqtianxingkeji的博客
03-16 338
课程设计 基于51单片机波形发生器(2路,4调幅调频)原理图 PCB 仿真 源代码及proteus 软件。3、按键设置波形振幅和频率频率调节范围1-10Hz(因为单片机速度问题,频率很难提升)1、输出DAC0832芯片,显示器用LCD1602。2、输出正弦,方,三角,锯齿波形仿真是proteus8.9。
基于51单片机函数信号发生器的设计word文档+软硬件设计资料.zip
05-06
基于51单片机函数信号发生器的设计word文档+软硬件设计资料 01源程序(源文件+Word版) 02原理图(源文件+Word版+PDF版) 03仿真图(源文件+Word版+PDF版) 04实物图 05视频演示及讲解 06使用说明及功能介绍 07元件焊接方法及注意事项 08元器件清单 09所用到的芯片资料 10开题报告 11任务书(无) 12毕设答辩技巧 13毕设答辩常见问题解答 基于单片机波形记录器设计.doc 论文-基于51单片机函数信号发生器的设计.doc
【51单片机快速入门指南】仿真实例:幅值可调频率可调函数发生器(方、三角、正弦)(1~10kHz)
乙酸氧铍的博客
12-05 5233
目录效果设计思路: STC89C52 Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 效果 0 ~ 5V ,50Hz的正弦: 1 ~ 4V,500Hz的三角: 1.5 ~ 3.5V,1000Hz的正弦 1.5 ~ 3.5V,5000Hz的方 1.5 ~ 3.5V,10000Hz的方 设计思路: &nbs
354、基于51单片机波形发生器仿真设计(4调幅调频,12864)
2301_76924958的博客
11-10 101
3、实现方,三角,锯齿和正弦波形的产生,且波形频率可调。为使设计流程变得简洁,高效,先用Keil软件编辑完成后,然后在Proteus软件平台进行模拟仿真实现。需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码。1、通过键盘输入来选择信号类型和频率,采用DA 转换芯片输出相应的波形。毕设帮助、开题指导、技术解答(有偿)见文末。2、用12864进行实时显示信号相关信息。说明:频率很低,最高只能到10Hz。
原理图+电路图+程序波形发生器,单片机波形发生器程序原理图,matlab
09-10
使用555时基电路产生频率为20kHz-50kHz的方Ⅰ作为信号源;利用此方Ⅰ,可在四个通道输出4波形;每通道输出Ⅱ、三角、正弦Ⅰ、正弦Ⅱ中的一波形,每通道输出的负载电阻均为600欧姆。限用NE555、NE5532(或LM358)、电容和电阻若干。
单片机开发之波形发生器
argentina1111的博客
10-31 970
 因客户需求,需要使用stm32单片机做一个40HZ~150HZ的低频正弦,方发生器。这篇文章记录思路及遇到问题的解决,不再做单片机外设配置的说明,并且力求程序能够方便移植到其他单片机。   上网查看了许多例程大多是仿照野火哥(不知道原子哥怎么实现)利用matlab生成好一段正弦的数组,配置好DMA及定时器触发将这段数组写到寄存器,让DAC引脚按照固定的数据进行模拟量输出以达到输...
用51单片机信号发生器,同时输出频率的方
热门推荐
做而论道的博客
01-25 1万+
//编写51单片机程序输出。//要求:晶振为12MHz,用T0做定时器,在P1的低四位输出频率的方://    P1.3 = 1.25kHz、P1.2 = 2.5kHz、P1.1 = 5kHz、P1.0 = 10kHz //另外,上述四个频率要求用一个四选一数据选择器,再选出其中的一个输出出去。//P1.6、P1.7的输出用来控制四选一数据选择器的选择位,它们由P3.0按键控制。//悬
51单片机可调幅度频率波形信号发生器( proteus仿真+程序+原理图+报告+讲解视频)
weixin_52733843的博客
10-03 3764
51单片机可调幅度频率信号发生器( proteus仿真+程序+原理图+报告+讲解视频)仿真图proteus7.8及以上程序编译器:keil 4/keil 5编程语言:C语言设计编号:S0055。
基于51单片机的四波形信号发生器仿真设计(仿真+程序源码+设计说明书+讲解视频)
weixin_52733843的博客
10-26 6767
信号发生器波形仿真代码报告
单片机波形发生器
04-15
单片机波形发生器,将采用89C52单片机与其外围电路共同实现产生频率可调的三角、方、正弦
51单片机产生方频率占空比可调及回测
07-16
基于51单片机输出频率和占空比可调的方,以及频率和占空比的回测。频率,占空比可键盘输入,12864液晶显示
51单片机输出频率可调控制步进电机
10-29
51单片机输出频率可调控制步进电机平稳启动和调速,本程序适用于带驱动器的步进电机驱动,只需要给驱动器一个频率可调的方既能控制步进电机的启动和调速,本例程可以实现电机的稳定启动和多档速度调节,每一次按键频率改变500HZ
51单片机上的PWM产生各波形程序,分别由汇编和C编写
07-23
51单片机上的PWM产生各波形程序,分别由汇编和C编写。经验证,能成功运行
51单片机波形发生器设计,正弦、三角、锯齿、方
07-07
配合本人上传的protues仿真 1.输出正弦、三角、锯齿、方 2.频率10~100Hz ,0~2.5v峰值 3.数码管显示数据 4.外扩6264ram 5.8279芯片拓展4*8键盘 6.蜂鸣器报警 7.上位机控制
基于51单片机函数波形发生器设计LCD1602液晶仿真设计
06-23
本资料包含仿真加C语言源程序加AD格式原理图,开发环境keil4 c51,proteus7.8/proteus8.9,Altium Designer10。 视频演示地址:https://v.youku.com/v_show/id_XNDkxODc5MzY1Mg==.html 本设计为AT89C51单片机为主控...
基于51单片机函数信号发生器波形发生器全套资料(包含原理图程序仿真实物图元件清单等)毕业设计
03-19
描述: 1.LCD1602液晶显示波形类和频率值(10-100HZ)。 2.按键设置波形类和设定频率步进值。 3.电位器器改变振幅(0V-3.5V稳定)。 4.本设计可产生正弦、锯齿、三角、矩形
51单片机+TLC5615组成的正弦信号发生器电路原理图+源代码+proteus仿真电路
06-30
51单片机+TLC5615组成的正弦信号发生器电路原理图+源代码+proteus仿真电路
基于stc89c51单片机函数信号发生器仿真
10-26
基于STC89C51单片机函数信号发生器仿真图如下: STC89C51单片机是一经典的51系列单片机,具有8位数据总线和12MHz的工作频率。在函数信号发生器仿真图中,我们可以通过STC89C51单片机的IO口实现不同类型的信号波形输出。 首先,我们需要连接STC89C51单片机的IO口和信号发生器的输入端。通过编写相应的程序,可以实现方、正弦、三角等不同类型的信号输出。在程序中,我们可以定义相应的变量来控制信号的频率、占空比和幅值等参数。 对于方信号,我们可以使用STC89C51单片机的IO口输出高电平和低电平的方式来实现。通过控制高低电平的时间比例,我们可以调节方的占空比。同时,通过控制IO口的频率,可以调节方频率。 对于正弦信号,我们可以使用STC89C51单片机的IO口输出一系列模拟正弦的数字信号。通过对这些数字信号进行滤和数字模拟转换,可以得到一个接近真实正弦的模拟信号。 对于三角信号,我们可以使用STC89C51单片机的IO口以线性递增或递减的方式输出一系列数字信号。通过对这些数字信号进行滤和数字模拟转换,可以得到一个接近真实三角的模拟信号。 在仿真图中,我们可以看到STC89C51单片机通过IO口输出不同类型的信号波形,通过连接到信号发生器的输入端进行信号的输出。这样可以实现一个基于STC89C51单片机函数信号发生器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 交通灯系统51单片机设计(附Proteus仿真、C程序、原理图及PCB、论文等全套资料) 24414
  • 单片机的函数信号发生器,输出4种波形,频率可调,原理图,仿真和C程序 21117
  • 51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料) 18785
  • 电子秤称重系统设计,HX711压力传感器,51单片机(Proteus仿真、C程序、原理图、论文等全套资料) 18748
  • DAC0832的多功能信号/波形发生器Proteus仿真设计,4种波形(正弦、三角、方波、锯齿),附仿真+C程序+论文等 18259

分类专栏

  • 单片机开发 23篇
  • 电子电气 4篇

最新评论

  • 单相交交变频器的Matlab Simulink建模设计,附Matlab仿真、PPT和论文等资料

    2301_78258902: 能发一下嘛

  • AT89C52单片机的频率计(1HZ~20MHZ)设计,LCD1602显示,含仿真、原理图、PCB与代码等

    蒋宇智: 你好,目前没有。

  • AT89C52单片机的频率计(1HZ~20MHZ)设计,LCD1602显示,含仿真、原理图、PCB与代码等

    m0_70495044: 有在数码管上显示的实验吗

  • LM317的直流可调稳压电源Multisim仿真设计(附仿真+论文+参考资料)

    蒋宇智: 你好,暂时没有。

  • LM317的直流可调稳压电源Multisim仿真设计(附仿真+论文+参考资料)

    花卷今天开花了没: 有AD的PCB的设计吗

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 51单片机的脉搏测量仪(心率计)毕业设计,ST188红外光电传感器,Proteus仿真,代码,原理图,论文等
  • 51单片机毕设,基于MQ-3传感器的防酒驾/酒精检测仪设计,仿真+程序+原理图+论文+BOM等
  • 51单片机的室内环境监测系统,MQ-2烟雾传感器和DHT11温湿度传感器,原理图,C编程和仿真
2024年2篇
2022年3篇
2021年7篇
2020年8篇
2019年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码定西网页设计公司黄南网站优化按天收费哪家好聊城网络广告推广价格黄冈网站优化按天扣费价格烟台模板网站建设多少钱东莞推广网站多少钱吉林百度爱采购公司常德关键词按天扣费公司济南网站建设设计多少钱淮北百度seo多少钱南京网站优化软件益阳百姓网标王推广公司内江网站优化按天扣费推荐合肥品牌网站设计报价东营关键词排名哪家好常德网站制作价格咸宁百度网站优化排名报价张北模板网站建设报价莱芜网站建设设计价格铜陵seo排名多少钱布吉企业网站设计报价临夏企业网站制作价格木棉湾推广网站公司潍坊网站搭建价格海南网站开发报价诸城设计公司网站公司湛江品牌网站设计推荐龙岗建站价格辽阳seo推荐石家庄网站优化按天计费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化