报警系统设计综合设计.doc
《报警系统设计综合设计.doc》由会员分享,可在线阅读,更多相关《报警系统设计综合设计.doc(16页珍藏版)》请在沃文网上搜索。
1、综合设计性实验预习报告实验项目: 报警系统设计 一 引言: 近年来随着计算机与控制技术的蓬勃发展与广泛应用,人们从中受益良多,生活中也随处可见电子产品,自动化,智能化成为发展趋势,而以单片机为核心的应用正在不断地走向深入,同时带动传统控制检测的日新月益。本设计论述了一种以STC89C51单片机为控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以设置温度上下限值,实现对环境温度测量并在超出范围的情况下发出警告。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括mega128单片机最小系统,测温电路、数码管显示电路以及报警电路等。系统程序主要包括主程序,读出温度子程序,计算
2、温度子程序、按键处理程序、数码管显示程序以及数据存储程序。二 实验目的:1、学生根据系统功能选择一个性价比较高的AVR单片机为控制芯片;2、学生独立设计硬件电路,在万能板上制作系统;3、学生独立完成软件设计并调试。三 实验原理:图1 DS18B20引脚图数字温度传感器DS18B20简介主要特性:(1)电压范围:3.05.5V;(2)单线接口方式,仅需要一条口线即可实现微处理器与DS18B20的双向通讯;(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上;(4)温范围55125,在-10+85时精度为0.5;(5)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0
3、.125和0.0625;(6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字; DS18B20温度测量值:DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。这是12位转化后得到的数据,前面5位是符号位,如果温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为01
4、91H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度数据表配置寄存器该字节各位的意义如下:TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)表4: 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750msDS18B20通讯协议:主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一
5、次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。用数码管显示信息时,由于每个数码管至少需要8 个I/O 口,如果需要多个数码管,则需要太多I/O 口,而单片机的I/O 口是有限的。在实际应用中,一般采用动态显示的方式解决此问题。动态显示原理:原则上同一时刻只有一位LED是点亮的,但只要扫描的频率足够高(一般大于25Hz),由于人眼的视觉暂留特性,直
6、观上感觉却是连续点亮的,这就是常说的动态扫描显示。动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,所以一般均取几个ms左右为宜。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。例如需要显示数字“1234”时,先输出位选信号,选中第一个数码管,输出1 的段码,延时一段时间后选中第二个数码管,输出2 的段码,如此控制4个数码管显示。把上面的流程以一定的速度循环执行就可以显示出“1234”,由于交替的速度非常快
7、,人眼看到的就是连续的“1234”在动态显示程序中。本实验仪配置带4位动态扫描显示模块一个,如图4.2。为减少IO的使用,采用串入并出芯片74HC595来扩展了IO口,共占用4个IO来传输数据,另外4个IO口用来进行4个LED数码管的位选。图蜂鸣器电路图四 实验内容:系统采样温度并显示;当温度超过警戒值则报警;通过“设置”、“+”和“-”键修改温度警戒值或者直接通过按键输入设定温度门限值。五 重点问题:1、使用AVR单片机为控制芯片。2、使用一线温度传感器18B20采集温度。3、使用2位八段数码管显示当前温度值。4、使用3个按键修改警戒温度值。5、当温度超过警戒值时,蜂鸣器响,直至温度低于、等
8、于警戒值。通过本实验掌握单片机对模拟信号的采集和处理,掌握单片机串行数据传送技术和电路、软件设计方法,掌握LED数码管电路和软件设计方法,掌握按键和蜂鸣器的电路和软件设计方法。六 参考文献:AVR Mega128单片机原理与接口技术实验指导书-庞志广州大学原始数据记录表学生姓名 林桔桢 学号 1107400109 班别 电子111 专业 电子信息工程 学院 机械与电气工程学院 实验项目 报警系统设计 指导老师 郑晖 实验进行时间 2014 年 5 月 29 日 时至 时;实验地点 电子楼503 室温 湿度 天气 原始数据记录:/*DS18B20实验,动态LED数码管显示温度实验简介:1、DS1
9、8B20是一个单线温度传感器,直接输出数字温度信息。2、做一般的温度测量,它比较理想。3、程序具有-55125全范围显示功能。4、具有零下数值修正特性。实验要求:1、读出DS18B20的温度值,并将它显示在数码管上。实验说明:1、DS18B20与PF2接口连接。2、进行实验时需要将JP7端口的18B20短路块插上。3、默认内部1M晶振。实验原理:1、由于DS18B20时序比较复杂,在此不一一说明,用户要仔细看说明。2、将读出的数值经过数值转化后放到显示缓冲区即可。3、DS18B20低层驱动带有中断保护,不会受中断事件干扰。4、DS18B20有严格时序要求,相差几uS都会出错,请大家修改时注意。
10、知识点:1、对照手册学习驱动函数部分。2、留意一下数组转换部分。3、同时学习中断保护的作用意义,这是很必要的。4、零下温度显示对于DS18B20实战非常有意义。编写:AVR实验板 YX530程序版本:2.0WWW.YXAVR.COM*/#include #include #include ds1820.h#include led4.h/*延时函数函数说明:软件延时函数,此函数延时单位约为1mS。晶振频率:CPU内部1M晶振。带入参数:i无符号整型,变量范围:0-65535。返回参数:无*/void delay_ms(unsigned int i) unsigned int a;unsigned
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报警 系统 设计 综合