首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年8月19日星期一
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
P89LPC932在射频门禁控制系统中的应用

Application of P89LPC932 in RF Door-entry Control System

西安交通大学 曹银强 王毅 邵宪太


摘 要: 本文基于Autotag射频通讯器,利用增强型高性能8051单片机P89LPC932设计了基于RS-232协议的射频智能车辆门禁控制系统的软硬件。

关键词:射频 ;门禁; 单片机


系统概述

门禁控制领域中,读卡器通讯器读取各类非接触式身份识别卡, 将ID信息转化为二进制数据,采用串行通讯方式与各类控制设备相连,以实现相应的管理和控制功能。本文所介绍的车辆门禁控制系统,采用射频通讯器识别用户ID,充分利用增强型高速8051单片机P89LPC932资源,实现单片机控制的大容量、低成本、快速响应车辆门禁系统。

系统介绍

本系统采用Autotag射频通讯器识别用户电子标签,增强型8051单片机P89LPC932作为主控芯片。该系统充分利用单片机片内资源,所有1000个用户ID码和相应权限均存储在单片机内,不需扩充任何外部存储器件,实现了系统最小化、最简化。主控芯片读取用户数据信号并根据用户权限情况做出是否开门信号,并对异常做出声光报警,系统响应时间小于0.9s,响应距离8m。系统示意图如图1所示。

图1 射频智能车辆禁系统工作示意图(略)

P89LPC932单片机特性介绍

LPC932是一款低功耗、低价格单片封装的微控制器,采用了高性能的处理器结构,指令执行时间只需2到4个时钟周期,6倍于标准80C51器件,电源电压低,操作电压范围为2.4~3.6V。同时集成了许多系统级的功能,这样可大大减少元件的数目、电路板面积以及系统的成本。片内具有8KB Flash程序存储器,1KB可擦除扇区和64字节可擦除页规格;256字节RAM数据存储器;512字节附加片内RAM,512字节片内用户数据EEPROM存储区可用来存放器件序列码及设置参数等;4个中断优先级,8个键盘中断输入,另加2路外部中断输入;可配置的片内振荡器及其频率范围和RC振荡器选项(通过用户可编程Flash配置位选择),选择RC振荡器时不需要外接振荡器件。选择片内振荡和片内复位时可多达26个I/O口,所有口线均有20mA的LED驱动能力。


系统硬件设计

本门禁控制系统硬件主要部分如图2所示。

图中可以按照功能分为以下几部分。

主控制器

采用公司的P89LPC932,是控制系统的核心部件。上电后从EEPROM中读取密码。当车辆触发入口感应线圈,产生外部触发1,该触发信号送入单片机和通讯器。单片机产生外部中断,开始准备读取数据。通讯器响应该触发信号,开始发送数据。单片机片内在FLASH中存储有1000个用户ID码,每个用户ID占用4个字节。同时用户权限资料存储在片内的EEPROM中,每个用户占用半个字节。当判别所读到的ID存在且合法,则发出开门信号。若ID非法,则进行声光报警。当车辆驶过出口线圈,触发外部中断2,单片机发出关门信号。

图2 系统硬件主体图(略)

数据读取部分

本系统采用Autotag通讯器识别用户ID并送出RS-232电平信号。Autotag通讯器工作频率为433.9MHz,将由电子标签读出的独一无二的32位代码通过RS232传输线发出。发送数据格式为:8个数据位,无奇偶校验,一个结束位,波特率为9600。当车辆到达入口,触发感应线圈,通讯器开始工作,识别安装于车辆上的电子标签,并将用户ID码转换为RS-232电平信号,由MAX3232将其转换为TTL电平信号并送入单片机串口。

系统的服务模块包括显示电路和声光报警电路。显示电路通过译码/驱动器CD4511将BCD码译为7段LED显示,并驱动LED显示,利用2 4译码器74HC139进行LED位选。声光报警部分采用单片机直接驱动发光二极管进行光报警,因为该单片机最大驱动电流可达20mA,通过三极管驱动蜂鸣器进行声报警。


系统软件设计

软件总体设计

该系统软件从功能上可以分为几大模块:读取用户ID并判别合法性模块、系统和用户权限管理模块、声光报警模块、键盘模块、显示模块。其中读取用户ID并判别合法性模块和用户权限管理模块是本系统的核心模块。

在主程序中主要完成上电初始化、初始密码读取,并对不同模块入口标志进行循环扫描,根据标志的不同状态,进入不同的子程序模块,做出响应的处理。

主程序简要流程如图5所示。

读取用户ID子程序

本系统读取ID子程序采用外部触发方式。当有外部中断触发时,单片进入外部中断处理函数,进行用户ID的读取。部分C源代码如下所示。函数trigger_ISR()为外部触发中断处理函数。

Autotag通讯器将电子标签的32位代码转化为10位BCD,然后将这10位BCD转化为ASCII码通过CRLF终端发送。10位BCD码前8位为有效信息,后两位分别为ASCII码0X0D,0X0A,这两位是为了标识一个有效用户ID发送完成而设置的,其相对应的意义为回车符和换行符。本系统的ID读取子程序中以判别0X0D为数据结束。

void trigger_ISR() interrupt 2
{ uchar serial_temp;
EA=0;
n=0;
do
{
while(!RI);
serial_temp=SBUF; //暂存读到的ASCII码
RI=0; //清标志位,以便接收下一个
ID[n]=serial_temp; //将读到的ASCII码存入数组
n++; //指向下一个存储位置
if (n>11)n=0; //若超出,重新存储。
}while(serial_temp!=0x0D); //当读到结束符0x0D时停止接收。
uart_ISR=1; //置位中断服务完成标志。
IE1=0;
EA=1;
return;
}

图5 系统主程序流程图(略)


结论

本系统软件系统在Keil51下调试通过,硬件系统制作了电路板。经过实际测试,该系统容量大,用户可达1000个。响应速度快,响应时间小于0.9s,响应距离可达8m。系统集成度高,外围电路少,抗干扰能力强,运行稳定可靠。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com