电子密码锁设计。
系别:电控系。
班别:楼宇091
姓名:郑雄辉。
学号:20090297
指导老师:曹乃文。
设计日期:2024年1月6日。
小组成员:郑雄辉、叶臻、韦颖。
广西工学院鹿山学院。
二0一二年一月六日。
目录。一、前言1
二、设计目的和要求1
三、设计内容1
1.电子密码锁的硬件的选择2
2、系统硬件各部分电路4
3、电子密码锁的系统软件设计7
四、设计心得及总结14
五、参考文献16
一、前言。随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用,这种锁是通过键盘输入一组密码完成开锁过程。
研究这种锁的初衷就是为提高锁的安全性。由于锁的密码量极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需要记住一组密码,无需携带金属钥匙,免除人们携带钥匙的烦恼,电子锁的种类繁多,例如:
指纹锁、数码锁、磁卡锁、ic锁、生物锁等。但较实用的还是按键式电子密码锁。
二、设计目的和要求。
目的:通过这次设计去了解电子密码锁的工作原理以及用途,同时把自己已有的专业理论知识运用到设计中去,体验单片机的神其。
要求:设计一个电子密码锁,要求是设定6位的密码锁,从键盘输入密码,可用6个数码管显示输入的密码位数。密码输入正确后即可开锁,输入三次错误密码就不断报警。
三、设计内容。
1.电子密码锁的硬件的选择。
1.1主控芯片。
本次设计采用的单片机芯片是at89s52。at89s52是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器、节ram、32位i/o口线,看门狗定时器、2个数据指针、三个16位定时器、计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。
1.2eeprom数据存储器24c02。本次设计采用24c02芯片为密码存储器,宰掉电的情况下可以继续保存数据。
24c02芯片作为系统的从器件,它与主器件之间的通信遵循i^2c总线协议,协议规定任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器。
1.3串入并出移位寄存器74hc164。它是高速硅门cmos器件,与低功耗肖特基型ttl器件的引脚兼容,是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端之一串行输入,任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不能悬空。时钟每次由低变高时,数据右移一位,输入到q0,主复位输入端上的一个地电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。
1.4八位数据锁存器74273。74273芯片是八位高速寄存器,其内部由8个d锁存器构成,有共同的时钟输入端和异步复位器。
其特性有:边沿触发、8位高速寄存器、数据并入并出、同步时钟,异步复位。
2、系统硬件各部分电路。
2.1数据处理及控制。
本次设计中,由at89s52芯片连同附加电路构成的单片机最小系统作为数据处理及控制部分。
2.2键盘输入。
本次采用行列式键盘作为密码锁系统的输入部分,把2单个按键按4*4格式组合成键盘,四条行线连接到单片机的p1.0~p1.3四条i/o口线上,四条列线连接到单片机芯片的p1.
4~p1.7四条i/o口线上,在系统运行时,通过检测每条行线和列线上的电平变化,即可判断出用户输入的为何种信息,其电路连接图如下图所示:
2.3密码存储。
本次设计采用在掉电情况下依然能保存数据的eeprom存储芯片24c02作为密码存储部分的记忆芯片,在电子密码锁系统中,系统需要存储的密码仅有6位,数量较小,所以,芯片的地址选择端口可以直接接地线,只需把芯片的时钟输入端口(sck)和数据输入端口(sda)和单片机相连,其电路图如下:
2.4显示部分。
电子密码锁系统需要显示的信息少,故采用七段led数码显示器,数据传输采用串行方式,由单片机的串行数据口p3.0发送,在经过74hc164串行移位寄存器把串行数据转换成8位并行数据,用以驱动七段led数码显示管。电路图如下:
3.电子密码锁的总电路图如下:
3、电子密码锁的系统软件设计。
软件设计流程图:
本次设计得程序:
void main()
uchar i = 0;
uchar iic_password[10];
uchar is_valid_user = 0;
p0 = 0xff;
p1 = 0xff;
p2 = 0xff;
tmod = 0x02t0设置为8位自动重装模式。
th0 = 175
tl0 = 175;
tr0 = 1启动t0
delayms(10
lcd_init初始化lcd
iic_24c04_init初始化24c04
display_string(title_text,0x00); 在第1行显示标题。
//24c04的内容已由初始化bin文件导入。
//将24c04中预先写入的密码读入pass
recstring(0xa0, 0 , iic_password, 6);
iic_password[6] =0';
while(1)
p1 = 0xf0;
if(p1 !=0xf0) keyno = keys_scan();扫描键盘获取键序号keyno
switch ( keyno )
case 0: case 1: case 2: case 3: case 4:
case 5: case 6: case 7: case 8: case 9:
if ( i<= 5密码限制在6位以内。
如果i为0则执行一次清屏。
if (i ==0) display_string0x40);
userpassword[i] =keyno + 0';
userpassword[i+1] =0';
dsy_buffer[i] =
dsy_buffer[i+1] =0';
display_string(dsy_buffer,0x40);
i++;break;
case 10: /按a键开锁。
if (strcmp(userpassword,iic_password) =0)
led_open = 0; /点亮led
clear_password();
display_string("unlock ok! "0x40);
is_valid_user = 1;
else led_open =1; /关闭led
clear_password();
display_string("error0x40);
is_valid_user = 0;
i = 0;
break;
case 11: /按b键上锁。
led_open =1;
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...