ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:2.54MB ,
资源ID:24374028      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24374028.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的安保系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的安保系统.docx

1、基于单片机的安保系统1 概述1.1 选题的目的和意义21世纪是信息化的世纪,各种电信和互联网新技术,物联网工程推动了人类文明的巨大进步。在科学技术得到显著增强的时候,人们对自己的生活提出了更高的要求。电子化控制系统就在这种条件下孕育而生。;也可以在下班途中,预先将家中的空调打开、让热水器提前烧好热水、电饭煲煮好香喷喷的米饭。2 总体设计方案2.1 总体硬件设计本设计通过数据采集模块,实时的采集环境当中三种参数:温度值、湿度值、光照值。将数据进行简单的编码后再通过无线模块将六种参数数据发送至接收模块。接收模块通过无线模块接收六个参数的数据,为了达到上述功能,主要设计的硬件模块有:单片机控制最小系

2、统、温度、热释电模块、光照传感器模块、LCD1602显示模块、控制电路模块STC89C52RCDS18B20温度传感器光照烟雾Lm324系统显示模块控制电路模块。图1 数据采集与控制模块总体框图3 系统硬件电路设计3.1 单片机及相关电路3.1.1.单片机介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置

3、4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。本其原理图如图3所示: 图2 STC89C52 引脚图 图3 STC89C52 实物图 STC89C52的主要性能特点如下: 与MCS-51单片机产品兼容 256字节内部RAM 8KB Fl

4、ash ROM,可以檫除1000次以上,数据保存10年 电源控制模式 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O口 三个16位定时器/计数器 看门狗定时器 双数据指针 全双工UART串行通道 八个中断源3.1.2.复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和

5、上电复位。产生复位信号的电路逻辑如图4所示。图4 复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位和按键手动复位两种方式。STC89C52的上电复位电路如图5所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型 单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信

6、号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系 统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频 率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到 0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l” 态。如果系统在上电时得不到有效的复位,则程序计数器PC将

7、得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 图5 上电复位电路按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图6所示。而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图6所示。图6 按键电平复位 图7 按键脉冲复位电路图3.2 传感器的选用 3.2.1.光敏电阻的的A/D转换光敏传感器分以下几类:1,光敏电阻型。代表器件有LXD5506型硫化镉光敏电阻。2,光敏二极管型(包括光敏三极管)。品种很多应用最广泛,例如硅光敏二极管2CU2B 。3,光伏电池型。2DU3。4,热效应红外光型。

8、本次选用光敏电阻,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻如图10所示。图8 光敏电阻光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。我们在实际测量中,先将光敏电阻用黑色胶布粘贴遮光,然后测量其两端电压,在15k欧姆左右,然后去除黑色胶布,用强光照射测量其两端电压,在400欧姆左右。其变化值很大,所以我采用连接4.7k的比

9、较电阻接入然后将中间比较点输入ADC0809的IN0输入口,来测量电压的变化。光敏电阻比较图如14所示。图9 光敏电阻电压比较图光敏电阻通过AD转换的原理是,当光照很强的情况下。光敏电阻的阻值比较小,在400欧姆左右,那么通过计算IN0口的输入电压大约是4.6v左右。而当遮光的情况下。光敏电阻的阻值很大。大约15k左右。通过计算计算IN0口的输入电压大约是左右1.2v左右,我经过实际测量和得到参数是强光情况下电压4.2v,而在遮光情况下,电压时1.3v。所以我们的电压变化范围是1.3v到4.2v,电压差是2.9v。由于ADC0832输出,所以我们将2.9v的电压差分成255份,这样便可以算出光

10、线强度的数据。3.2.2.DS18B20DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。图12 DS18B20温度传感器1: 技术性能描述 、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS1

11、8B20的双向通讯。 、测温范围 55+125,固有测温分辨率0.5。 、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 、工作电源: 35V/DC 、在使用中不需要任何外围元件 、 测量结果以912位数字量方式串行传送 、不锈钢保护管直径 6 、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温 、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 3.2.3. ADC0832转换器

12、 ADC0832是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行IC总线接口。ADC0832的地址引脚A0, A1可用于硬件地址编程,允许在同个IC总线上接入ADC0832器件,而无需额外的硬件。在ADC0832器件上输入输出的地址、控制和数据信号都是通过双线双向IC总线以串行的方式进行传输。ADC0832的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。ADC0832的最大转化速率由IC总线的最大速率决定。ADC0832电路图7所示。 图13 ADC0832电路图3.2.4. ADC0832

13、功能特性8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 图14 ADC0832引脚4 系统软件设计4.1 程序总体思路我这个设计的思路是:分别编写数据

