(2)蜂鸣器的简单介绍论文网
蜂鸣器是一体化结构。在生活中,普遍被人们所使用的是压电式和电磁式两种不同类型的蜂鸣器。
图5-12 8550三极管的蜂鸣器电路
5。5 密码锁控制模块
本模块是利用FPGA有限状态机来实现的相关功能。设计有限状态机最开始的工作是首先要确定电路状态。下图5-13为其状态流程图。
图5-13 状态流程图
FPGA有限状态机:
本文设计的一共有六个状态:准备、密码输入、密码设置、确认、开锁和报警状态。
(1)准备状态:上电或者复位以后呈现的状态。这个时候FPGA只会接收IIC总线上传来的密码按键数据,进行对比操作。
(2)密码输入状态:假如进行数据输入并在该状态下保持不变,键入“确定键”呈现“RightOpen”字样。在此过程之间,控制器从RAM中读取密码进行比对,与此同时比较器比较输入的位数。
(3)密码设置状态:也就是作为密码的重置状态,这种状态必须经过原始密码的确认后再通过“设置新密码”键进入。假使输入密码数据,经过比较器比较之后芯片确认表示已经接收到正确的密码。随之进入确认状态,不然持续维持现状,等候用户键入的新的密码。
(4)确认状态:输入密码正确后进入该状态。
(5)开锁状态:确认状态之后的一种状态。键入准确的密码按“确定”键,进入开锁状态同时返回到准备状态。
(6)报警状态:(1)当键入密码之后与RAM中的保存的密码进行比较,假如密码输入错误,随之进入报警状态。(2)在密码输入状态之下,假使数据超过设定的位数,持续输入,同时比较器进行的位数比较出来,其密码超过6位数,则进入报警状态。
6 系统软件设计
由于FPGA是可编程逻辑器件,采用Verilog硬件描述语言对FPGA进行程序的编写。主程序主要由矩阵键盘程序、1602液晶屏程序及AT24C02程序组成。
6。1 主程序流程图
图6-1 主程序设计框图
上图为主程序流程图。开始先初始化,然后屏幕显示Input Password先扫描按键,确认是否可以按键按出密码。如果想要设置新密码,在按下正确的初始密码后,可以按设置新密码键进行密码重置。如果直接按下初始密码后,则可以成功开锁。
6。2 各模块程序设计
6。2。1 密码读取/存储的设计
图6-2 AT24C02子程序流程图文献综述
展示了AT24C02的一个工作流程:首先是对AT24C02进行初始化,方便密码的输入,当输入的密码正确,就会解锁,显示屏显示right open,否则蜂鸣器报警,按复位键并重新输入密码。
I2C总线是一种非常常用的串行总线,它操作简便,占用接口少。本程序介绍操作一个I2C总线接口的EEPROM AT24C02的方法,I2C总线协议和读写方法。
实验过程是:按动开发板键盘某个键CPLD将拨码开关的数据写入EEPROM的某个地址,按动另外一个键,将刚写入的数据读回CPLD,并在数码管上显示(sw0为写入,sw1为读出)。
图6-3 IIC读取/存储密码
6。2。2 显示屏字符显示的设计
图6-4 1602子程序流程图
1602显示器的工作流程图展示了1602的工作流程:启动时,首先对1602进行初始化,然后检测有没有数据写入,当有数据写入时,1602便读出数据并显示,没有数据写入时,1602就一直处于等待中,直至有数据写入。
本程序在LCD显示屏上显示2行字符,设置使能信号、读写选择位、复位信号,通过数据总线写入LCD的两行字符。