历史上的今天
返回首页

历史上的今天

今天是:2024年10月11日(星期五)

正在发生

2021年10月11日 | 基于51单片机射频RFID卡考勤人数计数系统设计

2021-10-11 来源:eefocus

一.硬件方案

“考勤管理系统”是以RFID射频卡为信息识别载体的适用于企业单位或学校的考勤管理系统。


本设计由51单片机电路+RFID模块电路+1602液晶显示电路+按键电路+蜂鸣器报警电路+电源电路组成。:

二.设计功能

(1)系统有3张卡,分别代表依次是张三、李四、王二。

(2)任何一个人刷卡成功能,1602液晶响应显示,未刷卡显示空“ ”位置上空的,刷卡成功后相应位置显示有人。

(3)液晶第二行显示刷卡人数,即出勤总人数。

(4)按下按键表示上课,如果签到人数和总人数不符合,蜂鸣器报警处理。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)PCB图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


void main (void)

{     

unsigned char disPlace=0; //显示位置

Init_Timer0();        //定时器0初始化

UART_Init();   //串口初始化


buzzer = 0; //报警

LCD_Init();           //初始化液晶

DelayMs(100);          //延时有助于稳定

LCD_Clear(); 

buzzer = 0; //报警


PcdReset();//复位RC522

PcdAntennaOn();//开启天线发射 


sprintf(dis0,"ZS:%c LS:%c WE:%c ",zsFlag,lsFlag,weFlag);//打印数据

LCD_Write_String(0,0,dis0);//显示第二行


while (1)         //主循环

{


if(PcdRequest(0x52,Temp)==MI_OK)  //检测到卡号

    {

      if(PcdAnticoll(UID)==MI_OK) //读取卡号成功

      { 

        uartSendByte(0x00); //串口发送卡号

uartSendStr(UID,4);

        uartSendByte(0x00);

if((UID[0]==zsID[0])&&(UID[1]==zsID[1]))//张三 到

{

if(zsFlag != 0xff) //第一次刷到该卡

{

zsFlag =0xff;    //显示 到

time_20ms = 8;buzzer = 0;  //蜂鸣器短暂鸣叫

}

}

else if((UID[0]==lsID[0])&&(UID[1]==lsID[1]))//李四 到

{

if(lsFlag != 0xff)   //第一次刷到该卡

{

lsFlag =0xff;   //显示 到

time_20ms = 8;buzzer = 0; //蜂鸣器短暂鸣叫

}

}

else if((UID[0]==weID[0])&&(UID[1]==weID[1]))//李四 到

{

if(weFlag != 0xff) //第一次刷到该卡

{

weFlag =0xff;   //显示 到

time_20ms = 8;buzzer = 0; //蜂鸣器短暂鸣叫

}

}

      }

    }

if(disFlag  == 1)

{

sprintf(dis0,"ZS:%c LS:%c WE:%c ",zsFlag,lsFlag,weFlag);//打印数据

LCD_Write_String(0,0,dis0);//显示第二行

manNum=0; //清空总人数

if(zsFlag==0xff) //张三到 +1

{manNum=manNum+1;}

if(lsFlag==0xff)

{manNum=manNum+1;} //李四到 +1

if(weFlag==0xff)

{manNum=manNum+1;} //王二到 +1

sprintf(dis1,"ZongRen:%d  ",(int)manNum);//打印数据

LCD_Write_String(0,1,dis1);//显示第二行

disFlag =0;

}


if(key == 0) //按键按下

{

if(manNum != 3)   //人数不够

{

buzFlag = 1; //蜂鸣器报警标志

}


}

}

推荐阅读

史海拾趣

E-Mark Inc公司的发展小趣事

在电子汽车行业初期,XYZ公司主要生产简单的车载电子设备。为了进入欧洲市场,公司决定对其产品进行E-Mark认证。经过严格的测试和审核,XYZ公司的产品质量和安全性能得到了欧洲市场的认可。随着欧洲市场的开拓,XYZ公司逐渐扩大了生产规模,提升了技术水平,最终成为了汽车电子行业的领导者。

Antiference公司的发展小趣事

近年来,随着物联网、5G等技术的快速发展,电子行业面临着巨大的变革。Antiference公司敏锐地捕捉到这一趋势,及时调整战略方向,将研发重点转向物联网设备的电磁兼容性研究。通过不断创新和优化产品,Antiference成功抓住了物联网发展的机遇,实现了业务的快速增长。

Advanced_Linear_Devices_Inc.公司的发展小趣事

在电子行业的快速发展中,ALD以其创新的CMOS技术崭露头角。1985年,公司创立之初,便致力于研发小功率线性集成电路,为线性工程师提供标准产品和定制方案。经过团队的不懈努力,ALD成功开发出了一系列具有高精度和低功耗特点的CMOS线性集成电路,这些产品在工业控制、电子仪器等领域得到了广泛应用,为公司的快速发展奠定了坚实基础。

Dawn Electronics Inc公司的发展小趣事

Dawn Electronics Inc公司成立于上世纪末,当时电子市场竞争激烈,新公司难以立足。公司创始人凭借对技术的热爱和对市场的敏锐洞察,决定专注于研发高性能的定制电子元件。初创期,公司面临着资金紧张、人才短缺的困境,但创始人带领团队日夜兼程,攻克技术难题,终于在市场上推出了具有竞争力的产品,赢得了客户的认可。

Hongfa公司的发展小趣事

为了推动公司的进一步发展,宏发公司于2008年进行了股份制改造,并成立了“厦门宏发电声股份有限公司”。2012年,公司成功上市,通过资本市场获得了更多的资金支持和发展动力。上市后,宏发继续加大在技术研发、市场拓展和产能提升等方面的投入,不断巩固和扩大其在继电器行业的领先地位。同时,公司还积极履行社会责任,为行业发展和地方经济做出了积极贡献。

AVG [AVG Semiconductors(HITEK)]公司的发展小趣事

AVG Semiconductors自创立之初,就始终坚持以技术创新为核心竞争力。公司不断投入研发资源,推出了一系列具有划时代意义的半导体产品。其中,AVG的某款高效能低功耗芯片在市场上引起了广泛关注,其独特的节能设计和卓越的性能使得AVG在激烈的市场竞争中脱颖而出。这款芯片的成功不仅提升了AVG的品牌形象,也为公司带来了可观的收益,进一步推动了公司的研发创新步伐。

问答坊 | AI 解惑

最强大的串口桥式转换芯片

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 我公司是JM系列IC的一级代理商,下面是JM IC的功能型号简介: JMicron智微科技主要产品研发方向为高速串行式连结(High Speed Serial Link)的相关技术,该技术现已广泛应用于Serial ATA、PCI E ...…

查看全部问答>

3.3 伏至 5 伏互联技巧

本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 概述 我们对处理速度的需求日益增长,伴随着这种增长,用来构建单片机的晶体管尺寸则在持续减小。以更低的成本实现更高的集成度,也促进了对更小的几何尺寸的需求。随着尺寸的减小,晶体管击穿电压 ...…

查看全部问答>

喷气式甲克虫汽车

喷气式战斗机看到过,可经过改装的喷气式甲克虫汽车必定没看到过吧,看着这样的车必定有飞的感到。想看看发动引擎后的效果?请看下面的图片…

查看全部问答>

有没有开发过【软plc】的朋友

有没有开发过【软plc】的朋友 麻烦留下联系方式,谢谢~…

查看全部问答>

C++.net硬件开发

请问各位大侠,C++.net能开发硬件程序吗,就是那种控制门口挡车杆升降的程序。 如果不能,那可以用VisualC++开发吗? 多种语言开发的程序可不可以组成一个软件上那? 谢谢各位。…

查看全部问答>

谁知道PROTEUS的第三方元件库怎么添加

有谁知道PROTEUS的第三方元件库怎么添加啊,我用的是7.5sp3的版本,我把.lib文件加到元件库里面但是还是以前那些元件,这是怎么回事啊?请大家帮帮忙!!!谢谢…

查看全部问答>

【重量级】使用RT-Thread RTOS及附属组件的LM3S8962评估板的例程

Introduction •这是使用RT-Thread RTOS及附属组件的LM3S8962评估板例程,对LM3S系列其他芯片也同样适用。所有例程源码来自开源实时操作系统RT-Thread的官方SVN源码服务器。这儿将例程做成了一个个单独的工程,目的是为了使刚接触RT-Thread的 ...…

查看全部问答>

真的没人用upsd了吗

                                  …

查看全部问答>

07.28【每周讨论】相信大家都知道C语言了,那么E(易)语言呢?

第一次听说E语言听过,不了解最近刚刚知道一点点知道,感觉不错 [ 本帖最后由 longxtianya 于 2011-7-30 19:48 编辑 ]…

查看全部问答>