《门禁控制系统》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

门禁控制系统

姓名:夏永照

班级:自动化1002班

摘要:门禁系统在现代安防管理中运用的越来越广泛,可以实现对大型企业,办公室和小区的系统管理,具有很高的安全性和可靠性。门禁系统最主要的功能是对对象进行身份认证,并完成管理功能。本门禁系统是针对实验室而设计的一个执行特定功能的简单系统。

一.功能介绍

1.打卡机能够准确的识别实验室人员手中的ID卡,完成刷卡后

系统需通过电锁实现开门动作。

2.通过红外对管,能够实现对实验室人员进与出的判断,并触

发摄像头进行拍照。

3.为降低能耗,磁性传感器对门的开与关进行检测,若门处于

关闭状态,需关闭红外模块。

4.将ID卡号和进出信息上传给上位机,上位机记录该信息,实

现对成员的考勤。

二.系统组成

1.主控芯片

本系统主控芯片采用MSP430单片机。在门禁控制中,系统大部分时间处于等待状态,功耗是一个不得不考虑的问题。

msp430单片机是一款超低功耗的单片机,中断功能非常完善,用在本系统中,单片机在处于等待状态时,将关闭CPU,在需要工作时,通过中断唤醒CPU。该单片机的片内资源比较丰富,本系统中用片内外部中断读出打卡机数据和判断红外对管,用片内AD检测门开关,用片内USART实现单片机与上位机的通信。

2.磁性传感器

该系统中磁性传感器的功能是实时检测(受控制的)门的开关状态。系统使用了原理简单,使用方便的霍尔开关,型号HAL3144,

电路图:

使用方法:当磁铁靠近霍尔传感器时,数字信号输出端为低电平,当磁铁移开时,输出端将变成高电平。将霍尔传感器贴于门梁上面,将磁铁贴于门上面,通过单片机对输出端的高低电平的检测判断门的开关状态。单片机采用片内的AD模块实现。

3.打卡机

本门禁系统使用的是采用weigend 26协议的打卡机,运用射频识别技术,实验室成员每人配备ID卡,每个ID卡携带有唯一的卡号,可以通过打卡机读出来。打卡机留有四个接线,一个接12V电源,一个接地,一个DATA0,一个DATA1。当有ID卡接触打卡机时,打卡机将通过DATA0和DATA1发出26位固定的二进制数,由单片机接收,每个不同的ID卡的26位二进制都不同。Data0和Data1两根数据线分别传输0和1,当无数据传输时,两信号线都为高电平,当传输0时,DATA0线产生一个低电平信号,当传输1时,DATA1线产生一个低电平。

信号图:

单片机通过I/O外部中断接收此26位的二进制。接受完数据后,单片机立即将数据发送给上位机供上位机识别。

4.电锁

门锁已经自带了电锁装置,当上位机接收到单片机发送的相应ID卡的数据,若上位机判断该数据有效,立即给单片机发送开门信号,单片机检测到门若处于打开状态,不做处理,当门处于关闭状态,单片机通过I/O实现开门。

5.红外模块

红外模块功能是判断人是进门还是出门,实现方法是通过两对红外对管,检测对管的触发的先后顺序来判断进与出。

同样是通过单片机的外部中断来检测红外对管的触发。如下图,当先触发红外线1,再触发红外2,即为“进”,当先触发红外2,再出发红外1,即为“出”。

单个红外对管的电路图:

图中左边方框即为红外对管,当发射管与接收管对射时,运放的正向输入端为低电平,运放作为一个比较器,输出将会是低电平,当对管之间有遮挡物时,正相输入端为高电平,输出将会是高电平。通过单片机外部中断将获知对管的触发。

6. 485通信

单片机与上位机的通信协议为RS485串口通信,主要有点是传输距离可以达到1200m,传输速率快。

电路图如下:

图中的A和B必须接双绞线进行远距离传输,双绞线到达单片机时再用一块MAX485芯片接入单片机的TXD和RXD。

三.系统工作过程

当门关闭时,AD检测后,将关闭红外发射管;当门打开时,开启红外发射管。当打卡机感应到ID卡,发出数据,单片机接收到后,发送给上位机。上位机判别数据有效后,给单片机发送有效数据,此时,若门打开就不执行开门动作,若门关闭,就执行开门动作。当门处于打开状态,红外模块工作,有人进或出时,单片机给上位机发送相应数据,

上位机将记录此数据,同时出发摄像头摄像。

四.单片机程序设计

#include

unsigned int BUFT[26];//接收打卡机数据的数组

unsigned int BUF1[25];//接收开门信号的数组

unsigned int BUFT1[25]={

0x56,

0x61,

0x6F ,

0x42 ,

0x51 ,

0x44 ,

0x49 ,

0x42 ,

0x41 ,

0,

0x41 ,

0x41 ,

0x41 ,

0x41 ,

0x41 ,

0x41 ,

0x41 ,

0x41 ,

0x42 ,

0x41 ,

0x41 ,

0x51 ,

0x3D ,

0x3D ,

0x0A}; //待接收的数据包

unsigned int i=0,j=0,k=0,y=1,temp=0,n=0,x=0,z=0;

void delay(unsigned int m) //延时函数

{

while(m--);

}

void main(void)//主函数

{

//关闭看门狗

WDTCTL = WDTPW + WDTHOLD; // Stop watchdog

//AD模块初始化,P6.0口为AD检测口,接到霍尔开关的输出端 ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12 ADC12CTL1 = SHP; // Use sampling timer

ADC12IE = 0x01; // Enable interrupt

ADC12CTL0 |= ENC; // Conversion enabled

P6SEL |= 0x01; // P6.0 ADC option select

//初始化输入输出口

P1DIR = 0xff;

P1OUT = 0x00; // All P1.x reset

P2DIR = 0xff; // All P2.x outputs

P2OUT = 0; // All P2.x reset

/*初始化外部中断设置,P1.3和P2.4为打卡机的

数据接收口,分别接入打卡机的DATA0和DATA1

信号线,P1.1和P2.1为红外触发的接收端,分

别接入两对红外对管的信号输出端。*/

//P1DIR |= BIT0; // Set P1.0 to output direction

//P1IES |= BIT1; // P1.3 Hi/lo edge

//P2IES |= BIT1;

//P1IES |= BIT3; // P1.3 Hi/lo edge

//P2IES |= BIT4;

//P1REN=BIT3;

//P2REN=BIT4;

//P1OUT |=BIT3;

//P2OUT |=BIT4;

P1DIR &= ~BIT3;

P1DIR &= ~BIT1;

P2DIR &= ~BIT4;

P2DIR &= ~BIT1;

P1IFG &= ~BIT3; // P1.3 IFG cleared

P2IFG &= ~BIT4;

P1IFG &= ~BIT1; // P1.3 IFG cleared

P2IFG &= ~BIT1;

P1IE |= BIT3; // P1.3 interrupt enabled

P2IE |= BIT4;

P1IE |= BIT1; // P1.3 interrupt enabled

P2IE |= BIT1;

相关文档
最新文档