14、采集模块和数据接收模块的程序。数据采集模块主要是采集温度、湿度、光照、的数值,将采集到的数据通过LCD1602显示出来。同时在单片机中进行数据的处理,然后达到控制继电器的目的。初始化LCD显示数据错误LCD显示采集数据数据处理启动继电器程序开始转换数据读取传感器采集的数据判读是否采集到数据不启动继电器判断继电器是否启动4.2 总体程序流程图设计 图15 总体流程图5硬件与软件的测试5. 1 硬件测试5.1.1.电路板初步测试电路板通过热转印制作好以后,首先将电路板打磨干净,利用我们的万用表检测所有的连线,看看是否有跨接在一起的,以便及时出路。然后当焊接好电路板过孔后,再次利用万用表检测电路板上

15、下过孔是否连接正常。最后进行元件的焊接。等到整个板子都做好以后。利用万用表检测电路板正负连线是否跨接。如果一切正常。然后需要进行硬件电路连线的测试。线路检测根据电路图用万用表检测PCB板线路是否有短路和断路现象。根据电路图检查有极性元件是否反接,元件参数是否合适,再检测元件引脚与对应的线路是否接通,防止虚焊。5.1.2LCD1602液晶屏模块测试利用万用表测量LCD1602液晶屏幕的第1脚是否和电路负极相连,2脚是否和电源正极相连。一切正常后,再测试LCD1602其它8 个数据脚和其对应的单片机脚是否连接正常。如果一切正常,当其他模块测试完毕后便可上电测试模块软件了。5.1.3电路图及原理图

16、图16 原理图图17 Pcb封装图5.2 软件测试5.2.1.软件初步测试软件的测试要对每个硬件模块进行软件调试。调试模块时,一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步运行的方式和断点运行的方式,通过检查系统单片机的现场、I/O口的状态,检测程序执行结果是否符合设计要求。5.2.2.程序如下: 主函数部分#include#include #includelcd.h#includetemp.hsbit bee=P36;sbit dat = P30;sbit out = P10;sbit RX=P21;sbit TX=P20;sbit bee1=P35; uint temp;

17、uint max;uint dist;bit flag =0;uchar disdat4= 0,0,0,0,;/* 函数名 : LcdDisplay()* 函数功能 : LCD显示读取到的温度*/void LcdDisplay(int temp) /lcd显示 int a=0,b=0,c=0; unsigned char datas = 0, 0, 0, 0, 0; /定义数组 float tp; if(temp=700)|flag=1) /超出测量范围显示“-” flag=0; else disdat0=S%1000/100; disdat1=S%1000%100/10; disdat2=S

18、%1000%10 %10; dist=disdat1*10+disdat2; LcdWriteCom(0x80+0x40); /写地址 80表示初始地址 LcdWriteData(0+disdat0); /百位 LcdWriteCom(0x80+0x41); /写地址 80表示初始地址 LcdWriteData(0+disdat1); /十位LcdWriteCom(0x80+0x42); /写地址 80表示初始地址 LcdWriteData(0+disdat2); /个位 LcdWriteCom(0x80+0x43); /写地址 80表示初始地址 LcdWriteData(.); /显示 小数

19、点.LcdWriteCom(0x80+0x44); /写地址 80表示初始地址 LcdWriteData(0+disdat3); /个位 LcdWriteCom(0x80+0x45); /写地址 80表示初始地址 LcdWriteData(c); /显示单位 LcdWriteData(m); /* 函数名 : 中断* 函数功能 : 超过测量距离中断*/ void zd0 () interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1;/中断溢出标志/* 函数名 : StartModule* 函数功能 : 启动模块*/void StartModule() /启动模块 TX=1

20、; /启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; /* 函数名 : control* 函数功能 : 控制* 输入 : 无* 输出 : 无*/void MainDelayms(uint xms) /延时 uchar i; for(;xms0;xms-) for(i=0;i=30) beef(); else bee=1;void Control2() if(dist=3) beef(); else be

21、e1=1;/* 函数名 : main* 函数功能 : 主函数*/void main() bee=1; LcdInit(); /初始化LCD1602 LcdWriteCom(0x87); /写地址 80表示初始地址 LcdWriteData(C); while(1) LcdDisplay(Ds18b20ReadTemp(); Control(); Control2(); /MainDelayms(2000);/1s钟刷一次 if(dat) out=0; LcdWriteCom(0x89); /写地址 80表示初始地址 LcdWriteData(w); LcdWriteData(a); LcdWriteData(r); LcdWriteData(n); LcdWriteData(i); LcdWriteData(n); LcdWriteData(g); ; else out=1; LcdWriteCom(0x89); /写地址 80表示初始地址 LcdWriteData( ); LcdWriteData( ); LcdWriteData( ); LcdWriteData( ); LcdWriteData( ); LcdWriteData(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1