- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告
设计课题:基于STM32的信号发生器设计
专业班级: 电气与信息工程分为模块条理清晰控制方便完成了题目的所有基本和发挥要求。
经比较,方案二既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案
任意波形的生成原理
方案一:触摸屏绘制波形
以触摸屏作为操作界面,用户可在触摸屏上输入波形参数及绘制波形。此方法操作简易,并且可绘制任意波形,但是对编程者要求较高,故选择相对简单的用键盘输入数据。
方案二:用键盘输入数据
采用键盘输入,这是最基本的方法。优点是输入值精确。但用户自定义输入时无法自由输入想要的特殊波形,而且输入数据繁琐,操作麻烦,由于实现相对简单,故本实验采用该方案。
五.系统设计分析(A) 是波形发生器的主流图,由系统初始化和人机交互模块组成,其中液晶显示子模块和键盘输入处理子模块占用单片机主要处理时间,单片机反复运行该模块程序人机交互模块相当于系统的监控程序;(B)是定时中断服务流程图,波形发生模块放置在定时中断服务程序中,系统每隔一定时间,产生一个定时中断,暂停主流程运行,转到定时中断服务程序起始处,执行波形发生模块,该模块输出一个样值后,结束此次中断服务,返回主流程断点处继续运行。反复多次定时中断服务,从而完成波形生成。
(C)键盘输入处理子模块
在具体实现时,键值识别部分作为主程序,键功能处理部分作为子程序,它们之间的关系是主程序调用子程序。键盘的工作过程:
(1)扫描键盘,获得列扫描码和行状态码,从而确定被按下的按键的键值;
(2)根据键值,通过散转表,跳转到相应的键功能处理部分;
(3)进入键处理部分,完成键功能;
(4)完成一次键输入工作。
通过键盘对单片机系统进行设置,每按一次键,键盘都会有上述的处理过程,每次仅能完成一个键功能。在实际设置波形参数时,一个参数需要多个键功能来实现,那么相应的键盘也要多次完成键值识别,跳转键处理的工作过程。
(D)函数参数设置
(1)正弦波归一化数据生成函数
S(t)=sin(t) /(2K)
(2)三角波归一化数据生成函数
T(t)=t/(63 *2K) (t64)
T(t)=(127-t)/(63 *2K) (64t128)
T(t)=(t-128)/(63 *2K) (128t192)
T(t)=(255-t)/(63 *2K) (192t256)
(3)方波归一化数据生成函数
根据电压分辨率可以得出方波归一化数据生成函数为:
F(t)= 1/(2k) (0t128)
F(t)= - 1/(2k) (128t256)
(4)5次谐波数据的生成函数
W(t)=a*sin(t)+ b*sin(2t+m)+ c*sin(3t+n)+d* sin(4t+p)+ e*sin(5t+q)
此函数要求幅值和相位参数:a.b.c.d.e.m.n.p.q
(5)正弦波、方波、三角波线性组合波数据生成函数
D(t)=a*S(t)+ b*F(t+m)+ c*T(t+n)
(E)实验参考程序
/*----------------------------------------------------------------------------
* 功 能 :STM32 DAC 数模转换(正弦波/矩形波/波)输出实验
* 说 明 :按 SW5 输出正弦波 / 按 SW4 输出矩形波 / 按 SW3 输出波, 输出端口 PA4 *----------------------------------------------------------------------------*/
#include stdio.h
#include stm32f10x_lib.h // STM32F10x Library Definitions
#include STM32_Reg.h // STM32 register and bit Definitions
#include STM32_Init.h // STM32 Initialization
#include common.h
#include sine_wave_1024.h
// 输出端口 : PA4
#define SINE_WAVE 1//sine 正弦波
#define RECT_WAVE 2//rectangular 矩形波
#define HACKLE_WAVE
您可能关注的文档
- 毕业论文(参考)基于STM32F10X的LCD彩屏的菜单显示.docx
- 毕业论文(参考)STM32 基于9325TP液晶驱动器的驱动程序.doc
- 毕业论文(参考)基于stm32的信号发生器设计.doc
- 毕业论文(参考)基于STM32的智能消防小车设计 外文翻译.doc
- 毕业论文(参考)基于STM32芯片的128点FFT.doc
- 毕业论文(参考)基于STM32的uCGUI移植和优化.doc
- 毕业论文(参考)基于STM32开发板的GPS定位模块设计.doc
- 毕业论文(参考)基于stm32的fat32文件系统.doc
- 毕业论文(参考)基于stm32的单相正弦变频稳压电源.doc
- 毕业论文(参考)基于STM32的FATS文件系统移植全教程.docx
- 毕业论文(参考)基于STM32的嵌入式MP3设计.doc
- 毕业论文(参考)基于STM32开发板的播放器设计.doc
- 毕业论文(参考)基于STM32的简易数字电压表.doc
文档评论(0)