基于单片机M0的温度警报系统设计说明.doc
《基于单片机M0的温度警报系统设计说明.doc》由会员分享,可在线阅读,更多相关《基于单片机M0的温度警报系统设计说明.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目 录第1章 系统设计分析11.1系统设计要求11.2任务和实现的功能11.3主要性能指标11.4方案的论证11.5采集电压电路的选择1第2章 硬件的设计22.1电源电路22.2电压采集电路22.3温度显示电路32.3.174 HC595具有的特点32.3.274HC595管脚图42.3.3数码显示管原理52.4M0介绍62.4.1A/D与数据采集处理7第3章 软件设计93.1软件实现功能93.2软件设计9第4章 功能测试与结果分析104.1硬件调试分析104.2测试结果分析104.3温度报警实物图10第5章 设计心得11参考文献12附录13附录一:元器件明细表13附录二:PT1000温度与
2、电阻的关系13附录三:硬件电路原理图14附录四:参考程序15附录五:实物图2425 / 26第1章 系统设计分析1.1 系统设计要求 1、 以单片机、CPLD/FPGA、ARM、DSP等为核心器件,组成一个单片机数据采集系统; 2、 温度围为0150C,测量精度为1C; 3、 被测温度通过4位LED数码管显示; 4、 温度下限为80C,上限为90C,超过上下限温度具有报警功能。根据项目的具体要求,经过阅读思考,可对题目的具体任务、功能、技指等作出如下分析。1.2 任务和实现的功能实际上项目的任务就是要设计一个温度采集系统,系统的功能是用户可以随意设定某一温度,当前温度超过一定围时可以报警,温度
3、回到正常值停止报警,并且可动态显示当前的温度。 在控制部分,要求系统跟随动态设定的温度而报警,题目并未规定报警反应时间长短,但显然报警要快。1.3 主要性能指标 1、温度围为0200C,测量精度为1C,可以估算到0.1C; 2、被测温度通过前4位LED数码管显示,后4位LED数码管显示动态设定的报警温度; 3、自己可以通过键盘显示板设置报警温度;1.4 方案的论证经过对题目进行深入的分析和思考,可将整个系统分为以下几个部分:模拟温度传感器、A/D转换、ARM、数码显示 、温度报警部分组成 。系统框图如下(图1.1)。 数码显示 模拟温度传感器 A/D转换 ARM 温度报警 图1.1 系统结构框
4、图1.5 采集电压电路的选择 1、 采用差动放大原理运放LM324正反相放大器,利用差动放大原理,对于纯粹的单向放大电路,这是足够的。但是设计匹配相关电阻以与采集后电阻与温度的关系稍显麻烦,并且电路供电是3.3V不太需要放大。2、 简单分压电路采集 本次采用的温度传感器PT1000在0100C之间温度与电阻成十分良好的线性关系,故很适合采用分压原理进行测量,能够很精确的反应出温度的变化,并且电路简单。本次设计电路故采用分压原理设计。 第2章 硬件的设计2.1 电源电路本次项目用直流5V、3.3V稳压电源,M0工作电压在3.3V而实际电压为3.29V可以满足要求。具体电路如下(图2.1): 图2
5、.1 电源电路图2.2 电压采集电路本次采用的是分压原理采集电压,故电路很简单,如下所示(图2.2): 图2.2电压采集电路由于这个电路输出的是电压信号,不能直接被ARM利用,因此需经过一个A/D转换器,将电压信号转换为数字量。A/D转换器有很多类型,需要根据精度和转换速度来进行选择。本设计可采用最常用的A/D芯片之一AD0809的应用电路。也可直接选用M0上的A/D转换器,这样可以省去A/D电路的制作,简化了电路,提高了可靠性。值得注意的是ARM系列的微处理器A/D的值要小于3.3V。2.3 温度显示电路本次设计使用的键盘显示板主要采用74HC595芯片和数码显示管。显示电路图(图2.3)
6、图2.3 键盘显示板的电路图2.3.1 74 HC595具有的特点 74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出下一级级联芯片。 1、 高速移位时钟频率Fmax25MHz; 2、 标准串行(SPI)接口; 3、 CMOS串行输出,可用于多个设备的级联; 4、 低功耗:Ta=25时,Icc=4uA(MAX);2.3.2 74HC595管脚图 图2.4 74HC595的管脚图下面是74HC595管脚列表: 表1: 74HC595管脚列表 管脚编号管脚名说明1、2、3、4、5、6、7、15QAQH三态输出管脚8GND电源地9SQH串行数据输出管脚10
7、SCLK移位寄存器清零端11SCK数据输入时钟线12RCK输出存储器锁存时钟线13OE输出使能14SI数据线15VCC电源端输入输出管脚图(图2.5): 图2.5 输入输出管脚图 表2: 74HC595真值表输入管脚输出管脚SISCKSCLRRCKOEXXXXHQAQH输出高阻XXXXLQAQH输出有效值XXLXX移位寄存器清零L上沿HXX移位寄存器存储LH上沿HXX移位寄存器存储HX下沿HXX移位寄存器状态保持XXX上沿X输出存储器锁存移位寄存器中的状态值XXX下沿X输出存储器状态保持2.3.3 数码显示管原理我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本一样
8、。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图(图2.6)如下。图2.6 数码显示管的电路与结构图其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5或3.3伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选
9、线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。如下表(表3)所示。 表3:数码管显示数字对应的段码表共阳极数码显示管共阴极数码显示管十进制十六进制位码十进制十六进制位码十进制十六进制位码十进制十六进制位码00xc080x8000x3f80x7f10xf990x9010x0690x6f20xa4a0x8820x5ba0x7730xb0b0x8330x4fb
10、0x7c40x99c0xc640x66c0x3950x92d0xa150x6dd0x5e60x82e0x8660x7de0x7970xf8f0x8e 70x07f0x712.4 M0介绍LPC1100系列Cortex-M0微控制器是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器。它是市场上低价最低的32位微控制器解决方案,其价值和易用性比现有的8/16位微控制器更胜一筹。该控制器性能卓越、简单易用、功耗低,更重要的是它能显著降低所有8/16位应用的代码长度。LPC1100系列Cortex-M0微控制器的主频时钟高达50MHz,拥有高性能的运算控制能力,每秒可执行4500多万条指令,支持
11、睡眠、深度睡眠和深度掉电3种低功耗模式。同时它拥有丰富的外围组件:高达32KB片Flash程序存储器、8KB片SRAM、一路(FM+)、一路RS-485/EIA-485UART、两路SSP、4个通用定时器以与多达42个通用I/O口。LPC1100系列Cortex-M0微控制器主要包括以下主要模块:AD转换器、I2C、SPI、SSP、UART、定时器、功率控制等模块组成。部结构图如下所示(图2.7) 图2.7 Cortex-M0部结构图Cortex-M0核特性如下: 1、系统选项 Cortex-M0核集成了嵌套向量中断控制器(NVIC),支持多达32个中断; 集成了系统节拍定时器; 2、调试选项
12、 集成了JTAG调试接口; 集成串行调试接口,支持两个观察点和四个中断断点;2.4.1 A/D与数据采集处理 LPC1100系列Cortex-M0微控制器A/D转换器的基本时钟由APB时钟提供。A/D转换器包含一个可编程的分频器,它可以将APB时钟调整为逐次逼近转换所需的时钟(最大可达4.5MHz,并且完全满足精度要求的转换需要11个这样的时钟)。 1、 ADC转换时钟分频值计算:其中:Fadclk为所要设置的ADC时钟,其值不能大于4.5MHz。2、 A/D转换值计算:LPC1100系列Cortex-M0部ADC转换精度是10bit,因此当通道0的结果寄存器AD0DR0中保存的准换值为时,则
13、转换结果的计算方法如下:由于本次采用的是3.3V作为基准参考电压源,则LPC1100系列Cortex-M0A/D转换器的最小分辨率LSB的如下:(mv)在一次转换中,A/D转换器能够区分的最小电压为3.22mv;在本次设计中我们知道PT1000基本变化围时10001300左右,所以选择1000电阻来分压(实际测量是996),电源提供的是3.3.v(实际测量是3296mv);故可以得出相关准换公式 : PT1000电阻值与温度的关系: Res=1000+3.9T故得温度与电压的关系: T=(C)通过这个公式可以很简单明了的表示出电压与温度的关系。第3章 软件设计3.1 软件实现功能 1、 对温度
14、的采集并显示当前的温度与用户设定的报警温度。 2、 对当前温度的实时监控。 3、 用户可以通过按键修改报警温度。 4、 系统的复位。3.2 软件设计首先运行程序,对定时器、GPIO、SPI、A/D等部分功能引脚与其功能初始化设置。起初设定的报警温度是40C。当进入主程序,首先进行检测是否有按键按下,若有键按下则修改报警温度,在这个程序中共设置了五个按键,其中两个按键分别加1C、10C(case1、case3),另外两个按键分别减1C、10C(case2、case4),还设置了一个还原键恢复到40C(case7)。之后把A/D采样的电压进行程序计算得出实时温度,每完整采集转换一次温度便与设置的报
15、警温度进行比较,如果大于设置的温度则进行报警。同时实时采集当前的温度与报警温度比较,如果温度低于报警温度则停止报警,否则继续报警直到温度低于报警温度或是通过按键提高报警温度,这样循环下去。主程序流程图(图3.1)所示,实现对报警温度值的设定、执行、显示实时温度与对温度的实时监测。 图3.1 软件流程图第4章 功能测试与结果分析使用的主要仪器仪表:PC机;数字万用表(DT-9205B,GDM-8245);可跟踪直流稳压电源。4.1 硬件调试分析 1、 受热时受热不均与,导致测量的误差有点大。 2、 采集电压没有加滤波电容会导致A/D采样的不精确,因为之中会含有高次谐波,加上滤波电容之后就可以解决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 M0 温度 警报 系统 设计 说明
限制150内