基于STM32波形信号发生器proteus仿真设计


本设计包含proteus仿真+程序代码+设计报告+讲解视频

📚开发环境

仿真图:proteus 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:C0075

📚主要功能

结合实际情况,基于STM32F103单片机设计一个四种波形发生器(正弦波、方波、三角波、锯齿波)。该系统应满足的功能要求为:
(1) 可以实现四种波形:正弦波、方波、三角波、锯齿波;
(2) 通过按键进行选择,频率可以调整;
(3) LCD液晶显示;
(4)设计出来之后用Proteus软件仿真出效果。
主要硬件设备:STM32F103单片机、DAC0832数模转换芯片、矩阵键盘、LCD12864液晶屏幕。

📚整体设计方案

四种波形发生器以STM32F103单片机作为整个系统的控制核心,应用其强大的处理速度,构成波形发生器系统。该系统具备将数字信号转换为模拟信号的能力。正弦波可以直接采用数学函数sin计算出来,送入单片机进行数据处理。经单片机运算后的数据送入DAC0832芯片将数字信号转换为模拟信号输出。其他的波形都可以采用自身的规律采用不同的算法实现。
img
图2-1 基于STM32单片机的四种波形发生器原理图

本系统硬件主要由矩阵键盘、D/A转换器、LCD12864显示系统、处理器等几部分组成。各模块的主要功能如下:
(1)矩阵键盘的功能是设置波形和频率,然后送入单片机。
(2) MCU的功能是识别键盘的数据并进行相对应的处理,然后转换出波形的数字信号和LCD显示的数据。
(3) LCD12864显示系统的功能是将设置的波形和频率显示出来。

系统的整体设计方案设计图如图2-2所示。
img
图2-2 系统的整体方案设计图

采用的是DAC0832芯片来做DA转换的,DAC0832将输出电压分成了0xFF(255)份,需要输出不同的波形我们需要给不同的数据,在这里我将所有的波形的一个周期分成了100份,定时器每隔一段时间中断一次,中断100次为一个周期。
正弦波采用数学计算公式sin来计算;
方波只需要在定时器前面50次给0,后面50次给最大值即可;
三角波只需要在定时器前面50次采用最大值的50分之一乘于它本身,后面50次相反即可;
锯齿波只需要在一个周期内,定时器中断一次就用他本身乘于电压最大值的100分之一即可;

📚仿真图

测试波形如下所示:
三角波
img

锯齿波
img

方波
img

正弦波
img

📚设计报告

img

📚程序代码

img

img

📚资料清单&&下载链接

img

资料下载链接(可点击):
https://docs.qq.com/doc/DS3FnQUZIYU5jRWZ2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值