本设计采用51单片机为主控芯片,硬件上由电源电路、复位电路和晶振组成单片机最小系统,是整个电路最核心的部分,结合外围电路,组成电子密码控制系统。用户想要开锁,必须通过键盘输入正确的密码或者使用IC卡,如果密码输入错误则通过液晶提示。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码后必须再次输入密码,进行二次确认,以防止失误操作。考虑到需要显示汉字的问题,本系统采用LCD12864液晶显示。用存储器24C02来存储密码,报警部分采用蜂鸣器即可,当检测到IC卡时蜂鸣器就会发出响声。将每个按键赋予特定的功能,以此来控制密码锁的开关和改密等,并发送到LCD12864上显示。通过按键扫描来判断哪一个按键按下,并反馈给单片机,单片机根据相应的功能向其他外设发送命令。
总体设计方案框图
系统的硬件部分可分为以下几个电路模块:1、晶振电路; 2、复位电路; 3、电源电路 ;4、存储电路 ;5、显示电路 ;6、键盘电路 ;7、报警电路;8、开锁电路;9、射频电路。
1、晶振电路
单片机最小系统由晶振电路、复位电路和电源电路组成,作为整个系统的核心部分,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率上。如图为晶振电路
无源晶振自身无法振荡起来,它需要芯片内部的振荡电路一起工作才能振荡。C1,C2电容的作用:帮助晶振起振,并维持振荡信号的稳定。
2、复位电路
单片机的置位和复位,都是为了把电路初始化到一个确定的状态。如图为复位电路
当电路稳定时,电容起到隔离直流的作用,而复位按键是弹起状态,下边部分的电路没有电压差的产生,所以按键和电容以下的点位和GND相等。这个单片机是高电平复位,低电平正常工作。
3、电源电路
电源电路向整个系统提供电源,由于设计中的继电器需要12V电压,而51单片机的工作电压在4.5V-5V,射频IC卡模块工作在3.3V,因此电源电路通过降压器来给电路降压。如图为电源电路
D3防止电流逆流,对电源产生破坏。U6将12V电压降到5V电压,供给51单片机使用。U7将5V电压降到3.3V电压,供给射频IC卡模块使用。LED2为电源指示灯。电容的作用对电源电路进行滤波,使输出电压基本稳定。
4、存储电路
存储单元的作用就是存储当前采集到的信息,JSM24C02通过I2C总线接口进行操作,并且有一个专门的写保护功能。如图为存储电路
I2C总线是开漏并联的结构,因此外部要添加上拉电阻。对于开漏电路外部加上拉电阻,就组成了线“与”的关系。
5、显示电路
为了提高密码锁的显示能力,本设计采用了LCD12864液晶显示,通过液晶能更直观地了解密码门禁系统的当前状态。如图为显示电路
LCD 12864液晶屏工作电压+3.0V~+5.5V,逻辑电平与单片机兼容,能够直接与单片机的IO口连接。LCD12864液晶与单片机接口如图3所示。液晶1,2脚为电源端;19,20脚为背光电源;液晶第3脚用来调节液晶显示的比度,这里通过一个10kΩ电位器接地来实现对比度的调节;液晶第4脚RS为向液晶控制器写数据/写命令选择端,与单片机的P1.3引脚相连;液晶第5脚R/W为写数据/写命令选择端,高电平时为写数据端、低电平时写指令端,与单片机的P1.2相连;6脚EN连接单片机P1.1口;液晶的数据接口7脚至14脚和单片机P0口连接;液晶17脚接P1.0,高电平取消复位;液晶15脚接高低电平来选择串行通信形式。
6、键盘电路
键盘是单片机十分重要的输入设备,是实现人机对话的纽带。当有一个键按下时,通过某一边引脚赋低电平,扫描全部引脚是否和最初赋值一样,不一样则判断当前按键被按下。
如图为按键电路
7、报警电路
单片机通过P1^6管脚来控制三极管驱动蜂鸣器工作,当三次输入的密码和设定的密码不同或者开、关锁时蜂鸣器都会工作。如图为报警电路
因为51单片机IO口的输出电流比较小,而驱动蜂鸣器需要比较大的电流,所以Q1作用是把微弱信号放大成幅度值较大的电信号。
8、开锁电路
同样通过单片机控制开锁电路的三极管来让继电器工作。开锁电路的功能是当输入正确密码后密码锁将被锁定,即开锁,输入错误密码则不会开锁。如图为开锁电路
LED1为开锁指示灯,R11为限流电阻,防止LED1被烧坏。利用D2的单向导电性防止电流逆流对电路造成伤害。Q2作用是把微弱信号放大成幅度值较大的电信号,也用作无触点开关,从而驱动继电器控制锁的开关。
9、射频电路
RFID: (Radio Frequency Identification)无线射频技术。简单来讲就是识别系统与识别目标之间不需要建立机械接触或者光学联系而是利用微波建立通信系统。完整的RFID系统包括读卡器和电子标签以及数据处理程序三部分组成。RFID的工作原理:当电子标签进入读写器可以读写的范围的时候,电子标签可以接收到读写器发出的射频信号,凭借感应电流产生的能量,又将自己的信息发送出去。或者是由标签主动的讲自身的信息发送出去。接下来,接收器通过解码接收到的数据,在发送给更高层的应用进行处理。利用51单片机加载RFID-RC522模块,读取IC卡内容或者向IC卡写入内容。然后,在将51单片机获得的数据通过USB送入电脑进行进一步处理。
注意:走线尽量不要出现锐角、直角,顶层走线和底层总线尽量不要平行,要垂直,电源线要加粗,晶振电路尽量不要敷铜。
见工程附件
///////////////////////////////////////////////
//功能:寻卡
/////////////////////////////////////////////
void readCart()
{
unsigned char status;
status = PcdRequest(PICC_REQALL, g_ucTempbuf1);//*PICC_REQALL=0x52:寻天线区内所有符合14443A标准的卡 PICC_REQIDL=0x26:只寻未进入休眠状态的卡 //寻卡失败
if (status == MI_OK)
{
status = PcdAnticoll(g_ucTempbuf1); //防冲撞处理,输出卡片序列号,4字节
}
if (status == MI_OK)
{
status = PcdSelect(g_ucTempbuf1); //选择卡片,输入卡片序列号,4字节
}
if (status == MI_OK)
{
status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf1);//打开天线
feeb();
}
if (status == MI_OK)
{
status = PcdRead(1, g_ucTempbuf2);//读卡---第一个扇区的数据块一
}
if(status == MI_OK)
{
g_ucTempbuf2[16]=0x11;
CALL_isr_UART();
OnOrOff = 1;
}
}
射频IC卡按键密码锁_哔哩哔哩_bilibili
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持