分类: C/C++
2015-07-14 15:12:20
目录
摘要.................................................................................................................................................1
1技术参数和设计任务...............................................................................................................3
2本课程设计系统概述...............................................................................................................3
2.1 系统原理3
2.2 系统结构图3
2.3 控制方案4
2.3.1、温度测量部分方案4
2.3.2、主控制部分方案4
3、各单元硬件设计8
3.1、温度控制及超温和超温警报单元8
3.2、温度测试单元9
3.3、温度控制器件电路10
3.4、电源输入部分10
3.5、烟雾传感器10
3.6、LCD1602液晶显示11
4、软件设计12
4.1程序结构分析 12
4.1.1 键盘扫描电路及按键处理程序12
4.1.2 温度信号处理程序12
4.1.3 LCD1602显示程序12
4.1.4 继电器控制程序12
4.1.5 串口通讯程序12
4.2主程序流程图13
5、研究工作进度 14
6总结15
参考文献15
1、 技术参数和设计任务
1、利用单片机MSP430F249实现对温度物理量的控制,实现对温度控制的目的;
2、为达到电源输出5V电压目标,完成电源电路的设计;
3、为达到显示器显示目标,完成显示电路的设计;
4、为达到检测温度的目标,完成检测电路的设计;
5、完成报警设计;
6、进行软件设计[分配系统资源,编写系统初始化和主程序模块;编写数字调节器软件模块;编写A/D转换器处理程序模块;编写输出控制程序模块;其它程序模块(数字滤波、显示与键盘等处理程)等等。
2、 本课程设计系统概述
2.1 系统原理 温度传感器 DS18B20从设备环境的不同位置采集温度,单片机 msp430249 获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 (压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器)。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。 系统中将通过串口通讯连接PC机存储温度变化时的历史数据,以便观察整个温度的控制过程及监控温度的变化全过程。
2.2 系统结构图 本设计以MSP430F249单片机为主控核心设计的一个温度控制系统,低温时可控制加热设备,高温时控制风扇,超出设定最高温度值时蜂鸣器发出声响报警
|
SHAPE \* MERGEFORMAT
温度传感器
MQ-2 烟雾检测
|
MSP430F249 |
LCD1602 |
图1总体硬件方框图
2.3 控制方案
2.3.1 温度测量部分方案 DHT11数字式温度传感器,与传统的热敏电阻有所不同的是,使用集成芯片,采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度。同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单, 使数据传输和处理简单化。 部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这也就缩短了开发的周期 。
2.3.2 主控制部分方案 MSP430的可编程中断可由处理机的运行状态来启动,如看门狗溢出、外围模块或外部发生的事件等。每个中断源可以用中断允许位单独关闭,而状态寄存器中的通用中断允许位GIE可以禁止全部中断。
当中断请求发生并且相应的中断允许位和通用中断允许位置位,中断服务程序按以下顺序激活:
1、CPU处于活动状态:完成当前执行指令。CPU处于省电状态:终止低功耗模式。
2、指向下一条指令的PC值压入堆栈。
3、SR(或状态寄存器)压入堆栈。
4、执行上条指令时已有多个中断请求发生并且等待服务,选择最高优先级者。
5、一中断源标志中的中断请求标志位自动复位,多中断源标志仍保持置位以等待软件服务。
6、中断允许位GIE复位,CPUOff位、OscOff位和SCG1位 ·复位,状态位V、N、Z和C复位。
7、的中断向量值装入PC,程序从该地址继续执行中断处理。
中断响应从接受中断请求开始到执行相应的中断服务程序的首条指令,持续6个周期。
8、 MSP430中断优先级
MSP430中断优先级由模块连接链决定:越接近CPU/NMIRS的模块中断优先级越高。以MSP430F249为例(顺序由低到高):
表1 中断优先级
0xFFE0 |
基础定时器中断 |
0xFFF0 |
串行口0发送中断 |
0xFFE2 |
外部接口P2中断 |
0xFFF2 |
串行口0接收中断 |
0xFFE4 |
串行口1发送中断 |
0xFFF4 |
Watchdog定时器中断 |
0xFFE6 |
串行口1接收中断 |
0xFFF6 |
模拟比较器中断 |
0xFFE8 |
外部接口P1中断 |
0xFFF8 |
定时器B7中断1 |
0xFFEA |
定时器A3中断1 |
0xFFFA |
定时器B7中断0 |
0xFFEC |
定时器A3中断0 |
0xFFFC |
不可屏蔽中断 |
0xFFEE |
ADC转换完成中断 |
0xFFFE |
复位中断 |
|
9、 特殊功能寄存器
地址 |
寄存器 |
0006h~000Fh |
未定义 |
0005h |
模块允许寄存器2; ME2 |
0004h |
模块允许寄存器1; ME1 |
0003h |
中断标志寄存器2; IFG2 |
0002h |
中断标志寄存器1; IFG1 |
0001h |
中断允许寄存器2; IE2 |
0000h |
中断允许寄存器1; IE1 |
大多数中断控制位、中断标志和中断允许位集中在少数几个SFR中。这些SFR 以字节形式位于低地址区。SFR只能以字节指令访问。
10、 看门狗定时/计数器
由于程序的缺陷、由于运算结果或运行条件的(永远)不能满足,程序可能会进入“死循环”,从外表上看就是“死机”。另一种导致“死机”的可能是干扰。由于强电磁干扰可能导致程序指针PC指向错误的地址,导致程序运行出现不可预知的结果。
在有人操作的情况下发现“死机”,最直接的解决办法就人工复位。如许多计算机上都有复位(reset)按钮。单片机通常都是工作在无人的环境下,发生死机应该自动复位。人工发现死机的依据是程序总执行相同的工作,所以自动复位的依据也是一段程序运行的估计时间,当一段程序运行超过估计时间时,系统就对单片机强行复位。
看门狗定时器(WDT)的主要功能是当程序发生错误时执行一个受控的系统重启动。如果超过了选定的定时时间,发生系统复位。如果应用中不需要此功能,可以把它当作定时器。当选定定时时间到达后将产生中断。
WDT模块可置成两种模式:WatchDog模式和定时器模式
看门狗寄存器:
看门狗定时器的计数器WDTCNT 是16位增计数器,它不能直接用软件访问。WDTCNT的控制是通过WDTCTL,它是位于字地址0120h的低位字节的16位读/写寄存器。所有读写操作都要用字指令,即不带后缀或用后缀“.W”。在两种工作模式(看门狗或定时器)中,只有含有正确口令的指令才能写入WDTCTL。
11、 MSP430的最小系统
图2 MSP430F249
1、电源
电源是单片机系统的重要部件,必须与单片机系统的特性相匹配。如果电源自身的电流消耗太大,MSP430单片机的超低功耗的特点就失去了意义。
MSP430单片机的电源为1.8V~3.6V,符合这一范围的标准稳压电源为2.5V和3.3V。
MSP430单片机系统的稳压电源器件一定要选用低静态电流的器件。
复位电路 :
复位电路应该考虑2种情况:上电自动复位和人工按钮复位。复位电路同样要考虑MSP430的超低功耗特性,即复位电路应尽量避免额外的电流开销。因此应该尽量采用无源器件组成复位电路。
2、晶体
MSP430单片机推荐的低频时钟是32768Hz的晶体振荡器,32768Hz低速晶振可以直接接入MSP430单片机的XIN和XOUT引脚,无需其它原件。MSP430单片机的高频时钟根据具体型号的不同而不同,一般为8MHz,个别信号可达16MHz。高速晶振接入MSP430单片机的XT2IN和XT2OUT引脚,分别需要接10~20pF的高频电容。
简易仿真器JTAG下载线 :
MSP430最简单的JTAG下载线仅有一个集成电路(缓冲器)和几个电阻(电压平衡)组成。GB25F插头接在计算机的打印机接口上,JTAG接在MSP430单片机的对应接口上。
降低功耗的途径一般有2种:
1、选择低功耗的元器件
2、选择间歇工作方式
I/O端口可以直接用于输入输出,在 MSP430 系统中,没有专门的输入/输出指令,输入输出操作都是通过数据传送指令来完成的。端口每一位都可以独立用于输入/输出。
12、 I/O口的基本操作流程
1、选择I/O口的功能
MSP430单片机的大多数I/O口都是多功能口。除了通用I/O功能外,一般都有可编程的特殊功能。如MSP430F449的P2.4和P2.5,既是用I/O口,也是UTXD0(串行发送)和URXD0(串行接受)接口;P6.0~P6.7,既是用I/O口,也是ADC.0~ADC.7(模拟信号输入)测量接口。
2、设置方向寄存器(PxDIR)
当I/O口做为通用接口时,必须确定接口是输入还是输出,
PxDIR.x = 0表示Px.x接口为输入接口,
PxDIR.x = 1表示Px.x接口为输出接口。
3、读输入值(PxIN)或写输出值(PxOUT)
根据PnDIR.x的选择:
PnDIR.x = 0时读PnIN.x可以获得Pn.x的逻辑值。此时写PnOUT.x无效。
PnDIR.x = 1时写PnOUT.x可以将逻辑数据写入Pn.x。
在PnDIR.x = 1时读PnIN.x可以获得已经写入Px.x的内容。
4、I/O口的中断操作
设置I/O口模式、设置中断触发方式、设置中断允许寄存器、打开系统中断、等待中断响应
13、 寄存器
通用端口P1、P2:通用端口P1和P2将各个引脚选择的功能来组成全部功能,并且每一个信号都可用作中断源。
各有7个寄存器来控制端口的引脚。
P1和P2的控制寄存器
1、方向寄存器P1DIR和P2DIR:P1DIR的地址:022h,P2DIR的地址:02Ah。
P1和P2可做为输入口,也可以做为输出口,并且输入/输出可以按位单独设置。
PnDIR(rw-0)
表3 方向寄存器
PnDIR.7 |
PnDIR.6 |
PnDIR.5 |
PnDIR.4 |
PnDIR.3 |
PnDIR.2 |
PnDIR.1 |
PnDIR.0 |
2、输入寄存器P1IN和P2IN
P1IN的地址:020h,P2IN的地址:028h。
P1IN和P2IN读入的是当前P1和P2的逻辑电平。
如果PnDIR的相应位是“0”,PnIN相应位读到的就是外电路的逻辑电平
如果PnDIR的相应位是“1”,PnIN相应位读到的就是PnOUT输出的内容
3、输出寄存器P1OUT和P2OUT
P1OUT的地址:021h,P2OUT的地址:029h。
如果PnDIR的相应位是“0”,Pn相应位不受影响
如果PnDIR的相应位是“1”,Pn的相应位就是PnOUT寄存器的相应内容
4、中断允许寄存器P1IE和P2IE
P1IE的地址:025h,P2IE的地址:02Dh。
当Pn的相应接口为送入(PnDIR.x = 0)时,Pn.x不仅可以做为输入端口,同时还可以产生中断。
3、各单元硬件设计
3.1 温度控制及超温和超温警报单元 当采集的温度经处理后超过规定温度上限时,单片机通过输出控制信号驱动三极管 D1 ,使继电器 K1 开启降温设备 ( 压缩制冷设备 ) :当采集的温度经处理后低于设定温度下限时,单片机通过 输出控制信号驱动三极管 D2 ,使继电器 K2 开启升温设备 ( 加热器1) 。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。
图3 继电器工作原理
3.2 温度测试单元 采用温度芯片DS18B20。使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。
图4 DS18B20温度传感器
3.3 温度控制器件电路 单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。 当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电热器加热。温度慢慢升高。 当温度上升到预定温度时,单片机发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,电热器停止加热。继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。
3.4 电源输入部分 控制系统主控制部分电源需要用5V直流电源供电,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。
图5 电源部分连线图
3.5 烟雾传感器 当烟雾扩散时,烟雾传感器感应到烟雾时,继电器打到NO,风扇开始工作,马达转动,风扇产生吸力将烟雾吸入到装有活性炭和负离子的过滤外壳中,排出清新干净的气体。
图6 烟雾传感器设计电路
图7 报警器图
3.6 LCD1602液晶显示 主要功能 A、 40通道点阵LCD 驱动; 可选择当作行驱动或列驱动; 输入/输出信号: 输出,能产生20×2个LCD驱动波形, 输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6); 通过单片机控制将所测的频率信号读数显示出来
图8 Nokia5110显示图
4、软件设计
4.1程序结构分析
4.1.1 键盘扫描电路及按键处理程序:键盘的输入按键的识别及进入相应的程序。
4.1.2 温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。
4.1.3 LCD1602显示程序:向LCD1602的显示送数,控制系统的显示部分。
4.1.4 继电器控制程序:控制继电器动作。
4.1.5 串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。
4.2主程序流程图:
图9 主程序图
图10 系统软件流程图
6、总 结
目前检测温度的传感器很多,其测量范围、应用场合等也不尽相同。其中电偶温度传感器在工业生产和科学研究中已得到了广泛的应用,它是将温度信号转化成电动势。它属于自发电型传感器,测量温度时可以不需要外加电源;且具有结构简单,使用方便,热电偶的电极不受大小和形状的限制;测量温度范围广等优点。集成电路技术的迅速发展,各种类型的集成温度传感器应用越来越多。
就目前情况而定,智能电子式温度控制器必将在短期内全面取代机械式温度控制器。此外,智能温度控制器还将在精度、功能、可靠性及安全性等方向迅速发展。以后全面智能化的温度控制器使用将更加方便,功能将更加强大,且更可靠,更安全。且目前各界研究温度控制器,目的大致相同,但方法、技术各具一格,且各有千秋。故有综各界之成果设计一新型温度控制器的想法。目前面临的问题就是如何才能做到取长补短,从而来设计出新型的温度控制器。
参考文献
[1]. 张淑清.单片机接口技术及其运用.国防工业出版社,2001年第1版
[2]. 唐文彦.传感器.机械工业出版社,2007年第4版
[3]. 曹润生,周泽魁.过程控制仪表.浙江大学出版社,2008年第2版
[4]. 郑毛祥.单片机应用基础.人民邮电出版社,2006年第1版
[5]. 阮友德.电气控制与PLC.人民邮电出版社,2009年第1版
[6]. 朱定华.单片机原理及接口技术.电子工业出版社出版,2001第1版
[7]. 康华光.模拟电子技术基础.高等教育出版社,2006年第5版
[8]. 阎 石.数字电子技术基础.清华大学出版社,2006年第5版