引言

中国安居工程需要大力发展安全文明小区建设,严峻的社会治安形势,需要建立并完善安全文明小区防盗报警网络系统体系。如何解决在当前每个家庭经济承受能力有限的情况下,建设满足防范功能及可靠性需求的安全文明小区防范防盗报警网络系统,是当前急需解决的课题。本方案是在考虑以上因素的基础上,所设计的可行实施方案。
小区安全防范报警系统是智能小区实现安全管理的重要系统,主要包括防盗报警、煤气泄漏报警、消防报警等。小区管理极为重要的内容是确保住宅,住户安全,生活中,人人都可能出现一些意想不到的求助情况,现代居住的格局,邻里常年不来往已是常事,家庭生活稳密性、封闭,性越来越强。因此,小区安全防范及报警系统是具有先进的设计和设备,并为小区住户的安全提供保障的必要系统。
我国的安防自动报警控制系统经历了从无到有、从简单到复杂的发展过程,其智能化程度也越来越高。在小区内的每个住户单元安装一台报警主机,住户可选择安装在住户门口、窗户处安装声检、紧急求助,烟雾/煤气探头、瓦斯探头,等报警感知设备,报警主机通过总线与管理中心的电脑想连接,进行安防信息管理。如果发生盗贼闯入、抢劫、烟雾、燃汽泄露,声音过高等紧急事故,传感器就会立即获知并由报警系统即刻触发声光警报以有效恫吓企图行窃的盗贼;系统还会迅速向报警中心传送报警信息;报警中心接到警情后立即自动进行分辨处理,迅速识别判定警报类型、地点、用户,中心据此派出机动力量采取相应解救措施;系统具备24小时防破坏等并自我监视,一旦有任何被破坏的迹象也会即刻报警。总之,无论白天黑夜,你离家在外还是在家休息,电子保安时时刻刻保护的安全,这正是能为家人、家庭、财产所做的最有效的安全防盗保护措施。

万字文档参考

在这里插入图片描述
在这里插入图片描述

系统实现介绍

硬件单元电路设计

3.1 ADC0809和四个报警传感器的接口电路设计
ADC0809和四个报警传感器的接口电路设计图如图3.1所示。
在这里插入图片描述
上图所示的四个插针分别代表温度传感器,烟雾传感器,煤气传感器和防盗传感器。因为传感器进行报警时,要将传感器放于不同的位子,所以在设计电路图时,作者就选用插针,这样,用软线把插针与传感器连接起来,显得更加方便,可以将传感器放于需要的位子。
元器件的选取:
ADC0809芯片一块
插针四个(三排插针两个,两排插折两个)
47K的电阻一个,51欧姆的电阻一个,50K的电阻两个
3.2 AT89C51与ADC0809接口电路
在这里插入图片描述
3.3 AT89C51与光报警接口电路
AT89C51与光
报警接口电路如图3.3所示
在这里插入图片描述

软件设计

CAN初始化程序代码为:
#include <reg52.h>
#include <stdio.h>
#include <string.h>
#include <absacc.h>
#define byte unsigned char
#define word unsigned int
#define time0  65536-2000
#define BAUD  -13
#define MAIN    1  ///定义主机,从机地址
#define ADDR    2
#define READ   'R'
#define WRIT   'W'
#define CAN_PORT P0
#define CAN_CR   0    //控制
#define CAN_CMR  1    //命令
#define CAN_SR   2    //状态
#define CAN_IR   3    //中断
#define CAN_ACR  4    //验收
#define CAN_AMR  5    //屏蔽
#define CAN_BTR0 6    //时序0
#define CAN_BTR1 7    //时序1
#define CAN_OCR  8    //输出
#define CAN_TXB  10   //发送缓冲
#define CAN_RXB  20   //接收缓冲
#define CAN_CDR  31   //分频

sbit CAN_WR  = P2^5;
sbit CAN_RD  = P2^6;
sbit CAN_ALE = P2^7;
sbit CAN_RST = P1^0;

sbit da_in   = P3^7;
sbit da_clk  = P3^6;
sbit da_cs   = P3^5;

sbit KEY1    = P2^0;
sbit KEY2    = P2^1;
sbit LED1    = P1^3;
sbit LED2    = P1^4;
sbit LED7    = P1^7;
sbit beer    = P1^1;
bit CANBUS;
byte bdata Acc ;
sbit Acc7=Acc^7;
byte idata TXB[10]={1,2,3,4,5,6,7,8,9,10}; //第一个为报文标志码
        
