当前位置RFID世界网 > 技术文章 > 票证 > 正文

基于单总线的门禁管理系统设计

作者:陈羲梅 来源:RFID世界网 2011-07-04 10:14:57

摘要:本文以采用单总线(1-Wire Bus)技术、计算机串口、CAN总线和信息纽扣iButton 设计为基础,分析了主要芯片的结构、ROM 命令和功能命令。对单总线的驱动、计算机的串口通信进行了程序的设计。同时利用VB 语言和Aceess 数据库,开发门禁管理系统, 完成了门禁管理系统操作界面、门禁控制器与上位机的通信以及门禁管理系统数据库编程。所设计门禁管理系统具有良好的实时监控性,确保门禁系统稳定、高效地工作,该系统具有实际应用价值。

关键词:单总线[0篇]  门禁[105篇]  CAN总线[4篇]  门禁系统[37篇]  


    采用中断方式通信的流程图如图2-1 所示。

    2.3 单片机与 PC 机通信

    函数声明,变量定义
    #include <reg.51.h>
    #define COUNT10 //定义接收缓冲区大小
    Unsigned char buffer[COUNT]; //定义接收缓冲区
    Unsigned char point; //定义接收数据个数指示变量
    Void UART_init(); //串口初始化函数
    Void COM_send(void); //串口接收函数
    Unsigned char CLU_checkdata(void); //计算机校验函数

    •Void UART_init(); 串口初始化函数
    函数功能:在系统时钟为 11.0592MHZ 时,设定串口数据传输率为9600bit/sVoid UART_init();
    { //初始化串口和数据传输率发生器
    SCON=0x58; //选择串口工作方式,打开接收允许
    TMOD=0x21; //定时器1 工作在方式2,定时器0 工作在方式1
    TH1=0xfd; //实现数据传输率9600bit/s(系统时钟11.0592MHZ)
    TR1=0; //启动定时器1
    ET1=0;
    ES=1; //允许串行口中断
    PS=1; //设计允许串行口中断优先级
    EA=1; //单片机中断允许
    }

    •Com_interrup()串口接收中断处理函数
    函数功能:接收包括起始位’S’在内的10bit 数据到缓冲区
    Com_interrupt(void)interrupt 4 using 3{
    Unsigned char RECEIVR_buffer;
    If(RI) //处理接收中断
    {
    RI=0; //清楚中断标志位
    RECEIVR_buffer=SBUF; //接收串口数据
    If(point==0) //如果还没有接收到起始位
    {
    If(RECEIVR_buffer==’S’) //判断是否起始标志位
    Point++; //是,准备接收下一位
    Else
    Point=0; //不是,继续等待起始位
    }
    Else if(point>0&&point<10) //判断是否接收够10bit 数据
    Buffer[point++]=RECEIVR_buffer; //不够,把接收到的数据放入接收缓存区
    Else point=0; //缓冲区已满,清除缓存区内数据重新接收
    }
    If(TI); //处理发送中断
    {
    TI=0;
    }
    }

    •COM_send()串口发送函数
    函数功能:把数据缓冲区的 10bit 数据发送出去
    Void COM_send(){
    For(point=0;point<=10,TI=1;point++) //连续发送10bit 数据
    //把缓存区的数据都发送到串口
    {
    SUBF=buffer[point];
    TI=0;
    }
    }

    •CLU_checkdata()计算机校验位函数
    输入变量:无
    输出变量:checkdata,包括起始位在内的前九位数据的校验和
    函数功能:计算校验和
    Unsigned char CLU_checkdata(void){ //计算校验位
    Unsigned char checkdata=0;
    For(point=0;point<9,TI=1;point++)
    {
    Checkdata=checkdata︱buffer[point]
    }
    Return(checkdata);
    }

    •主函数
    函数功能:调度子函数,完成通信过程
    Void main(void){
    Unsigned char checkdata;
    Do
    {
    UART_init(); //初始化串口
    If(point==10) //判断数据是否接收完成
    Checkdata=CLU_checkdata; //调用求校验和函数
    If(checkdata==buffer[9]) //判断校验和是否正确
    COM_send(); //正确则调用发送程序
    Point=0;
    }
    While(1);
    }

    2.4 计算机管理界面设计

    登陆之后,进入管理软件的界面。

    员工主要信息包括员工的联系电话、年龄、所在部门、员工住址等。对员工信息的查询如图所示,在操作界面中可以根据不同的查询条件进行查找。

    在门禁管理中,包括对电子锁的管理。其中ID 号取的是门锁对应的钥匙的ID 号(每把钥匙有自己固定的ID 号),一把锁可以配对多把钥匙。

    在实时监控中,可以对房间的一些状态进行监控,诸如门锁打开的状态、湿度、温度、有无烟雾等。第一张图是对某一个房间状态进行监控,第二张图则显示的是对所有房间进行的监控。

    在门禁管理选项中,管理员还可以对门进行强制关门开门操作。在系统维护中,可以对串口进行设置,对管理员密码进行修改,对实时数据备份等等。这里不再进行赘述。

    3 结论

    门禁管理系统设计涉及的主要技术有单总线技术、串口通信技术、CAN 总线等,整个系实现了门禁管理操作界面、完成门禁系统的监控、管理、查询等工作。通过门禁管理系统软件的设计,监控人员可对出/入口的状态、门禁控制器的工作状态进行监控管理。

    本系统能实时显示员工的具体信息:电话,所在部门以及其所配置的钥匙,并能对这些信息进行及时的更新。在新型电子锁的设计中我们采用了当今世界先进的iButton 技术,不仅具备携带方便、不易损坏、不易受腐蚀、不易受电磁干扰等特点,而且采用了外部供电开启电子锁的方法,解决了以前的产品在失去电力供应后,电子锁失效而变为普通锁的问题。

    信息钮扣 DS1990A 构成的信息钥匙虽然属于接触式卡类,且其坚固的外壳及读取头非常适用于门禁系统。此外,这种新型电子锁实现简单,成本低廉,具有较好的经济效益和社会效益,可以满足现代智能建筑中安防系统的要求,相信将有广阔的应用前景。

    [参考文献]
    [1] 林丽纯.基于iButton 的新型电子锁控制器设计.广东工业大学学报. Vol.26,No.2, p98-100.
    [2] MAXIM 公司 DS1990A 资料[EB/OL].www.maxim-ic.com.cn,2008-01-23.
    [3] 王祖强,于建华 iButton 的工作原理及其特点[J].电子技术应用,2003(1).
    [4] 李辉,李艾华.智能信息载体iButton 及其在点检系统中的应用[J].新技术新工艺,2007(2).
    [5] 魏小龙.MSP430 系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2003.
    [6] 李志明,戴华平.信息纽扣DS1991 在预付费水表中的应用[J].工业控制计算机,2005,18(9):56-57.
    [7] 李贻涛,邢晓敏,佟科.全新防误闭锁系统电子锁的研究[J].电工技术,2002,12:44_45.

12

 已有0条评论 我要评论 联系编辑 分享到:网易新浪腾讯人人开心网豆瓣MSN


最新评论(加载最新评论):


上一篇:基于AS3990芯片的超高频RFID手持读写器设计

下一篇:高频电子标签干扰问题分析及解决方法


相关文章:


关键字搜索:


新闻中心:单总线[0篇]  门禁[629篇]  CAN总线[0篇]  门禁系统[159篇]  

成功应用:单总线[0篇]  门禁[111篇]  CAN总线[1篇]  门禁系统[13篇]  

解决方案:单总线[0篇]  门禁[235篇]  CAN总线[1篇]  门禁系统[42篇]  


图片文章:

热点专题