基于STM32的方波信号测试仪设计--毕业论文.docx
《基于STM32的方波信号测试仪设计--毕业论文.docx》由会员分享,可在线阅读,更多相关《基于STM32的方波信号测试仪设计--毕业论文.docx(51页珍藏版)》请在咨信网上搜索。
1、摘要摘要方波是一种非正弦曲线的波形,理想方波只有“高”和“低”这两个值。电流或电压的波形为矩形的信号即为矩形波信号,高电平在一个波形周期内占有的时间比值称为占空比,占空比为50%的矩形波称之为方波。通过STM32通用定时器TM2输入捕获管脚PA2捕获从PA6管脚产生的PWM波,而PWM波由STM32通用定时器TM3通道CH1产生,然后再由1602输出显示频率和占空比。关键字:输入捕获,PWM频率,捕获算法,复用推挽输出ABSTRACTABSTRACTSquare wave is a kind of non sinusoidal waveforms, ideal square wave only
2、 high and low these two values. Current or voltage waveform for rectangular signal is the rectangular wave signal, high level ratio in possession of a waveform cycle time is called duty cycle, duty ratio for 50% of the rectangular wave is called a square wave. Through the STM32 general timer TM2 inp
3、ut capture pin PA2 capture from PA6 tube feet to produce PWM wave, and PWM wave generated by the STM32 general timer TM3 channel CH1, then by 1602 output shows the frequency and duty ratio.Keywords: input capture,The PWM frequency,Capture algorithm,Reuse push-pull output目录目录第1章引言11.1选题背景11.2目标和意义11.
4、3实现思路21.3.1输入键盘的选择21.3.2显示屏的选择21.3.3原理和算法31.3.5 完成预估4第2章系统硬件设计52.1 STM32F103ZET6最小系统板52.2 4x4矩阵键盘62.3 1602液晶显示屏7第3章系统软件设计93.1主程序流程93.2.1输入捕获103.2.2 STM32 PWM波113.2.3通用定时器TM2/TM3133.2.4 STM32F103ZE的GPIO143.2.5外部中断163.3 STM32库函数解析183.4 STM32时钟配置22第4章系统调试284.1硬件调试284.1.1硬件的锡焊284.1.2硬件的总体连接294.2软件调试304.
5、2.1程序编写存在的问题304.2.2 程序的下载314.3用户操作34第5章总结35参考文献36致谢37附录38外文资料原文45译文46第1章引言第1章 引言1.1选题背景示波器、信号发生器、数控电源是电子类学习的必备工具,但这一类产品在市场上都价格不低,而我们学生只能依靠于学校实验室来学习,在一个纵观市场上信号发生器和示波器,一个产生一个捕获,于是便想到能否集于一身呢?可能有人会觉得在市场上这种设计没必要,但对于学生来说却是颇有些不方便之处,需要某些信号来驱动的时候就用于产生,而要观察某种信号时则用于显示频率,而万事从基础做起,方波信号:就是指电路系统中信号的质量,如果在要求的时间内,信号
6、能不失真地从源端传送到接收端,我们就称该信号是方波信号。方波最主要的用途就是为其他芯片提供时钟脉冲,特别是在数字电路中,在数字电路中都是以上升沿和下降沿控制的,方波边沿很陡峭,在数字系统中传输的都是方波。所以想到了用STM32来设置更为踏实而容易实现又不失研究的课题基于STM32的方波信号测试仪设计。1.2目标和意义在键盘上输入信号频率,并在1602上显示频率,接触这个课题时,以为要是键盘上直接输入数字然后再屏幕上显示不是作假吗?经过向老师和同学的求教,才得以明白,知道经过STM32上面产生,也同样在STM32S上显示,输入捕获显示输出会存在误差,是一个精度问题,实验意义在于测试STM32上产
7、生方波信号,在1602显示屏上输出的精度,而从捕获端也可转接到我们需要的某种频率的方波信号,不仅是方波的产生端,而且更为精准的确定其频率,在芯片选择上我选用了STM32F103ZE144管脚的,为以后扩展其他功能做预留。完成本系统要达到的效果:掌握相关电子电路、STM32基本理论知识和设计方法;熟悉信号产生的原理;完成信号发生器的外围电路设计;利用STM32完成信号频率的可调以及相关信息数据的显示。1电子科技大学成都学院本科毕业设计论文1.3实现思路而本系统用到的是PWM用当作捕获的信号,貌似自产自销的感觉,为什么不选择外部的例如函数发生器等产生的方波呢,事实上本系统可以测试函数发生器产生的方
8、波信号,一端接PA2捕获端,另一端接地,就能测出从函数发生器端产生的方波信号源,但是STM32最小系统板的功能较多,不管是从实质方便上或者从资源节约上,还是本题目想要达到的测试要求效果,所以选择用定时器产生PWM波,配置TM3的通道CH1,在PA6引脚输出,足以适用,在STM32 选择了GPIOD端口,每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)分别控制每个端口的低八位和高八位,两个32位数据寄存器,(GPIOx_IDR,GPIOxODR)分别是输入数据寄存器和输出寄存器,本系统用到中断来,捕获信号的脉冲变化,并记录下时间,两次中断即为一次脉冲,在一个周期里
9、的占有比为占空比,矩阵键盘连接的GPIOD8-D15,而GPIOD0-D7,接的1602显示屏。1.3.1输入键盘的选择方案1:采用独立式按键。独立式按键硬件结构较为简单且电路配置也比较灵活,但是每个按键都会用到一个IO口。如果在按键数量比较多的时候,IO口的利用率不是很高,有点浪费。虽然程序编写比较简单,但是不适合本次设计。方案1:采用44矩阵式键盘。44矩阵式键盘虽然电路连接复杂,但是很有效地提高了单片机I/O口的利用率。由于矩阵式的排列方式使得按键排列的整齐,美观又耐用。像这次设计要用到的数字键盘就是需要这样的矩阵键盘。根据以上分析,本系统的设计需要多个按键,需要减少单片机I/O口的使用
10、,所以方案二4*4矩阵式键盘比较适合本设计。1.3.2显示屏的选择方案1: 1602是一个字符型液晶显示模块,一般应用于显示字母、数字、字符等符号型的显示。1602液晶显示屏还分为有背光和没有带背光两种。1602微功耗、体积小,越来越的到广泛的应用,像本次系统要求,实现的功能要求较低,只需要能够显示频率和占空比就可以,性价比高实用。2第1章引言方案2:虽然在最小系统板子上有TFT液晶显示屏的专门接口对应相应的驱动芯片,但是TFT价格相比要高些,相对会繁琐,性价比不高,唯一可能就是方便演示有视觉感好些罢了可视度及对比度,色彩还原能力对比,TFT传说中的三缺一屏,就是三个方向效果不错,一个方向效果
11、比较差,反应慢,不过它的聚焦性能良好,不会产生几何差错,不会闪屏。广泛用于低端和比较旧款的手机,本系统设计比较低端,两者的性能都能够到达要求。综上所述,选择价格更低廉1602作为显示模块,而且是带背光的。1.3.3原理和算法STM32最小板上利用定时器计数,TIM_Period计数值,比如键盘输入1MHZ,分频参数TIM_prescaler=3TIM_Period=17,APB1时钟是72MHZ,在本参数下,72MHZ/(17+1)/(3+1)=1MHZ。程序编写的就是键盘输入周期和预分频器的算法研究思路在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡
12、器而不使用外部晶振,请按照下面方法处理:对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。1.3.4系统框图图1-1系统框图3电子科技大学成都学院本科毕业设计论文系统流程概述:STM32是32位单片,相对于51单片机8位单片机具有很强大的功能模块,速度更快,功能更强大,有usb控制器,废除了51的机器周期。系统的电源采用USB数据线连接供电为:5V,波动开关,电源指示灯亮灯以及显示屏显示发出蓝光,按动最下系统板上的黄色复位,在矩阵键盘上输入要设置的PWM波的频率,在PA6输出,PA2外部中断捕获。达到的效果是输入频率,显示捕获的到的频率和占空比,可能会存在一定的误差。由于
13、STM32最小系统的功能较为强大,本系统用通用定时器TIM3来产生占空比为PWM波。用通用定时器TIM2作系统中断,捕获方波。最后通过PD管脚来在传输数据在1602液晶显示屏显示。1.3.5 完成预估材料准备,硬件来源,最小系统板,已经确定了型号及大小,然后就是上某宝选购最实惠的开发板,成本在60R币左右,同样在某宝上面淘两块1602的显示屏,成本在4R的样子,为什么选两块呢,其主要因素是心理作用,因为邮费比它贵了,加了一块,算是防止意外吧,后面还真用上派头了,说到这里你们会以为出现问题了吗?其实不然,而是送给有需要它的同学了。买了一个JINK下载器,用于下载软件的,外加40根杜邦线。学习资料
14、收集,学习STM32的固件库,以及安装调试软件,怎么使用Keil软件,阅读STM32F10x硬件文档和STM32 参考手册,从本源出发,方波怎么可以在最小系统板上产生,用到那些方面的管脚,定时器,中断等,网上查看具体例子。4第2章系统硬件设计第2章 系统硬件设计2.1STM32F103ZET6最小系统板微控制器STM32系列选择在芯片选择上我由于选题的要求,当然我们要把他的好处又是以及为甚要选择它的缘由在这里都意义说清楚第一:STM32,与51属于微控制器范畴,单片集成多种用于控制,通信,存储的外设。系统在程序的控制下执行。CPLD属于逻辑器件,按照程序,有一定智能程度。STm32运算速度、存
15、储容量远高于51单片机。第二:对于少于100脚的产品,有2种接法:第1种:OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能;第2种:分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出0。此方法可以减小功耗并(相对上面)节省2个外部电阻。第三:选择144管脚的系统板,第一,相对配置方便一点,512闪存的大一点,是为了今后有扩展的可能,管脚预留为以后实现功能更多,板子上有TFT液晶接口,本设计鉴于功能相对简单,所以没有用到TFT液晶显示屏,而是选了价格低实用的1602显示屏,足以满足实验设计要求,用到最小系统板上的GPIOA/GP
16、IOB/GPIOD引脚;黄色复位键,USB接口电路。第四:虽然在学校本身就有开设51单片机这门课程,这方面有一定基础又是,但是单片是基于寄存器操作的,所以在微机原理等方面要有很好的理解能力,为STM32 微控制器呢,纵观人类发展史,人类总是向着解放双交解放劳动力的方向前行,在这互联网时代,人们在不听的升级升华自己的大脑,解放大脑,放开思维逐渐向着这一趋势开放自我。在这里引用网络上对STM32和对51单片机的调侃,把它们分别比作地主和农民,51是农民,资源少,能力小;stm32是地主,财大气粗,资源丰富,速度快,所以在这里选STM32F103ZET6。5电子科技大学成都学院本科毕业设计论文2.2
17、 4x4矩阵键盘4x4矩阵键盘顾名思义他有16的按键,而本系统所涉及的频率输入只需要用到09数字,和一个清零/确认按键(SET),连线是PD8-PD15引脚工作的原理是:用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上,设置一个按键。而这样的按键中按键的个数是4 X 4个。这样的行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低
18、电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。图2-1按键原理按键的具体响应流程图初始化矩阵键盘要使用的GPIO口。GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; /定义PB8到PB11为上拉输入GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;定义PB12到PB15为下拉输入。图2-3按键流程图。6第2章系统硬件设计图2-2按键读取2.3 1602液晶显示屏标准的16口,第一引脚:VSS为电源地,第二引脚:VDD为正极5V,第三引脚:VO为液晶显示器对比度调整端,接正
19、极对比度最弱,接地对比度最高,然而对比度过高会产生“鬼影”,所以要加一个电位器来调整对比度,也就是用来改变电压的电阻,型号选用:ZOV 204-200k,第四引脚:RS为寄存器选择,高电平为1时选择数据寄存器,低电平0时选择指令寄存器,第五引脚:RW为读写信号线,高电平1时进行读操作;低电平0时进行写操作,第六引脚:E端为使能端,第七至第十四引脚为8位双向数据端,连接最小板的PD0PD7 IO,第1516:背光电源,15引脚背光正极,16引脚背光负极。模块最佳工作电压为5.0V,作电流为2.0mA(5.0V)、示容量为162个字符。基于STM32F103方波信号测试仪系统开机时就对LCD初始化
20、,然后读取单片机送出的freq:10K。第二行F:10K,D:50然后显示在显示屏上,完成对PWM的捕获并显示频率和占空比。如下图:237图2-3 1602功能显示图2-4,上面一排输入的是PWM波的频率,输入函数接收形参55,进入if语句进行计算,得出其周期,以及预分频数,也就是前面一直提到的主频除以周期再除以预分频值,得到的PWM的频率,最后在定时器3的通道CH1输出。本系统虽然都是调用的库函数,包括本节所提到的1602的程序也好,输入函数,中断库等,但是在这里还是要简单的贴上1602显示屏的指令集原理介绍:1602通过D0D7的8位数据端传输数据和指令:1.显示模式设置: (初始化)2.
21、0011 0000 0x38 设置162显示,57点阵,8位数据接口;3.显示开关及光标设置: (初始化)4.0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)5.0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),6.N=0(读或写一个字符后地址指针减1 &光标减1),7.S=1 且 N=1 (当写入一个字符后,整屏显示左移)8.s=0 当写入一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)。第3章系统软件设计第3章 系统软件设计3.1主程序流程图3-1 主流程图系统的程序执
22、行从该流程图开始,第一步主要是配置系统时钟和管脚初始化,输入捕获都是实现在定时器上的,这里选用TIM2定时器中断捕获,初始化管脚,一般带两个参数,初值和分频数都是为了初始化通用寄存器,得到定时器的频率按键设置输出用于设置PWM的频率,在PA6引脚输出,在矩阵键盘上输入在设置的频率范围内由PA2引脚捕获在1602显示屏上输出。1602的使能端、RS寄存器选择、读写端RW分别由最小系统板子上的PB7/PB6/PB5控制。按键的输入,频率的捕获也好都是通过这3个端口来控制的。9第3章系统软件设计3.2.1输入捕获表3-1程序模块划分函数名函数功能参数GPIO端口无CLOCK时钟无TIM定时器无PWM
23、PWM波无EXTI外部中断无NVIC中断函数无main主函数模块无输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测“TIMx_CHx”上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值TIMx_CNT存放到对应的通道的捕获/比较寄存“TIMx_CCRx”里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA等.本次实验用到的是TIM2。TIM2捕获的原理是根据收到PWM波进入外部中断,例如:定时器开始计时第一次上升沿触发中断清零,假如第二次下降沿触发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 方波 信号 测试仪 设计 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。