byte idata RXB[10];
void CAN_INI()  /*初始化部分*/
{
  CANW(CAN_CR,0x01);   
  CANW(CAN_ACR,MAIN); //验收滤波器需与报文标志码(从机的发送的第一个字节)一致
  CANW(CAN_AMR,0x00);    
  CANW(CAN_BTR0,0x42);   //125k-BPS
  CANW(CAN_BTR1,0x1c);
  CANW(CAN_OCR,0x1A);   //0xaa,0xd2,0xfa 
  CANW(CAN_CR,0x02);    //**中断使能    
}

程序调试

软件设置

对于本系统而言,软件程序所实现的功能比较少,程序的调试显得比较简单。整个程序使用的是汇编语言,在keil c51下编写调试完成的。Keil C51是美国Keil Software公司出品的51系列兼容单片机的软件开发系统,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
程序要通过烧写器烧写到芯片里。烧写的过程为:假定要写入的文件是“test.hex”。首先,连接编程器主板到计算机并口。然后连接电源。编程器指示灯亮,将89C51插入ZIF插座,锁紧手柄。(请注意芯片的插入方向:缺口向上,朝扳手方向! 否则会损坏芯片)然后启动软件,鼠标单击在右边的“芯片”下拉框,选择好芯片类型,这里选“89C51”。在“文件”菜单选择“打开Hex文件”,找到“test.hex”文件,单击“打开”。窗口中显示文件内容,右下角显示校验和。单击“写芯片”按钮,编程器的烧写指示灯亮,烧写完毕后报告结果,写入之前会自动擦除芯片内容,写入完毕会自动校验。如果是需要加密,可以选择加密级别。到此为止整个软件程序调试环境就已经配好了。

单片机系统软件调试

虽然在前面的硬件电路调试过程中每个模块的调试已经穿插了部分模块的软件调试。但是整体单片机系统的调试还是有一定的困难的。例如,在对A/D转换电路的硬件进行测试时,是分别对单通道采样测试。而整体系统要求的是分时显示三个参数以及他们的上下限。因为要显示的数据比较多,所以比较麻烦。刚开始时由于编程时没有设置好各通道显示的标志位,实现不了数码管分时显示的功能。于是从主程序开始检查,发现A/D转换子程序所用的标志位与主程序对子程序调用的标志位不一致。

发现问题及解决方法

(1)硬件电路的详细检测问题。硬件电路的正确接线是整个系统能够工作的最基本的前提。在调试前,一定要详细检查电路的焊接和接线。杜绝虚焊、短路和断路等现象。使硬件调试达到事半功倍的效果。
在检查过程中,由于有几跟焊线比较细,焊盘比较小,在焊的过程中,跟其他线接触到了,引起了短路。在发现问题后,又重新焊了一遍,最后检查无误。
(2)接地问题。作者原先就由于没有处理好接地问题而严重影响了调试的进程。地没有接好,影响了数据的正确输出和显示。
所有的地线都应该接在一起,这样就不会引起干扰。
(3)ADC0809通道选择问题。通道选择不正确,就不能把数据采集过来。在调A/D转换的过程中,开始不能把数据采集过来,通过检查发现通道选择不对应。重新修改程序,改正通道选择标记,使数据得以采集过来。
(4)延时问题。本系统为了串口通信的方便采用12M的晶振,延时要比用6M的晶振时要长。如果延时不够,有可能使得系统显示不稳定。
(5)键盘显示程序问题。在第一次把程序烧入到芯片时,接上5V电源后,发现什么都没有,检查硬件电路,是四个三极管的E极没有接上电源。把四个三极管的E极接上5V电源后,数码管有显示。但是不是原先设计的那样。后来,作者检查软件,改了一些程序后,就显示正确了。
(6)CAN总线通信问题。CAN控制器SJA1000的RESET脚是低电平的,AT89C51的RESET是高电平,因此,在连接时要接一个非门。作者在设计电路的时候,忽略了这一点,接上去以后,就正确了。

为什么选择我?

我就是程序员,程序大部分由博主亲自开发完成,现在有很多人看似在做程序设计,但是并不会进行讲解,因为程序根本不是他做出来的,从我这里做的毕设,都可以享有代码讲解服务,会议博主亲自讲解,可以全程录音录屏!这就是我的保障,代码哪里不懂都可以问!!!

获取源码

大家点赞、收藏、关注、评论
查看👇🏻文章下方名片联系我即可~👇🏻
精彩专栏推荐订阅:在下方专栏
Python精品毕设案例《2000套》
PHP精品毕设案例《1000套》
Java精品实战案例《3000套》
微信小程序项目精品案例《3000套》
基于大数据、数据分析大屏、爬虫精品毕设案例

更多推荐