温度检测报警系统的设计.docx
- 文档编号:5216204
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:13
- 大小:266.71KB
温度检测报警系统的设计.docx
《温度检测报警系统的设计.docx》由会员分享,可在线阅读,更多相关《温度检测报警系统的设计.docx(13页珍藏版)》请在冰豆网上搜索。
温度检测报警系统的设计
《单片机原理及接口》
课程设计报告
题目:
温度检测报警系统的设计
专业名称:
电子信息工程专业
班级:
电信112
学号:
*********
********************************
2014年1月
温度检测报警系统的设计
杨海艺
(信息工程学院)
摘要:
本设计运用单片机仿真技术,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个采用数字型温度传感器采集温度的检测系统,将采集到的温度传送给单片机,单片机将当前温度值通过液晶屏幕显示出来。
另外系统还具有按键输入功能,可以设定温度的上下报警值,当超出设定温度范围时,系统会产生报警信号。
单片机扩展的LCD显示器用来显示秒、分、时、日、月、年及温度的值。
整个设计包括两大部分:
硬件部分和软件部分,以单片机为核心,蜂鸣器,LCD显示器,晶体管等为外围器件,设计一个正常走时、温度报警。
关键词:
单片机;ds18b20;ds1302;LCD1602;AT89C51;报警;温度
1设计说明
1.1设计要求:
制作一个采用数字型温度传感器采集温度的检测系统,将采集到的温度传送给单片机,单片机将当前温度值通过液晶屏幕显示出来。
另外系统还具有按键输入功能,可以设定温度的上下报警值,当超出设定温度范围时,系统会产生报警信号。
1.2设计环境:
Windows7操作系统、Keil4仿真软件、proteus单片机系统仿真软件。
1.3温度检测报警系统实现的主要功能:
1、能实时监测温度并能设置报警温度
2、能设置时间与年月日且待设置位会闪烁提示
3、能设置要报警的最高和最低温度
4、能正常显示闰年普通年份的年月日显示
2系统硬件设计
2.1单片机控制系统
本设计以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,利用温度传感器实现读取温度和用时钟芯片读时间,用LCD来直接年、月、日、时、分、秒及温度,并且可以通过按键调整当前的时间和最高和最低温度,利用对蜂鸣器的控制来实现温度过高或者过低时报警功能。
2.2各部分功能实现
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2.3单片机最小系统
单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。
复位电路有两种方式:
上电复位和按钮复位,我们主要用按钮复位方式。
如图2-1所示:
晶振电路:
电容选取30pF,晶振为12MHz。
如图2-2所示:
电源:
AT89C51单片机的供电电源是5V的直流电。
EA非/Vpp脚:
我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。
图2-1复位电路图2-2晶振模块原理图
2.4键盘控制系统设计:
按键需要3个,分别实现为功能选择键、时间的加、时间的减。
用单片机的3个I/O口接收控制信号,其电路如图2-3所示:
图2-3按键调时电路
通过控制键来控制所要调节的是年、月、日、时、分、秒还是温度。
在控制键按下后LCD中会在相应的位置出现光标,这时在通过加数键或减数键来控制年月日时分秒及温度的加或减。
在设置闹钟键按下后LCD中也会在相应的位置出现光标,这时也通过加数键或减数键来设置闹钟。
显示电路如图2-4所示:
图2-4显示电路图
报警部分主要由蜂鸣器,三极管,电阻组成。
其电路图如图2-5所示:
图2-5蜂鸣器电路
当单片机的P2^7接口输出为高地电平变化时,蜂鸣器响。
当输出电平不变时,蜂鸣器停止。
2.5DS18B20
DSl8B20必须严格按照单总线通信协议,以保证数据的完整性。
该协议定义了几种时隙类型:
初始化、应答、写1、写0、读1、读0。
除了应答时隙所有这些时隙都是有主机发出。
总线上所传输的所有命令和数据都是字节的低位在前。
(1)初始化时隙
复位时隙和应答时隙。
在初始化过程中,主机发送复位脉冲(最短为480μs的低电平信号)接着,释放总线并进入接收状态。
当总线被释放后上拉电阻将总线拉高。
DSl8B20在检测到总线的上升沿之后等待15-60us接着发出应答脉冲(低电平持续60-240μs)。
(2)读和写时隙
在写时隙期间,主机向DS18B20写入数据;而在读时隙期间,主机读入来自DS18B20的数据。
在每一个时隙,总线只能传输一位数据。
存在两种写时隙,即写1和写0。
主机在写1时隙向DS18B20写入逻辑1。
而在写0时隙向DS18B20写入逻辑0。
所有写时隙至少需要60μS,而且两次写l时隙之间至少需要lμS的恢复时间。
两种写时隙均以主机拉低总线开始。
产生写1时隙:
主机拉低总线后,必须在15uS内释放总线。
然后由上拉电阻将总线拉至高电平。
产生写0时隙:
主机拉低总线后,必须在整个时隙期间保持低电平(至少60μS)。
在写时隙开始后的15~60μS期间,DSl8B20采样总线的状态。
如果总线为高电,则逻辑1被写入DSl8B20;如果总线为低电平,则0逻辑被写入DSl8B20。
读时隙:
DSl8B20只能在主机发出读时隙时才能向主机传送数据。
所以主机在发出读数据命令后,必须马上产生读时隙,以便DSl8B20能够传送数据。
所有读时隙至少60μs,且在两次独立的读时隙之间至少需要1μS的恢复时间。
每次读时隙由主机发起,拉低总线至少1μS。
在主机发起读时隙之后,DSl8B20开始在总线上传送1或0。
若DS18B20发送1,则保持总线为高电平;若发送O,则拉低总线。
当传送0时,DSl8B20在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。
DS18B20发出的数据在读时隙下降沿起始后的15μS内有效,因此主机必须在读时隙开始后的15μS内释放总线,并且采样总线状态。
温度传感器电路图如图2-6所
图2-6温度传感器
2.6DS1302
DS1302简介:
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302的外部引脚分配如图7所示及内部结构如图2-7所示。
各引脚的功能为:
Vcc1:
主电源;Vcc2:
备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 SCLK: 串行时钟,输入,控制数据的输入与输出; I/O: 三线接口时的双向数据线;CE: 输入信号,在读、写数据期间,必须为高。 该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。 图2-7DS1302电路连接图 温度报警电路连接图如图2-8所示: 图2-8温度报警系统电路连接图 2.7LCD1602 SMC1602A标准字符点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16个字符X2行西文字符, 字符尺寸为2.95X4.35(WXH)mm,内置HD44780接口型液晶显示控制器,可与MCU单片机直接连接,广泛应用于 各类仪器仪表及电子设备。 1基本操作时序: 1.1读状态: 输入: RS=L,RW=H,E=H输出: D0~D7=状态字 1.2写指令: 输入: RS=L,RW=L,D0~D7=指令码,E=高脉冲输出: 无 1.3读数据: 输入: RS=H,RW=H,E=H输出: D0~D7=数据 1.4写数据: 输入: RS=H,RW=L,D0~D7=数据,E=高脉冲输出 2RAM地址映射控制器内部有80X8位(80字节)的RAM缓冲区,对应关系如图2-9所示 3初始化过程(复位过程) 5.1写指令38H: 显示模式设置第一次 5.2延时3ms 5.3写指令38H: 显示模式设置第二次 5.4延时3ms 5.5写指令38H: 显示模式设置第三次 5.6延时3ms 5.7写指令38H: 显示模式设置第四次 5.8延时3ms 5.9写指令08H: 显示关闭 5.10写指令01H: 显示清屏 5.11延时3ms 5.12写指令06H: 显示光标移动设置 5.13写指令0CH: 显示开及光标设置 图2-9RAM地址 读时序如图2-10所示 图2-101602读时序 写时序如图所示2-11 图2-111602写时序 LCD1602的电路图如图2-12所示 图2-12LCD1602电路连接图 3软件设计 3.1软件流程图 : 图3-1温度读和键盘扫描改时间和温度 4系统调试 首先运行keil4软件,并新建一工程并保存,然后再新建一C文件并输入程序代码(见附录)调试运行生成.hex文件,然后打开protues软件并打开新建的.hex文件,之后点击单片机出现 如图4-1窗口: 图4-1添加hex文件窗口 最后单击窗口中 该按钮添加hex文件并点击确定按钮,运行文件出现如图4-2所示仿真结果: 图4-2仿真结果 5软件编程 使用3个按键控制年月日时分秒温度低和高的控制,按键keyselect控制要改的地方如按一下是该秒,按两下是改变分。 1602同时会有光标在要该的地方,按键keyjia是让要改的地方加1,同样keyjian是减1。 当按键keyselect按9下之后说明要改的地方都改好了,退出按键设置继续显示。 程序主要分为两个部分,即显示部分和控制按键部分。 由于本设计采用的是用按键分别控制,在主函数中调用一个键盘扫描的函数,当相应的不同按键按下后控制液晶的显示。 源程序见附录所示。 编程思路: 在确定了时钟要实现的功能后按照上述各按键所实现的效果编写程序。 本程序包含液晶写指令函数(write-com())、写数据函数(write-data())、初始化函数(init())、温度读取函数(readtemp())、键盘扫描函数、显示年月日函数、显示时分秒函数,这些程序围绕主函数相互调用。 参考文献: [1]李光才.单片机课程设计 实例指导[M].北京: 北京航空航天大学出版社,2004. [2]朱定华.单片机原理及接口技术实验[M].北京: 北方交通大学出版社,2002.11. [3]刘湘涛,江世明.单片机原理与应用[M].北京: 电子工业出版社,2006. ........忽略此处.......
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 检测 报警 系统 设计