好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于STM32的简易数字电压表.doc

13页
  • 卖家[上传人]:枫**
  • 文档编号:474214973
  • 上传时间:2023-06-26
  • 文档格式:DOC
  • 文档大小:94.50KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 课程设计报告学 院〔系〕:机械电子工程学院专 业:测控技术与仪器学 生 姓 名:学 号:课程设计题目: 简易数字电压表起 迄 日 期:课程设计地点:指 导 教 师: 目 录第1章 简易数字电压表设计方案论证11.1 简易数字电压表的应用意义11.2本次课程设计的目的11.3简易数字电压表设计的要求与技术指标11.4设计方案论证21.5总体设计方案框图与分析2第2章 简易数字电压表各单元电路设计22.1A/D转换与数据处理22.2 串口通信72.3 LCD显示电路设计7第3章 电路原理图和PCB板的设计8第4章 系统软件程序设计9第5章 设计总结16参考文献17摘要本文以ARM系列的STM32芯片为核心设计了一个简易数字电压表.简易数字电压表采用模数转换思想来实现,通过硬件电路和软件程序相结合,可输出自定义测量电压,通过调节模数转换电位器使在一定范围内可任意改变.输出的电压格式和精度的改变通过软件控制,输出电压的大小的改变通过硬件实现.介绍了的生成原理、硬件电路和软件部分的设计原理.该简易数字电压表具有体积小、价格低、性能稳定、功能齐全的优点.关键词:简易数字电压表;STM32F103;AD转换;第一章 简易数字电压表设计方案论证1.1 简易数字电压表的应用意义数字电压表简称DMV,它是采用数字化测量技术设计的电压表.数字电压表的优良特性深受人们的青睐.具体有以下的应用特点:a) 显示清晰直观,读数准确.b) 准确度高.c) 分辨率高.d) 测量范围宽.e) 扩展能力强.f) 测量速度快.g) 输入阻抗高.h) 集成度高、微功耗.h> 抗干扰能力强 1.2 本次课程设计的目的1) 了解STM32f103内部A/D转换性能与编程方法.2) 学会使用A/D转换器进行电压信号采集.3) 了解uCosII系统工作原理.1.3 简易数字电压表设计的要求与技术指标设计要求:利用STM32F103内部A/D与2.8寸TFT液晶屏,设计完成一个数字电压表.要求:数字电压表可测量0-5V输入电压,电压值通过液晶屏显示.工作原理与设计思路:简易数字电压表的设计由A/D转换.数据处理与显示控制等组成.利用STM32F103内部A/D转换器将模拟电压转换成数字量,经STM32F103计算将数字量转换成对应的电压值,并通过液晶屏输出.1.4.设计方案论证数字电压表的基本组成部分是A/D变换器+电子计数器.通常,被测直流电压经A/D转换器变为与之成正比的闸门时间,在此闸门时间内计数,用数字显示被测电压值.可见A/D变换器是DVM的核心部件.本课设上采用的是单片A/D转换器〔含模拟电路与数字电路〕集成在一片芯片上,配以LCD或LED数字器件后能显示A/D转换结果的集成电路.它们均属于大规模的集成电路,能以最简的方式构成DVM.在此采用ICL7106A/D转换器.但由于STM32F103内部集成了A/D转换器,所以不需要外围的A/D转换器,这就体现了STM32得集成特性.1.5总体设计方案框图与分析 LCD显示STM32F103控制逻辑RC滤波器RC振荡器 分频器第二章 简易数字电压表各单元电路设计简易数字电压表的设计由A/D转换.数据处理与显示控制等组成.由于STM32F103集成了A/D转换.数据处理部分,所以可以集中在一起研究,所以分成了两部分.2.1 A/D转换与数据处理1〕基本型号介绍首先我们先研究STM32系列芯片的基本知识.由图1可知STM32F103ZET6有144个引脚,所以我们来了解他的基本型号与代码之间的关系. 图1STM32系列产品命名规则 示例:STM32F103C8T6A##x 产品系列STM32 = 基于ARM®s22的32位微控制器产品类型F = 通用类型产品子系列101 = 基本型102 = USB基本型,USB 2.0全速设备103 = 增强型105或107 = 互联型引脚数目T = 36脚C = 48脚R = 64脚V = 100脚Z = 144脚闪存存储器容量4 = 16K字节的闪存存储器6 = 32K字节的闪存存储器8 = 64K字节的闪存存储器B = 128K字节的闪存存储器C = 256K字节的闪存存储器D = 384K字节的闪存存储器E = 512K字节的闪存存储器封装H = BGAT = LQFPU = VFQFPNY = WLCSP温度范围6 = 工业级温度范围,-40°C~85°C7 = 工业级温度范围,-40°C~105°C内部代码A 或者空 <详见产品数据手册>选项##x = 已编程的器件代号<3个数字>TR = 卷带式包装2) STM32系列的最小系统设计和独立的A/D转换器供电和参考电压 最小系统主要包括调试接口.震荡电路.引导设置.复位电路和供电系统.电路由稳定的电源VDD供电.值得注意的是,如果使用ADC,VDD的范围必须在2.4-3.6V;如果没有使用ADC,VDD的范围为2-3.6V.启动模式选项:由开关SW〔BOOT0〕和SW配置.如图2所示 图2复位电路:复位信号是低有效,复位源包括复位按钮JP3和连在连接器上的调试工具.如图3 图3时钟源:两个时钟源被用于这个微控制器.LSE X1用于嵌入式RTC的32.768kHz晶振;HSE X2用于STM32F103微控制器的8MHz晶振.如图4所示 图4去耦电容:去耦电容就是起到一个电池的作用,满足驱动电路电流的变化,避免相互间的耦合干扰. 由11个100nf的陶瓷电容和一个钽电容组成.如图5所示 图5独立的A/D转换器供电和参考电压:为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰. ●ADC的电源引脚为VDDA ● 独立的电源地VSSA 如果有VREF-引脚<根据封装而定>,它必须连接到VSSA. 100脚和144脚封装: 为了确保输入为低压时获得更好精度,用户可以连接一个独立的外部参考电压ADC到VREF+和VREF-脚上.在VREF+的电压范围为2.4V~VDDA. 如图6所示 图63) STM32系列的内ADC转换逻辑12位ADC是一种逐次逼近型模拟数字转换器.它有多达18个通道,可测量16个外部和2个内部信号源.各通道的A/D转换可以单次、连续、扫描或间断模式执行.ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中. 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值. ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生.ADC主要特征●12位分辨率 ● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断 ● 单次和连续转换模式 ● 从通道0到通道n的自动扫描模式 ● 自校准 ● 带内嵌数据一致性的数据对齐 ● 采样间隔可以按通道分别编程 ● 规则转换和注入转换均有外部触发选项 ● 间断模式 ● 双重模式<带2个或以上ADC的器件> ●ADC转换时间: ─STM32F103##增强型产品:时钟为56MHz时为1μs<时钟为72MHz为1.17μs> ─STM32F101##基本型产品:时钟为28MHz时为1μs<时钟为36MHz为1.55μs> ─STM32F102##USB型产品:时钟为48MHz时为1.2μs ─STM32F105##和STM32F107##产品:时钟为56MHz时为1μs<时钟为72MHz为1.17μs> ●ADC供电要求:2.4V到3.6V ●ADC输入范围:VREF- ≤VIN ≤VREF+ ● 规则通道转换期间有DMA请求产生.我们需要打开一个ADC输入端口,使外部的模拟量被采集,这样才能通过内部的ADC转换器和驱动电路来实现转换成数字量.采集模拟量的电路如图7所示 图7控制逻辑有三个作用:第一,识别积分器的工作状态,适时发出控制信号,使A/D 转换正常进行;第二,判定输入电压极性并控制LCD的负极性显示.2.2 串口通信由于微控制器的控制是通过编程语言来控制的,所以需要外设的串口来实现编程语言的读写. 通用异步收发器是一种串行接口,一般微处理器中都包含这种外设接口.异步串行接口提供了一种简单的途径,使两个器件无需共享同一个时钟信号就能进行通信.如果再加入一个合适的电平转换器MAX232,串口就能能用在RS232和RS485等网络中实现通信,或者与计算机的COM端口连接.串口只需两根信号线即可实现,而且只要两端器件都采用同样的位格式和波特率,那么它们无需其它任何对方的信息就可以成功传输数据.电路图如图8所示 图82.3 LCD显示电路设计由于STM32是一种高集成芯片,所以在显示液晶屏电路上就少了很多附带的驱动电路,我们选用采用自带驱动模块的液晶屏,这样就少了外围驱动电路.LCD的显示电路如图9所示 图9第三章 电路原理图与PCB板设计我们用电路板绘图软件protel,绘制电路原理图并生成PCB板,在绘制完原理图生成PCB板的布线与原件的排列方面有很多值得注意的问题,如地线与电源线必须加粗,尽量避免出现绕线的现象,因为这样就增加了信号传输的时间,尽量减少线的使用,相同器件尽量布在一起,这样方便以后电路板的焊接等等规则.根据要求和以上的分析得到的原理图与PCB板图如图10所示 第四章 系统软件程序设计我们采用的是Kilc-4编写与烧入软件,在Kilc-4中建立项目并建立c语言文件,在文件中编写c语言程序,编写完毕后在软件中的选项flash中的configure flash tools中设置参数,设置成适合Cortex-M3嵌入式处理器STM32合适的参数.最后编译检查程序的正确与否,如果可以创建目标文件则可以烧入微控制器中,否则检查是否有错误或是警告,排除错误或是警告,最终实现创建目标,最后烧入火牛开发板,检验程序是否符合设计要求,看液晶显示屏上的检测电压是否随着模拟输入电位器的旋转改变而改变.简易数字电压表的控制程序为:显示程序.c :#include #include "sys.h"#include "usart.h" #include "delay.h" #include "led.h" #include "lcd.h" #include "adc.h"int main{ u16 adcx; float temp; float temperate; Stm32_Clock_Init<9>;//系统时钟设置 delay_init<72>; //延时初始化// uart_init<72,9600>; //串口1初始化 LED_Init<>;。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.