资源描述
基于单片机的数码管显示位密码锁【实用文档】doc
文档可直接使用可编辑,欢迎下载
单片机原理课程设计论文
班级:电气1136班
学号: 201311631631
姓名: 朱焯华
指导老师: 张瑛
目录
一、 前言。。.。。。.。..。。.。.。。。。。。。.。。3
二、 选题要求。。.。。。..。.。。..。。。。。。。。。 3
三、硬件电路设计。。。。。。。....。。。.。。。。。。。4
3。1 主控芯片。。。。。.。。。..。。。。。。。。。4
3.2 矩阵键盘电路。..。.。..。。.。.。。。。。5
3。3 数码管电路。。.。。。。。。。。。。。.。.。。6
3。4 138译码器位选电路。。。。。。。。。。。。。。。6
3.5 晶振和复位电路。。。.。。。。。。..。。。。。7
3.6 蜂鸣器电路。。.。.。。。..。.。。。。。.。8
四、软件设计。。.。.。。.。。。。.。。。。。。。。。。。8
五、调试结果.。。。。。。.。。。。.。。。。。。。。。。。10
六、总结。.。。..。...。。。。...。。。。。...。12
前言
随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出.在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。本文从经济实用的角度出发,系统由STC89C51作为主控芯片与数据存储器单元,结合外围的键盘输入、数码管显示、报警、开锁等电路模块.它能完成以下功能:正确输入密码前提下,开锁,数码管显示“open”;错误输入密码情况下,报警,数码管显示“err”;密码可以根据用户需要在程序中更改.用C语言编写的主控芯片控制程序,并用Keil4软件进行编译,设计了一款可以更改密码的系统,本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。
关键词:电子密码锁、报警、数码管显示
二、选题要求
本文从经济实用的角度出发,设计采用51单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共4位密码(可增加),每位的取值范围为0~9,外加“确认”键和“取消”键.用户可以通过修改程序来修改密码,想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示并报警。4位密码同时输入正确,锁才能打开。保密性强、灵活性高.其特点:
1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。
2) 密码可变,用户可以更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3) 当输入密码错误时,报警系统自动启动。
4) 无活动零件,不会磨损,寿命长。
5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
三、硬件电路设计
下面是整个设计的流程图:
3.1 主控芯片
这次课程设计采用的主控芯片是51系列单片机AT89C51。其外部封装如下:
AT89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32位。
P0口(Pin39~Pin32):8位双向I/O口线,名称为P0。0~P0.7 ;
P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 ;
P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2。0~P2.7 ;
P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3。0~P3.7.
3。2 矩阵键盘电路
本次课程设计采用的是行列键盘,C语言程序中有相对应的驱动程序,其硬件电路图和对应数字功能键图如下所示:
注:这里的“取消”键就是电路中的“复位”键。
3.3 数码管电路
采用的是7SEG-MPX4-CA数码管(采用两个数码管的目的为了拓展密码位数)。
3。4 138译码器位选电路
通过138译码器的输出来选择需要显示的数码管,其电路图和功能表如下:
3.5 晶振和复位电路
电路图如下:
3.6 蜂鸣器电路
电路图如下:
四、软件设计
C语言代码如下:
五、调试结果
输入正确密码“0123”
按下“确认"键后,显示“open"
输入错误密码“0000”
按下“确认”键后,显示“err”
六、总结
经过一周的紧张设计,终于顺利完成了设计任务。本次课程设计主要针对密码锁系统做了详细介绍,一STC89C51为核心,并通过调试运行可以实现数码管显示密码输入的相关信息,通过10数字键(0~9)设置成4位数字密码,实现2位功能按键(“确认"、“取消")和蜂鸣器报警等。
通过课程设计让我对单片机系统有了较详细的了解,而且触及到与其相关的很多新知识,而且随着电子技术的发展简易数字密码表也会越来越完善,作为大学生的我们应该跟上时代的步伐,时刻关注形势变化,不断充实更新自己的知识。
在设计中既应用到了基础知识,也用到了专业知识,他是对三年来所学知识的综合考察.最重要的是我通过亲自设计,亲自绘制原理图以及系统调试,培养了我的耐心和细心,这对我以后的工作和学习有很大的帮助.
基于单片机的电子密码锁设计开题报告
一、毕业论文代写课题背景和意义在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣.随着科学技术的不断发展,人们对日常生活中的安全保险的要求越来越高.为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生.密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都获得了大大的提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,电子密码锁是这类电子防盗产品的主流。二、毕业论文代写课题任务的主要内容根据设定好的密码,采用4×4键盘实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的密码不正确,就锁定按键3秒钟,同时发出报警声。(1)单片机型号可选AT89C51.(2)6位密码的设定在程序中完成。(3)密码的输入采用4×4键盘实现,输入6位数字后,按回车键结束。(4)若输入的密码正确,锁打开,同时用发光二极管亮1秒作为提示。(5)报警可采用蜂鸣器或扬声器.三、毕业论文代写已具备条件应用电子技术专业的毕业生已完成电子线路、数字电路基础、单片机原理、单片机应用系统设计等课程的学习,并通过实践课的教学达到相应的电路设计、软件编程等能力目标。四、设计思路与方案1.系统框图2. 组成部分电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、显示电路、报警电路.(1)4×4矩阵键盘接口电路:设置6位密码,通过键盘输入密码,若密码正确,则锁就打开。密码可以由用户自己在程序中修改设定(只支持6位密码)。(2)显示电路:当密码输入时,按下一个数字键, 一个“-"就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。(3)报警电路:由蜂鸣器和一个发光二极管组成.当密码输入正确时,发光二极管亮1秒钟。若密码输入错误,则蜂鸣器发出报警声提示,同时键盘锁定3秒钟。3.设计的关键问题电子密码锁设计的关键问题是实现密码的输入、清除、确认等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位.(2)清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)确认功能:当按下确认键,系统将输入的密码与内设密码进行检查核对,如果正确,锁打开,否则不打开。五、预期目标完成基于单片机设计的电子密码锁的论文。六、毕业论文代写进度安排1.2008年11月1日——11月7日:下达毕业设计任务书。2.2008年11月8日——11月21日:撰写开题报告。3.2008年11月22日—-11月25日:毕业设计初期检查。4.2008年11月26日——12月31日:完成相关参考文献查阅、资料查找,设计电路原理图,购买元器件,进行硬件设计与软件设计,开始实物安装、调试。5.2009年1月4日——1月9日:毕业设计中期检查.6。2009年1月10日——1月15日:学习论文的撰写规范,并确定撰写方案。7。2009年1月16日——5月15日:顶岗实习,并且完成毕业论文,毕业设计后期检查.8.2009年5月16日-—5月18日:上交毕业论文、实物、毕业顶岗材料。
基于DSP数码管显示
课程名称 DSP技术
学院名称 电子与信息工程学院 专 业 电子信息工程
年级班级 开出学期 2013-2014下期
学生 学 号
指导教师 成 绩
201*年*月*日
一、课程设计目的
如今DSP已经成为运用很广泛的嵌入式芯片,它的功能强大,能完成很多一般芯片不能完成的数据处理,大量使用DSP已经是全球的潮流。通过课程设计,使我们综合运用 DSP 技术课程和其他有关课程的理论和生产实际知识去分析和解决具体问题的能力得到提高,并使其所学知识得到进一步巩固、深化和发展;初步培养学生对工程设计的独立工作能力,学习设计的一般方法;以及锻炼我们查阅资料、方案比较、团结合作的能力。学会简单电路的实验调试和整指标测试方法,增强我们的动手能力,为以后学习和工作打下基础。
二、课程设计内容
1、设计思路
用DSP芯片设计一个单个数码管显示电路,数码管由0—9循环点亮,每1秒钟亮一个数字,每亮一次触发蜂鸣器响一下。另外加输入检测电路,当一旦按下复位键后数码管自动清零。
2、 设计流程图
开始
初始化DSP
初始化CD4511(数码管清零)
循环显示0-9
读取IOPB数据
DSP数据处理
判断复位键是否按下
是
否
3、设计实现程序
主程序
#include "math。h”
#include "stdio。h”
#include "lf2407_c.h”
unsigned char flag=0;
//void Delay(int x)
void delay_ms() //延时1ms(CPU频率10M)
{
unsigned int k;
for(k=0;k〈1000;k++);
}
void delay_s() //延时1s(CPU频率10M)
{
unsigned int k,j;
for(k=0;k〈1000;k++)
for(j=0;j〈1000;j++);
}
void delay_us() //延时100us(CPU频率10M)
{
unsigned int k;
for(k=0;k<10;k++);
}
void delay(void)//任意延时
{
unsigned int i,j;
for(i=1000;i〉0;i--)
for(j=200;j〉0;j—-);
}
void init()
{
asm(” setc SXM");
asm(” clrc OVM");
asm(” clrc CNF”);
asm(" setc INTM");
SCSR1=0x81FE;
WDCR=0x0E8;
IMR=0x0000;
IFR=0x0FFFF;
MCRA=MCRA&0x00FF; //iopb设为一般I/O
PBDATDIR=PBDATDIR|0xFF00; //1234为输出
PBDATDIR=PBDATDIR&0xEFFF; //1234为输出
PADATDIR=PBDATDIR&0xFF00; //初始化显示0
}
void main()
{
int m;
unsigned int uLED[10]={0xFF00,0xFF01,0xFF02,0xFF03,0xFF04,0xFF05,0xFF06,0xFF07,0xFF08,0xFF09};
init(); //初始化
for(m=0;m<=10;m++)
{
PBDATDIR=uLED[m];//显示数字
delay_s();
if(PBDATDIR&0x0010==0x0000) //判断复位键是否按下
{
PBDATDIR=PBDATDIR|0xFF00; //清零
m=0;
delay_s();
}
}
}
三、硬件电路设计
1、外围电路设计
外围电路采用一个CD4511进行数据译码,采用输入BCD码输出段码的方式进行显示,外接一个蜂鸣器,一个复位按钮,和一个数码管。
电路图如图所示
2、DSP芯片管脚设定
DSP芯片管脚:IOPB0 CD4511芯片A输入
IOPB1 CD4511芯片B输入
IOPB2 CD4511芯片C输入
IOPB3 CD4511芯片D输入
IOPB4 复位键信号检测管脚
3、 使用元件介绍
3。1、TMS320LF2407A芯片
基本介绍
TMS320C24x系列DSP中,分为5V供电的TMS320F/C24x和3.3V供电低功耗TMS320LF/LC240xA两类。
这里以TMS320LF2407A为主进行介绍.TMS320LF2407A是TMS320F/C24x的改进型,采用低功耗设计,3.3V供电,最高运算速度达到40MIPS.主要特点如下:
⑴ 片内具有2k字节的单口RAM(SARAM),32K字的Flash程序存储器,544字节的双口RAM(DARAM)。
⑵ 两个事件管理器模块EVA和EVB,每个包括:两个16位通用定时器,8个PWM通道。
⑶ 高达40个可独立编程或复用的通用I/O引脚。
⑷ 片内集成:16路10位A/D转换通道;控制局域网络(CAN)2。0B模块;串行通信接口引脚功能
各引脚按功能可分为以下8个部分(表2.1~2.9):
⑴ 事件管理器(EVA和EVB)引脚;
⑵ ADC模数转换器引脚;
⑶ 通信模块(CAN/SPI/SCI)引脚;
⑷ 外部中断与时钟引脚;
⑸ 地址/数据及存储器控制信号引脚;
⑹ 振荡器/PLL/FLASH/BOOT引导程序及其他引脚;
⑺ JTAG仿真测试引脚;
⑻ 电源引脚。
SCI)模块;串行外设接口(SPI)模块;看门狗定时器(WDT)模块。
TMS320LF2407A的引脚封装图
TMS320LF2407A的引脚结构图
3.2、 CD4511 BCD-7 段译码驱动器
CD4511 是常用的七段显示译码驱动器,它的内部除了七段译码电路外,还这有锁存电路和输
出驱动器部分,具有输出电流大,最大可达25mA,可直接驱动LED数码管。CD4511 由4 个输入端A/B/C/D和7 个输出端 a~g,它还具有输入 BCD码锁存、灯测试和熄灭控制功能,它们分别由锁存端 LE、灯测试LT、熄灭控制端 BI 来控制。引脚图如2 所示,真值表如图3 所示
四、课程设计元件清单
名称
型号
数量/个
编号
DSP芯片实验板
TMS320LF2407A
1
U1
CD4511段译码器
CD4511
1
U2
单个数码管
5101AR
1
uLED
复位按键
1
S9
蜂鸣器
1
SP
限流电阻
1K
8
R0-R7
杜邦线
若干
排针
若干
五、课程设计实物
程序运行结果图
运行显示数字5
运行显示数字2
按下复位键后数码管清零
六、 课程设计总结
此次的课程设计中我对DSP芯片有了更加充分的了解,以前只是通过书籍或其他消息知道DSP芯片的重要性,但是只有真正做了之后才能意识到DSP芯片的功能强大,它虽然基本原理和使用与单片机差不多,但是真正使用过之后才觉得它运行速度更快,能直接做一些信号处理,内部直接带有很多常用数学运算的硬件电路,因此在数字信号处理方面非常有用,我也是在使用之后才发现DSP芯片为什么叫做数字信号处理芯片的.此次我做的实验不算难,但仍需细心调试程序,对于头文件的定义一定要清楚。此次实验不仅增强了我的实际动手能力,而且还让我对于DSP有了更大的兴趣,以后定将花更多的时间对其进行更深入的学习。
评语
学号 14082200163成绩
《现代数字系统设计》课程论文
题目 基于FPGA的密码锁设计
作 者 嘿嘿 班 级 0803BF
院 别 信息与通信工程 专 业 电子信息工程
完成时间 2011年5月8日
基于FPGA的密码锁设计
【摘要】基于FPGA设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。本文介绍一种基于现场可编程门阵列FPGA 器件的电子密码锁的设计方法采用Verilog HDL语言对系统进行描述,并在EP1K10TC100-3上实现。
系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密码不正确,则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。
通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系统的扩展有很好的实用和设计的价值。
【关键词】:现场可编程门阵列,硬件描述语言,电子密码锁,扬声器
【Abstract】FPGA-based design of the electronic code lock is a small digital system, electronic password lock compared with ordinary mechanical locks, with many unique advantages: good privacy, security and strong, can not key to remember passwords to unlock, and so on. At present the use of the electronic code lock on most of SCM technology to SCM as the main devices, encoders and decoders of Health and the software approach. In practice, since the process easy run to fly, the reliability of the system can be poor。 Based on this paper, a field programmable gate arrays FPGA devices electronic password lock design, Verilog HDL language used to describe the system and achieve EP1K10TC100—3.
Implementation of the system features: users of electronic password lock to set a password, when using the keyboard unlock the machine, the user password and set the password, if the correct password, then unlock if the password is not correct, allows Users to enter a password, can enter up to three times, three times if not correct, the speaker alarm, until the reset button only allowed to re-enter the code。
The simulation tests using programmable devices FPGA electronic password lock the basic design to achieve the expected goal. Of course, some of the details of the system in the design of the need to constantly refined and improved, in particular the expansion of the system have a good design and practical value.
【Key words】: FPGA , Verilog HDL, electronic password lock , speaker
基于FPGA的密码锁设计2
一、 概述5
1。1 电子密码锁的现状5
1.2 论文主要完成的工作6
二、 系统硬件设计6
2.1 系统设计方案6
2.1.1 系统功能需求分析6
2.1。2 系统实现方案的论证比较6
2.1.3 系统方案的总体设计7
2.2 主控模块8
2.2。1 主控芯片EP1K10TC100-3的介绍8
2。3 键盘模块8
2。4 显示模块9
2.5 报警模块10
三、系统软件设计10
3.1系统主控制流程框图10
3.2 键盘扫描程序框图11
3.3 获取键值程序框图12
3。4 解码、报警模块13
3。5 系统软件设计总RTL级图14
四、 系统测试与总结14
4.1 仿真波形图14
4.2 本次课题设计体会15
参考文献15
附 录15
一、 概述
1.1 电子密码锁的现状
随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观.我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁的市场需求也逐年增加.在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。
目前,市场上比较先进的智能电子密码锁分别有:IC卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码锁等。IC卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟IC卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与IC卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段.
在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广。
基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。
在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。
目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式.在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差.基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性。
1.2 论文主要完成的工作
课题主要解决系统硬件和软件两方面的问题.硬件方面要解决FPGA可编程器件与其外围电路的接口设计的问题;软件方面主要问题是利用Verilog HDL语言完成基于FPGA的电子密码锁的编程问题.除此之外,程序还要完成基本的密码开锁功能,并通过扬声器长时间鸣叫报警.本设计是由FPGA可编程逻辑器件编程实现的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展性好等特点。
二、 系统硬件设计
2.1 系统设计方案
2.1。1 系统功能需求分析
本系统主要集中在以FPGA以核心外围扩展设计,整个电路主要电子锁具的组成框图是以可编程逻辑器件(FPGA)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值,报警等功能。 FPGA接收键入的代码,并与存贮在闪存中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则通过FPGA产生报警,FPGA将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给监控器,同时将接收来自接口的报警信息也发送给监控器。
2。1。2系统实现方案的论证比较
方案一 :采样台湾凌阳科技有限公司推出的以凌阳自主研发的SPCE061A芯片为主控芯片,用一条下载线连接到计算机就可以实现在线仿真、在线调试、在线下载,低廉的价格保证了系统可靠开发;此外,61板具有SOC概念、DSP功能和语音特色,为电子密码锁的语音报警提供了方便,但是基于单片机设计的密码锁外围电路比较复杂,系统可靠性差,密码的数量少,尤其是系统的程序不够稳定,功率较大,需要专门的电源供电,所以不采用这个方案。
方案二:设计一种基于FPGA的电子密码锁的设计,用FPGA设计的系统已经是现代生活中经常用到的工具之一,通过键盘输入密码,用FPGA作为主控芯片,用数码管显示输入的数字,如果出现错误便通过报警电路发出报警,主控芯片又可分为按键处理部分、控制部分和译码显示部分用电子密码锁代替传统的机械式密码锁。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展.而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。
方案的论证比较
在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差,而基于FPGA设计的电子密码锁克服了基于单片机设计密码锁的缺点。基于上述比较以上两种方案,根据系统设计要求,采用方案二。
2.1.3系统方案的总体设计
系统原理框图
本系统由主控芯片(FPGA)、键盘、显示电路、报警电路和开/关门电路组成,而主控芯片又可分为按键处理部分、控制部分和译码显示部分。系统原理框图如图2.1.3所示:
图2。1。3 系统总体框架
总体设计原理
实现系统大量逻辑电路的集成,在设计中使用了现场可编程逻辑门阵列器件(FPGA)。FPGA主要实现以下逻辑功能:键盘处理、数码显示、设置密码、解码开门以及报警等控制功能。本系统有13个按键,包括0~9共10个数字键和1个确认键,1个警报复位键,1个清0键。输入正确密码后,按确认键即可开门,在门开的状态下,第一次输入新密码后再确认密码可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为1~8位.初始密码为0,即上电后,按确认键即可开门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键方可停止。
2.2 主控模块
2.2.1 主控芯片EP1K10TC100—3的介绍
主控芯片采用ACEX1K 系列的EP1K10TC100-3。ACEX 系列是当今Altera CPLD 中应 用前景最好的器件系列之一[1,2],该系列的FPGA 由逻辑阵列块LAB(Logic array block)、 嵌入式阵列块EAB(embedded array block)、快速互联以及IO 单元构成,每个逻辑阵列块 包含8 个逻辑单元LE(logic element)和一个局部互联。每个逻辑单元则由一个4 输入查找 表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB 和多个EAB 则可通过快速通道互相连接[3]。EAB 是ACEX 系列器件在结构设计上的一个重要部件,他是输入 端口和输出端口都带有触发器的一种灵活的RAM 块,其主要功能是实现一些规模不太大的 FIFO、ROM、RAM 和双端口RAM 等.
2。3 键盘模块
按键方式分为独立式和行列式两种,本设计采用行列式按键结构,是4×4键盘,本设计中只用了其中的11个按键。行列式按键是指直接用I/O口线通过动态扫描构成的按键电路。每个按键通过动态扫描需要八根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态.它的电路配置灵活,软件结构简单,占用的I/O资源少。
首先固定输出4行为高电平(接到电源),然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。
按键控制电路如图2.3所示:
图2。3 4*4矩阵键盘
2.4 显示模块
LED显示块是由发光二极管显示字段的显示器件.在单片机应用系统中通常使用的是7段LED,本设计将采用共阳极。共阳极LED显示块的发光二极管与阳极并接。
数码管显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,1个发光二极管构成小数点.7段显示块与FPGA接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,如表5。1所示.通常将控制发光二极管的8位字节数据称为段选码.共阳极与共阴极的段选码互为补数。
显示字符
共阴极段选码
共阳极段选码
显示字符
共阴极段选码
共阳极段选码
0
3FH
C0H
C
39H
C6H
1
06H
F9H
D
5EH
A1H
2
5BH
A4H
E
79H
86H
3
4FH
B0H
B
7CH
83H
4
66H
99H
F
71H
8EH
5
6DH
92H
P
73H
8CH
6
7DH
82H
U
3EH
C1H
7
07H
F8H
L
31H
CEH
8
7FH
80H
Y
6EH
91H
9
6FH
90H
┊
┊
┊
A
77H
88H
表2。4 LED显示块功能表
2.5 报警模块
驱动端为高电平则报警电路启动。
三、系统软件设计
3。1系统主控制流程框图
当用户输入密码后,按确认键即可开门,在门开的状态下,输入新密码,再按确认键可设置密码,输入的密码在八位数码管上显示,最后输入的数字显示在最右边,每输入一位数字,密码在数码管上的显示左移一位。高位的零不用输入,因此密码可以为1~8位。初始密码为0,即上电后,按确认键即可开门。 本系统控制流程如图3.1所示
图3.1 系统控制图
否
否
否
否
否
是
是
是
是
是
否
报警
开门
存入新密码,清除显示
输入一位密码
清除显示,关门
开始
次数加一
密码不
展开阅读全文