《门禁控制系统》Word文件下载.docx
- 文档编号:19033604
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:122.17KB
《门禁控制系统》Word文件下载.docx
《《门禁控制系统》Word文件下载.docx》由会员分享,可在线阅读,更多相关《《门禁控制系统》Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
使用方法:
当磁铁靠近霍尔传感器时,数字信号输出端为低电平,当磁铁移开时,输出端将变成高电平。
将霍尔传感器贴于门梁上面,将磁铁贴于门上面,通过单片机对输出端的高低电平的检测判断门的开关状态。
单片机采用片内的AD模块实现。
3.打卡机
本门禁系统使用的是采用weigend26协议的打卡机,运用射频识别技术,实验室成员每人配备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<
msp430f169.h>
unsignedintBUFT[26];
//接收打卡机数据的数组
unsignedintBUF1[25];
//接收开门信号的数组
unsignedintBUFT1[25]={
0x56,
0x61,
0x6F,
0x42,
0x51,
0x44,
0x49,
0x41,
0,
0x3D,
0x0A};
//待接收的数据包
unsignedinti=0,j=0,k=0,y=1,temp=0,n=0,x=0,z=0;
voiddelay(unsignedintm)//延时函数
{
while(m--);
}
voidmain(void)//主函数
//关闭看门狗
WDTCTL=WDTPW+WDTHOLD;
//Stopwatchdog
//AD模块初始化,P6.0口为AD检测口,接到霍尔开关的输出端
ADC12CTL0=SHT0_2+ADC12ON;
//Setsamplingtime,turnonADC12
ADC12CTL1=SHP;
//Usesamplingtimer
ADC12IE=0x01;
//Enableinterrupt
ADC12CTL0|=ENC;
//Conversionenabled
P6SEL|=0x01;
//P6.0ADCoptionselect
//初始化输入输出口
P1DIR=0xff;
P1OUT=0x00;
//AllP1.xreset
P2DIR=0xff;
//AllP2.xoutputs
P2OUT=0;
//AllP2.xreset
/*初始化外部中断设置,P1.3和P2.4为打卡机的
数据接收口,分别接入打卡机的DATA0和DATA1
信号线,P1.1和P2.1为红外触发的接收端,分
别接入两对红外对管的信号输出端。
*/
//P1DIR|=BIT0;
//SetP1.0tooutputdirection
//P1IES|=BIT1;
//P1.3Hi/loedge
//P2IES|=BIT1;
//P1IES|=BIT3;
//P2IES|=BIT4;
//P1REN=BIT3;
//P2REN=BIT4;
//P1OUT|=BIT3;
//P2OUT|=BIT4;
P1DIR&
=~BIT3;
=~BIT1;
P2DIR&
=~BIT4;
P1IFG&
//P1.3IFGcleared
P2IFG&
P1IE|=BIT3;
//P1.3interruptenabled
P2IE|=BIT4;
P1IE|=BIT1;
P2IE|=BIT1;
/*对单片机的UART模块进行设置,用于单片机和上
位机进行串口通信,P3.4为TXD,P3.5为RXD*/
P3SEL=0x30;
//P3.3,4=USART0TXD/RXD
ME1|=UTXE0+URXE0;
//EnabledUSART0TXD/RXD
UCTL0|=CHAR;
//8-bitcharacter,SWRST=1
UTCTL0|=SSEL0;
//UCLK=ACLK
UBR00=0x03;
//9600from1Mhz
UBR10=0x00;
UMCTL0=0x4A;
//Modulation
UCTL0&
=~SWRST;
//InitializeUSARTstatemachine
IE1|=URXIE0;
//EnableUSART0RX/TXinterrupt
//IFG1&
=~UTXIFG0;
//ClearinitalflagonPOR
while
(1)
{
ADC12CTL0|=ADC12SC;
//Samplingopen
_BIS_SR(CPUOFF+GIE);
delay(2000);
if(temp<
0x7FF)//门处于打开
{
P1OUT|=BIT5;
//指示灯
P1OUT|=BIT4;
//打开红外发射管,用P1.4口
y=0;
//y=0时,门处于打开
}
else//门处于关闭
//P1IFG&
//P2IFG&
P1IE&
//关闭用于检测红外对管的外部中断
P2IE&
P1OUT&
=~BIT5;
=~BIT4;
//打开红外发射管
y=1;
//y=1时,门处于关闭
#pragmavector=PORT1_VECTOR//接收管1的触发中断
__interruptvoidPort_1(void)
P2IFG=0;
if(P1IFG&
BIT3)//打卡机DATA0触发
BUFT[j]='
0'
;
delay(50);
P1IFG=0;
j++;
if(j==26)
P1OUT|=BIT0;
z=1;
IE1|=UTXIE0;
i=0;
BIT1)//红外对管1触发
delay(200);
if(P1IN&
BIT1)
{n=1;
if((n==1)&
&
(x==1))//当第二次触发时,打开发送中断,j=0时,发送数据包
BUFT1[9]=0x51;
z=0;
n=0;
x=0;
#pragmavector=PORT2_VECTOR
__interruptvoidPort_2(void)
P1IFG=0;
if(P2IFG&
BIT4)//打卡机DATA1触发
1'
BIT1)//红外对管2触发
if(P2IN&
{x=1;
(x==1))
BUFT1[9]=0x41;
IE1|=UTXIE0;
}
//UART0TXISR
#pragmavector=UART0TX_VECTOR//数据发送中断向量
__interruptvoidusart0_tx(void)
if(z==1)//发送打卡机数据
TXBUF0=BUFT[i];
while(!
(IFG1&
UTXIFG0));
i++;
if(i==26)
delay(500);
j=0;
IE1&
=~UTXIE0;
=~BIT0;
if(z==0)//发送红外触发数据
TXBUF0=BUFT1[i];
if(i==25)
//UART0RXISR
#pragmavector=UART0RX_VECTOR
__interruptvoidusart0_rx(void)//接收开门信号数据
{//_BIC_SR_IRQ(CPUOFF);
BUF1[k++]=RXBUF0;
if(BUF1[0]==0x56);
else
k=0;
if(k==25)
if(BUF1[9]==0x41)
if(y==1)
P1OUT|=BIT6;
delay(5000);
=~BIT6;
#pragmavector=ADC_VECTOR//AD中断向量,当霍尔开关输出端发生变化时产生中断
__interruptvoidADC12_ISR(void)
{
temp=ADC12MEM0;
_BIC_SR_IRQ(CPUOFF);
//退出低功耗
(注:
素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 门禁控制系统 门禁 控制系统