《四位数字密码锁设计》由会员分享,可在线阅读,更多相关《四位数字密码锁设计(21页珍藏版)》请在金锄头文库上搜索。
1、目 录 第1章 基于EasyFPGA030的四位数字密码锁设计. 1 1.1 功能介绍 .1 1.1.1 系统设计原理 .1 1.1.2 系统流程图 .1 1.2 器件介绍 .2 1.2.1 贴片发光二极管简介 .2 1.2.2 数码管简介 .2 1.2.3 A3P030 简介 .3 1.3 电路制作及焊接 .4 1.3.1 元器件选择 .4 1.3.2 焊接 .4 1.4 程序设计原理 .5 1.4.1 八段数码管动态显示驱动 .5 1.4.2 程序实现 .5 1.5 心得体会 . 11 第1章 基于EasyFPGA030的四位数字密码锁设计 1.1 功能介绍 1.1.1 系统设计原理 本实
2、验是基于EasyFPGA030的四位数字密码锁设计。本实例中采用Actel FPGA A3P030开发板的晶振频率进行四位密码输入信号采集。根据密码输入信号控制I/0口的输出,第一个按键控制数字的递加,第二个按键控制数字位数的移动及调用密码判断程序。当确认后如果显示数据与预置密码相同,则LED亮;如不相等,则无反应。按下复位键,计数等均复位。电路如图1.1所示。 图1.1 电路图 1.1.2 系统流程图 系统流程如图 1.2所示,通过判断按键确定输入密码,并与预置密码比较,相同,则LED亮;如不相等,则无反应。按下复位键,计数等均复位。 键盘扫描 LED显示 比较判 断密码 开始 初始化 不开
3、锁 灯灭 正确 错误 复位 复位 开锁 灯亮 图 1.2 系统流程图 1.2 器件介绍 1.2.1 贴片发光二极管简介 和电阻电容等元件一样,发光二极管为了电路的集成性,也有贴片式的发光二极管。它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。
4、常用的是发红光、绿光或黄光的二极管。 发光二极管的分类:按其使用材料可分为磷化镓(GaP)发光二极管、磷砷化镓(GaAsP)发光二极管、砷化镓(GaAs)发光二极管、磷铟砷化镓(GaAsInP)发光二极管和砷铝化镓(GaAlAs)发光二极管等多种。 按其封装结构及封装形式除可分为金属封装、陶瓷封装、塑料封装、树脂封装和无引线表面封装外,还可分为加色散射封装(D)、无色散射封装(W)、有色透明封装(C)和无色透明封装(T)。 塑封发光二极管按管体颜色又分为红色、琥珀色、黄色、橙色、浅蓝色、绿色、黑色、白色、透明无色等多种。而圆形发光二极管的外径从¢2¢20mm,分为多种规格。
5、 按发光二极管的发光颜色又可分为有色光和红外光。有色光又分为红色光、黄色光、橙色光、绿色光等。 另外,发光二极管还可分为普通单色发光二极管、高亮度发光二极管、超高亮度发光二极管、变色发光二极管、闪烁发光二极管、电压控制型发光二极管、红外发光二极管和负阻发光二极管等。 此次设计用到的贴片式发光二极管为FPG实验板上的发光二极管。 贴片式发光二极管的外形如图1.3所示。 图1.3贴片式发光二极管 1.2.2 数码管简介 数码管是一种半导体发光器件,其基本单元是发光二极管(参照图 1.4)。 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能
6、显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 本次设计应用到的数码管为单片机实验板上的数码管
7、。 图 1.4八段数码管 1.2.3 A3P030 简介 A3P030是ProASIC3 家族中的一员,传承ProASIC3系列的优势特点:单芯片和低功耗的解决方案、上电即行、高度的安全性和可靠性它的特征与优势有: . 基于非易失性Flash技术,单芯片解决方案,上电即行; . 高度的安全性,保护知识产权; . 高度的可靠性,固件错误免疫; . 采用精细颗粒架构VersaTile,资源利用率高; . 具有30K系统门规模,一定的应用领域; . 提供1kbit的片内可编程非易失性FlashROM,信息存储; . 灵活高效的全局时钟网络,提高设计性能; . 在封装上,A3P030有132-QFN和
8、100-VQFP两种; . 支持最大81个用户I/O,热插拔和冷备份。 本实验基于EasyFPGA030开发板进行设计,其中EasyFPGA030开发板如图 1.5所示,主芯片采用Actel的A3P030,封装为VG100。板上的外设包括四个按键、四个LED、48MHz的晶振等,同时板上还有并行的下载接口,通过下载线,直接与PC机并口相连,并通过上位机软件Libero即可下载。另外为了开发板能做二次开发,将可用的I/O全部引出,对于板上没有的外设可通过这些I/O进行扩展。 030.jpg图 1.5 A3P030开发板 1.3 电路制作及焊接 1.3.1 元器件选择 器件选择如表1. 1所示。
9、表1. 1 器件选择 器件名称 参数 数量 LED 红色 一只 数码管 八段 四只 连接线 若干 排针 若干 1.3.2 焊接 按照原理图合理安排走线,避免了在走线中使用交叉线的麻烦,整个板子焊接完成没有使用一根跳线,并采用“拖锡”的方式连线,简单美观,如图 1.6所示。焊接正面如图 1.7所示。 图 1.6 焊接背面图 图 1.7 焊接正面图 整体效果如图 1.8所示。 图 1.8 整体效果图 1.4 程序设计原理 1.4.1 八段数码管动态显示驱动 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
10、静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制