IC卡考勤系统设计
2011-11-20朱高中
朱高中
(渭南师范学院物理与电气工程学院,陕西渭南714000)
IC卡考勤系统设计
朱高中
(渭南师范学院物理与电气工程学院,陕西渭南714000)
IC卡考勤管理系统是基于IC卡对员工基本信息进行管理的,设计出了一种对人员考勤监控的系统.其中包括信息初始值设置部分、数码管显示电路、复位电路、接触式IC卡模块电路等.通过接触式IC卡模块对员工的基本信息进行写入与读出,并利用矩阵键盘对员工初始信息进行设置,根据不同的出勤情况在数码管上进行不同的显示.该设计具有操作简单、成本较低即可实现员工出勤的考勤情况,方便企业的管理等优点.经过测试,本系统可以显示员工的基本信息.
接触式IC卡;单片机AT89S52;数码管SM420364
考勤作为一个单位的基础管理,越来越受到重视.传统考勤可分为两种:第一种,人工考勤.人工考勤靠专人书面登记,往往存在许多主观、人为因素,最终不能令管理层取得真实的考勤结果资料,甚至不能起到基本的约束作用;第二种,机械打卡钟.使用机械打卡钟,作为管理层有两种管理模式:
(1)管理层不需取得考勤报表,只临时抽查个别员工的打卡卡片,难免会疏漏,使员工产生侥幸心理;
(2)管理层要求取得考勤报表,加强各项管理,采用这种管理模式则需靠专人收集考勤记录,手工汇总录入计算机,则往往存在录入环节出错、考勤资料不真实、人力资源的浪费、效率低下、报表反映不及时等问题.
本设计IC卡刷卡考勤管理系统就能解决传统考勤中出现的上述问题,通过接触式IC卡系统将员工信息收集、并显示在数码管上.其主要优点是使用方便、价格较低.本系统基本满足了考勤管理客观、准确的需求,具有一定的实用性.
1 IC卡考勤系统的组成
IC卡考勤系统的组成方框图如图1所示,它的主要组成部分有:信息初始值设置部分、数码管显示电路、AT89S52单片机模块、接触式IC卡模块电路等.其中,中心芯片配置为AT89S52单片机、数码管显示电路和接触式IC卡模块电路.IC卡考勤系统的总体框图如下:
图1 IC卡考勤系统总体框图
2 硬件部分
(1)信息初始值设置模块
该部分电路与单片机的 P3.0、P3.1、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7 相连,用于对员工初始信息的设置.该模块主要由4×4矩阵键盘组成,可对员工基本信息进行方便快捷地处理,可以对员工加班、迟到、缺勤、请假等情况进行考勤.
图2 信息初始值设置模块原理图
(2)数码管显示电路
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管驱动方式的不同,可以分为静态式和动态式两类.
1)静态显示驱动:静态驱动也称直流驱动.静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二至十进制译码器译码进行驱动.静态驱动的优点是编程简单、显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,一个AT89S52单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性[2].
2)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮.通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动.在轮流显示过程中,每位数码管的点亮时间为1ms—2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低.通过一个7位的二进制电平信号可以显示出想要的结果.例如,点亮二极管 b、c,数码管将会显示数字 1,点亮 a、b、c、d、e、f、g,数码管将会显示数字0.所以,数码管的显示需要有7根连线.每个数字对应的二进制码如表1所示.
数码管显示电路的硬件原理图如3所示:
图3 数码管显示电路的硬件原理图
表1 显示数字对应的二进制电平信号
(3)接触式IC卡模块
接触式IC卡模块主要调用IC卡写入程序,实现IC卡的参数写入,并将写入的信息显示于数码管上.IC卡写入、读取程序采用结构体成员函数设计,考勤管理采用死循环不断地检测IC卡状态、读取IC卡信息,并通过数码管显示.当SW端为低电平时,代表有IC卡插入,进而开始对员工开始考勤.[2-3]
接触式IC卡电路的硬件原理图如4所示:
图4 接触式IC卡模块原理图
接触式IC卡各个管脚的功能如表2所示:
(4)复位电路模块
该模块主要有电阻、电容及按键开关组成,单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作.AT89S52单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的.当系统处于正常工作状态,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期以上,则CPU就可以响应并将系统复位.此复位电路RST端和正电源Vcc之间接一个按钮.当按下按钮时,则Vcc的+5V电平就会直接加到RST端.单片机复位电路要求有一个持续时间,加上电容可以使其两端电压不能突变.
表2 接触式IC卡管脚功能
3 IC卡考勤系统的软件设计及分析
IC卡考勤系统的程序流程图如图5所示.程序基本执行过程:给硬件开始上电后,系统进行初始化设置,数码管显示为“0000”.对员工的基本信息进行预置,当系统扫描到有卡插入时且公司代码为123时,对此员工的个人信息进行显示,当公司代码不是123时,数码管显示“9999”[4-5].
通过行列键盘扫描的方法确定输入的键值,具体过程:(1)查询是否有键按下.单片机向行扫描口P3口高四位输出全为“0”的扫描码,然后从列检测口P3口低四位检测信号,只要有一列信号不为“1”,则表示有键按下,且不为“1”的列即对应为按下键所在的行.
(2)查询按下键所在的行、列位置.前面已经取得了按下键的行号,接下来要确定键所在的列,单片机向行扫描口P3口低四位输出全为“0”的扫描码,将行扫描后P3口的结果与列扫描后P3口的结果相与.相与的结果就是所按下键的代码值.
(3)对得到的行号和列号译码,得到键值.对于4×4的行列式键盘,因为按键的位置由行号和列号惟一确定,且行列各4位,所以用一个字节(8位)就可以对键值进行编码.
(4)消抖电路.因为操作者按下或松开按键时会产生机械抖动,所以要设置消抖处理电路.处理方法可以用硬件电路来实现,也可以用软件延时方法来实现.本设计采用软件延时方法来消除按键的抖动,一旦发现有键按下,就延时10ms以后再测按键的状态.这样就避开按键发生抖动的那一段时间,使CPU能可靠地读按键状态.在编制键盘扫描程序时,只要发现按键状态有变化,即无论是按下还是松开,程序都应延时10ms以后再进行其它操作.
对于数码管动态扫描显示方式原理,如要在数码管上显示“2009”时,先在字段位上选通a、b、d、e和g端,即让P0口输出0xb5,同时该位的位选端9脚选通,在数码管的千位上显示“2”,然后系统又以极快的速度中止对9脚的选通,同时将要显示的“0”对应的字段位a、b、c、d、e和f位选端10脚选通,显示“0”字,如此同理知道个位显示“9”,然后又从千位开始循环导通.由于我们人眼的视觉停留效果在数码管上看到的将会是一个静态的“2009”.当有IC卡插入后,SW端为低电平,对IC卡进行复位操作后,将显示个人信息,完成后返回到主程序,继续键盘扫描部分;如果SW端为高电平,则表示没有IC卡插入,返回到扫描程序[6].
图5 IC卡考勤系统主程序流程图
4 IC卡考勤系统的运行调试
在对电路进行实验调试时,VCC直接由计算机USB接口提供,接通电源后,在开始时系统自动通过复位电容实现开机瞬时自动复位,当在实验过程中需要系统复位时,可按复位键进行手动复位操作.
给单片机加载如下程序:
数码管显示“8888”,说明数码管和单片机连接正常且显示功能正常.加载键盘扫描程序测试键盘和单片机的连接,结果正常.插入IC卡后,数码管可以正常的显示员工个人信息.硬件电路完成后,对员工个人信息进行预置,并针对不同的情况,通过键盘对员工的个人信息进行改变,本设计基本都能正常的显示员工的出勤情况,并且具有较好可交互式.通过多次测试,本设计符合设计要求,能比较真实地反映情况.
5 结论
本设计IC卡考勤系统的设计初衷是为了实现员工出勤的考勤情况,方便企业的管理.在本设计中,所用到的器件都是比较常用的,如电阻、二极管、三极管、电容、数码管等.该考勤系统结构简单,成本较低,安全性高,用户界面的可交互性好,具有较高的实用价值.如果将数码管显示改为液晶显示,效果会更佳,适于广泛推广和进一步开发,具有比较好的市场前景.
[1]于永.51单片机实例精讲[M].北京:电子工业出版社,2008.94-97.
[2]赵升,谢文彬,高猛.基于无线网络的非接触式IC卡考勤系统的设计[J].电子测量技术,2010,33(11):110-113.
[3]李民权,高顺利,吴先良.远距离非接触IC卡考勤系统的软件设计与实现[J].安徽大学学报(自然科学版),2003,27(3):63-67.
[4]彭小峰,张里.基于非接触IC卡考勤管理信息系统设计[J].重庆工学院学报(自然科学版),2008,22(10):161-165.
[5]刘梅,李正平,徐超.非接触式IC卡考勤系统的设计[J].现代电子技术,2007,240(1):147-149.
[6]冯洋.基于 AT89C52 的水温控制系统[J].渭南师范学院学报,2010,25(2):49-52.
Design and Implementation of IC Card System
ZHU Gao-zhong
(School of Physics and electronic engineering,Weinan Teachers University,Weinan 714000,China)
IC card attendance management system,based on the basic information of the staff in IC card to manage,is the design of a monitoring system on staff attendance,including setting part of information of the initial value,digital control circuit,reset circuit,contactless IC card module circuit.Based on the basic information on the staff written and read in the contact IC card module,and the information matrix keyboard to set the initial employees,depending on the attendance there will be a different display in the digital control.The design is simple,low cost,effective to the staff attendance and convenient to facilitate enterprise management.After testing,the system can display basic information about employees.
integrated circuit(IC)card;AT89S52;LCD SM420364
TP273+.5;TN409
A
1009—5128(2011)12—0068—05
2011—04—26
陕西省教育厅科研计划项目(2010JK533);渭南师范学院研究生专项项目(09YKZ017)
朱高中(1980—),男,河南周口人,渭南师范学院物理与电气工程学院讲师,工学硕士.研究方向:信号处理、小波分析、电能控制.
[责任编辑 马小侠]