您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于STM32的简易数字电压表
《嵌入式系统》课程设计报告题目:基于STM32的简易数字电压表专业:网络工程班级:网络工程12(1)姓名:卢东亚指导教师:冯康成绩:计算机学院2015年5月22日学号12080201212014-2015学年第二学期目录1.设计内容及要求.......................................................................................................11.1.设计内容.......................................................................................................11.2.设计要求.......................................................................................................12.概要设计...................................................................................................................22.1.硬件电路.......................................................................................................22.2.实验板中的连线图.......................................................................................22.3.STM32介绍...................................................................................................32.4.主要函数说明...............................................................................................83.设计过程或程序代码.............................................................................................103.1.设计过程.....................................................................................................103.2.程序代码.....................................................................................................124.设计结果与分析.....................................................................................................16参考文献......................................................................................................................17计算机学院《嵌入式系统》课程设计报告11.设计内容及要求1.1.设计内容本文以ARM系列的STM32芯片为核心设计了一个简易数字电压表。简易数字电压表采用模数转换思想来实现,通过硬件电路和软件程序相结合,可输出自定义测量电压,通过调节模数转换电位器使在一定范围内可任意改变。输出的电压格式和精度的改变通过软件控制,输出电压的大小的改变通过硬件实现。介绍了的生成原理、硬件电路和软件部分的设计原理。该简易数字电压表具有体积小、价格低、性能稳定、功能齐全的优点。1、将一模拟电压信号输入到A/D转换器的任一通道。2、A/D转换器将输入的模拟电压值转换成数字量。3、根据学习开发板所用A/D转换器的类型,将转换成的数字量通过一定的算法转换成相应的电压值。4、将转换成电压值通过学习开发板上的LCD显示屏进行显示,要求显示一位小数。1.2.设计要求利用STM32F103内部A/D及2.8寸TFT液晶屏,设计完成一个数字电压表。要求:数字电压表可测量0-5V输入电压,电压值通过液晶屏显示。工作原理及设计思路:简易数字电压表的设计由A/D转换.数据处理及显示控制等组成。利用STM32F103内部A/D转换器将模拟电压转换成数字量,经STM32F103计算将数字量转换成对应的电压值,并通过液晶屏输出。数字电压表的基本组成部分是A/D变换器+电子计数器。通常,被测直流电压经A/D转换器变为与之成正比的闸门时间,在此闸门时间内计数,用数字显示被测电压值。可见A/D变换器是DVM的核心部件。本课设上采用的是单片A/D转换器(含模拟电路与数字电路)集成在一片芯片上,配以LCD或LED数字器件后能显示A/D转换结果的集成电路。它们均属于大规模的集成电路,能以最简的方式构成DVM。在此采用ICL7106A/D转换器。但由于STM32F103内部集成了A/D转换器,所以不需要外围的A/D转换器,这就体现了STM32得集成特性。计算机学院《嵌入式系统》课程设计报告22.概要设计2.1.硬件电路设计的核心STM32嵌入式处理器的硬件电路如图1所示图1STM32嵌入式处理器的硬件电路2.2.实验板中的连线图连线图如图2所示。计算机学院《嵌入式系统》课程设计报告3图2硬件连接图。2.3.STM32介绍STM32F103xx增强型系列使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。STM32F103xx增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。完整的STM32F103xx增强型系列产品包括从36脚至100脚的五种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。这些丰富的外设配置,使得STM32F103xx增强型微控制器适合于多种应用场合:●电机驱动和应用控制●医疗和手持设备●PC外设和GPS平台●工业应用:可编程控制器、变频器、打印机和扫描仪●警报系统,视频对讲,和暖气通风空调系统计算机学院《嵌入式系统》课程设计报告4ARM®的Cortex™-M3核心并内嵌闪存和SRAMARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上得到了ARM核心的高性能。STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。图一是该系列产品的功能框图。内置闪存存储器●高达128K字节的内置闪存存储器,用于存放程序和数据。内置SRAM多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。嵌套的向量式中断控制器(NVIC)STM32F103xx增强型内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex-M3的中断线)和16个优先级。●紧耦合的NVIC能够达到低延迟的中断响应处理●中断向量入口地址直接进入核心●紧耦合的NVIC接口●允许中断的早期处理●处理晚到的较高优先级中断●支持中断尾部链接功能●自动保存处理器状态●中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能。外部中断/事件控制器(EXTI)外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。时钟和启动系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当外部时钟失效时,它将被隔离,同时会产生相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个外接的振荡器失效时)。具有多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。自举模式在启动时,自举管脚被用于选择三种自举模式中的一种:●从用户闪存自举●从系统存储器自举●从SRAM自举自举加载器存放于系统存储器中,可以通过USART对闪存重新编程。供电方案●VDD=2.0至3.6V:VDD管脚提供I/O管脚和内部调压器的供电。●VSSA,VDDA=2.0至3.6V:为ADC、复位模块、RC振荡器和PLL的模拟计算机学院《嵌入式系统》课程设计报告5部分提供供电。使用ADC时,VDD不得小于2.4V。●VBAT=1.8至3.6V:当(通过电源开关)关闭VDD时,为RTC、外部32kHz振荡器和后备寄存器供电。供电监控器本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视VDD供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时将产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。需要通过程序开启PVD。电压调压器调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式●主模式(MR)用于正常的运行操作●低功耗模式(LPR)用于CPU的停机模式●关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失)该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。低功耗模式STM32F103xx增强型支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。●睡眠模式在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。●停机模式在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI和HSE的RC振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。●待机模式在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI和HSE的RC振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。从待机模式退出的条件是:NRST上的外部复位信号、IWDG复
本文标题:基于STM32的简易数字电压表
链接地址:https://www.777doc.com/doc-4312204 .html