《基于stm32的温度测量系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于stm32的温度测量系统毕业设计.docx(69页珍藏版)》请在优知文库上搜索。
1、基于stm32的温度测量系统毕业设计1绪论12系统分析32STM32芯片32.2 DS18B2052.3 TFTLCD62.4 ATK-HC05蓝牙串口73便件设计83.1 MCU83.2 JTAG设计93.3 TFTLCD电路设计94软件设计104.1 系统初始化104.1.1 时钟的初始化104.1.2 I/O初始化114.1.3 串口初始化134.1.4 DMA初始化154.1.5 断初始化174.2 模块功能设计184.2.1 DS18B20温度模块184.2.2 TFTLCD模块设计214.2.3 ATK-HC05蓝牙模块245结果与总结26参考文献30随着现代工业的不断发展,生产技
2、术的不断进步,对于产品的精度要求也不断提高,而温度是人们生产生活中十分关注的参数,对温度的测量以及监控就显得I分重要。在某些行业中对温度的要求较高,由于工作环境温度的偏茅进而引发事故。如化工业中做酶的发酵,必须口寸刻了解所发酵酶的温度才可以得到所需酶;文物的保护同样也离不开温度的采集,不仅在文物出土的时刻,在I尊物馆和档案馆中,温度的控制也是藏品保存关键,所以温度的检测对其也是具有重要意义的;另外大型机房的温度的采集,超出此范围会影响服务器或系统的止常工作等等。传统方式监控温度往往很耗费人力,而且实时性并。木文就设计了一个基于STM32的温度测量系统,在测量温度的同时能实现无线传输与控制。早期
3、使用的是模拟温度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据某个公式就可计算出当前环境温度。而现在的温度传感器已经走向数字化,木次设计选用美国DALLAS半导体公司推出的数字化温度传感器DS18B20,该芯片采用单-总线协议,仅占用一个I/O口,直接将环境温度转化成数字信号,以数字码方式串行输出。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈刚封装式,型号多种多样,有LTM88刀ZLTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20耐磨耐碰,体积小,使用方便,封
4、装形式多样,适用于各种狭小空间设备数字测温和控制领域,如电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合MCU选用STM32RBT6,有测量精度高、操作简单、价格低廉等优点。STM32系列基于专为要求高性能、低成木、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。按性能分成两个不同的系列:STM32F103增强型”系列和STM32F101“基木型”系列。增强型系列时钟频率达到72MHZ,是同类产品中性能最高的产品;基本型时钟频率为36MHZ,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都
5、内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。口寸钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。同时在编程方面STM32也具有和其他单片机的优势之处,如51单片机必须从最底层开始编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而&STM32g前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的。无线传输采用蓝牙技
6、术,将采集的温度传输至终端,以此实现远程监控。利用“蓝牙”技术,能够在10米的半径范围内实现单点对多点的无线数据传输,其数据传输带宽可达IMbpso通讯介质为频率在2.402GHz到2.480GHz之间的电磁波。用跳频频谱扩展技术,把频带分成若干个跳频信道,在一次连接中,无线电收发器按伪随机码序列不断地从一个信道“跳一到另一个信道。硬件设计使用的是AltiumDesigner软件,AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统。这套软件把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑白动布线、信号完整性分析和设计输出等技术进行了完美融合,使
7、用起来很方便。通过原理图的绘制,对整体的结构有了更深一步的了解。软件部分则是通过RealViewMDK来设计的,它是ARM于2006年1月30口推出的针对各种嵌入式处理器的软件开发工具业ealViewMDK集成了业内领先的技术包括KeilUViSiOn3集成开发环境与RealVieW编译器。支持最新的COrteX-M3核处理器,口动配置启动代码,集成Flash烧写模块,强犬的Simulation设备模拟,可进行软件仿真。软件仿真时可以查看很多硬件相关的寄存器,通过观察这些寄存器,就能很容易的检杳代码的功能是否符合设计要求,出现错误时也方便找出原因。通过”ink连接处理器后,还能进行在线调试,就
8、能实时跟踪程序在硬件上的执行状况,可以进行复位、执行到断点处、挂起、执行进去、执行过去、执行出去等丰富的操作,例如,单步执行程序,就可以看到每一行代码在硬件的所起的效果,这样更直观,更方便对程序进行改进。这个功能在软件设计的过程中给予我极大的帮助,STM32的寄存器比较繁杂,使用时很容易遗漏某些部分,而在线调试就容易找出问题所在,从而进行纠正。最后的成品较好的完成了预定的设计要求,能准确的显示温度数据,能与移动终端实现异步双工通信,达到传输温度和远程控制的目的。通过本次设计,更加深入的理解了stm32的相关寄存器,并掌握其工作原理。更加深入的学习和应用一些工具软件,如AltiUmDeSigne
9、rRealViewMDK,通过对这些软件的使用,也加深了对相关知识的理解。本次的毕业设计题目相关的知识包括:电路原理、模拟电路、数字电路、c语言、单片机原理、通信原理等,有效的培养分析和解决实际问题的综合能力,得到更加全面的培养和锻炼,使大学所学的基础和专业知识可以再解决实际问题中得到综合的应用。本系统是基于STM32微控制器所设计的温度测量系统,通过温度芯片DS18B20测量温度,微控制器张动液晶模块显示当前测得的温度,然后由蓝才将温度信息发送至手机终端,同时接收终端反馈的控制信息。整个系统模块分为四个模块:主芯片模块、DS18B20温度模块、液晶显示、蓝才模块。MCU是STM32主芯片的最
10、小板,上面有芯片工作需要的最少资源:时钟控制电路、复位电路、JTAG控制口以及与外围电路相连的接口。DS18B20和液晶分别是温度测量、控制显示部分。而蓝牙模块负责完成与移动终端的异步双工通信。2.1STM32芯片STM32系列基于专为耍求高性能、低成本、低功耗的恢入式应用专门设计的ARMCortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基木型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基木型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到1
11、28K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHZ时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mAMHZoSTM32的高性能Cortex-M3内核为1.25DMipsMHz;含有一流的外设Ius的双12位ADC,4兆位/秒的UART,18兆位/秒的SPL18MHZ的I/O翻转速度;在72MHz时消耗36mA,待机时下降的2uAo内核:ARM32位Cortex-M3CPU,最高工作频率72MHZ,1.25DMIPS/MHz。单周期乘法和便件除法。存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。时
12、钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4-16MHz的晶振。内冢出厂而调校的8MHzRC振荡电路。内部40kHz的RC振荡电路。用于CPU时钟的PLLo带校准用于RTC的32kHz的晶振。低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBATo调试模式:串行调试(SWD)和JTAG接口。DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和USART。2个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感
13、器。2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。最多多达11个定时器:4个16位定时器,每个定时器有4个1COCPWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。SyStiCk定时器:24位倒计数器。2个16位基木定时器用于驱动DACo最多多达13个通信接口:2个C接口(SM
14、Bus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECoPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。集成嵌入式Flash和SRAM存储器的ARMCortex-M3内核。和8/16位设备相比,ARMCortex-M332位RISC处理器提供了更高的代码效率。STM32F103xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。嵌入式Flash存储器和RAM存储器:内置多达512KB的嵌
15、入式FIaSh,可用于存储程序和数据。多达64KB的域入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。可变静态存储器(FSMC):FSMe嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持四种模式:Flash9RAM5PSRAM5NOR和NAND。3个FSMC中断线经过OR后连接到NVIC没有读/写FIFo,除PCCARD之外,代码都是从外部存储器执行,不支持BOOt,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。嵌套矢量中断控制器(NVlC):可以处理43个可屏蔽中断通道(不包括COrteX
16、-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断人口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断人口在中断退出时门动恢复,不需耍指令干预。外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。时钟和启动:在启动的时候还是耍进行系统时钟选择,但复位的时候内部8M