《基于单片机的电子密码锁的设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁的设计毕业设计论文.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业设计(论文)题 目 基于单片机的电子密码锁的设计 姓 名 汪超博 专 业 电子科学与技术 学 号 201131047 指导教师 周鹏(教授) 郑州科技学院电气工程学院 二一五年五月摘 要IAbstractII1 绪 论11.1 课题背景11.2 课题的目的和意义以及设计特点12 核心芯片及元件介绍32.1 AT89S51介绍32.1.2 AT89S51主要特性32.1.1 AT89S51芯片的引脚42.2 储存芯片AT24C0262.3 LCD16022显示器62.4 晶体振荡器73.2 电路总体构成93.3 电源输入电路103.4 键盘输入电路103.5 密码存储电路113.6 复位
2、电路113.7 晶振电路123.8 显示电路133.9 报警电路133.10 开锁电路144 软件程序设计144.1 主程序流程图144.2 按键软件设计154.3 密码设置软件设计164.4 开锁软件设计175 调试与实现185.1 硬件与调试185.2 软件调试195.3 Proteus仿真19结论20致谢22参考文献23附录24基于单片机的电子密码锁的设计基于单片机的电子密码锁的设计 摘 要科学技术在不断的发展,带动了人们的生活各方面的逐渐进步,人们对保护家庭财产安全的意识也随之增加。然而以前人们家中普遍使用的是比较落后的机械锁,这就导致很多被偷窃事故的发生。所以开发出安全性能更好,保密
3、性能更高,操作相对简单的锁具成为一大课题,最终电子密码锁横空出世,并且得到普遍的认可。本设计是将单片机AT89S51作为核心部件,单片机的外围接入密码锁的检测、监控和执行的各种程序,最终可以达到输入密码,检测正确与否,执行开关,错误时报警等诸多功效。本设计具有以下三方面的创意点,第一:利用51单片机之间串行通信的这一特点进行设计,可以使该产品的密码内容更具有随机性,保护起来能好,并且因为使用键盘键入的方式优势更加明显。第二:本设计的编码方式是用二次编码,调制方式是用二次调制,这些方式不仅可以在许多条线路上进行控制信息,并且提高信号在传输过程中的抗干扰性能,更加减少错误的动作,而且功率的消耗更低
4、;反应的速度更快速、传输的效率更高、工作的稳定性更可靠等。第三:软件设计思路是利用从上到下的分层模块法,最终可以实现系统的扩展性能更高,运行稳定性更强,体积更加缩小的目的。关键词:AT89S51单片机;LED;电子锁;自动报警IBased on single chip microcomputer electronic combination lock design AbstractThe development of science and technology constantly, led the life of people all aspects of the gradual prog
5、ress, people to protect the family property safety consciousness also will increase. Ago, people commonly used in the home is, however, the relatively backward mechanical lock, and this leads to a lot of stolen accident. So developed better safety performance, higher security performance, relatively
6、 simple operation locks become a big issue, the final consumer electronic combination lock, and universally recognized. This design is the single chip microcomputer AT89S51 as core parts, MCU peripheral combination lock access to the detection, monitoring, and perform a variety of procedures, can ac
7、hieve input password, eventually detect correctly or not, switches, error alarm, and many other effects. The creative point of this design has the following three aspects, first, by using the characteristic of serial communication between 51 single-chip microcomputer to carry on the design, can make
8、 the products password content has more randomness, can well protected, and because of the way using the keyboard type advantages more apparent. Second: the design of coding method is to use the secondary coding, modulation method is to use a second modulation, not only can these ways on many routes
9、 to control information, and improve the anti-jamming performance, the signals in the transmission process more reduce the wrong action, and lower power consumption; Reaction speed IIis more rapid and transmission work more efficient and more reliable stability, etc. Third: the software design idea
10、is using the method of layered modules from top to bottom, can finally realize the expansion of the system performance is higher, running stability is stronger, more smaller.Keywords: AT89S51 MCU; LED display; trick lock; the automatic alarmIII1 绪 论1.1 课题背景在日常的生活和工作中,住宅与部门的安全问题、公司的重要文件、账簿报表以及公司员工资料的
11、安全问题多用加密码锁的方式去解决。如果用传统的金属弹簧锁,人们经常需要多把钥匙,一点也不方便,而且钥匙一旦丢失会带来很多困扰。当前科学技术飞速发展,日常生活中人们对于安全的防护要求日趋严厉,为了符合当下的需求增强锁的安全度,不需要钥匙的电子锁出现了。密码锁具有安全性高、成本低、功耗低、易操作等优点。根据本设计要求,密码输入控制电路或芯片的工作,以便控制所述机械开关被关闭时,完全锁定,锁定和其他任务。它的产品多种多样,有一个简易的电路产品,而且还有比较便宜的以芯片为基础的产品。当前用变成实现,以芯片做为核心的数码锁被广泛应用。其性能和安全性已大大超过了机械锁。其主要优点有:(1) 保密性好,编码
12、量多,远比传统金属弹簧锁强。不容易被轻易开锁。(2) 密码可变。用户可以固定时间变换密码,避免密码被他人盗取,而且也会避免人员的替换造成被盗的风险。(3) 自动保护功能。当输入密码错误时,系统会报警。(4) 操作简单,一学就会。1.2 课题的目的和意义以及设计特点随着现在快速发展的科学技术,单片机的性能不断被提高,产品性价比提高,相关技术不断提升趋于完成。单片机对国家和人民生活帮助、军事设备和民用生活电器等各个方面起到了非常大的作用。本设计采用的收集数据和算法控制是通过单片机和其他设备来实现的,用于某个功能的实现,还可以测试提高学生对整体电路设计和把握能力,知道单片机的系统的设计过程,还有针对
13、实际制作和手动调试电路板的能力。同时加强数字电路的现实使用,也奠定了理论和实践依据同类产品的进一步发展。上世纪80年代以来,作为电子锁和电子锁的ASIC容积减少,改进的可靠性和成本高的到来,适于使用安全性要求高的场合,以及需要提供能源的使用也是在一定范围内有限的功率,也难以扩散,所以也没有显著研究。现在西方国家生产密码锁的技术比较成熟,而且种类繁多,在防盗安全系统发面应用广泛,社会中的各种门运用了更安全靠谱的技术。中国的电子锁的总体水平仍然在国际上是50年前左右,电子锁的价格还是很高的,电子锁的主要市场仍是关键,按键式和卡片钥匙锁已引进了国际先进水平,只有国内几家工厂供应市场。但国内自行开发的
14、电子锁,其市场格局尚未形成,应用并不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。未来通过人们的不懈努力,能让电子锁在我们的国家可以广泛应用。2 核心芯片及元件介绍2.1 AT89S51介绍图2.2 AT89S51引脚图AT89S51是一个低功耗,高性能CMOS八位单片机,单片机内部含有4k字节的可以反复擦写1000次的Flash只读程序存储器,器件是通过高密度,非易失性存储技术制造的,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。AT89S51引脚如图2.2
15、。2.1.2 AT89S51主要特性1. 与MCS-51 兼容2. 4K字节可编程闪烁存储器寿命:3. 寿命:1000写/擦循环4. 数据保留时间:10年5. 全静态工作:0Hz-24MHz6. 三级程序存储器锁定7. 1288位内部RAM8. 32可编程I/O线9. 两个16位定时器/计数器10. 5个中断源11. 可编程串行通道12. 低功耗的闲置和掉电模式13. 片内振荡器和时钟电路2.1.1 AT89S51芯片的引脚VCC:供电电压,其工作电压为5V。GND:接地。XTAL1:通过一个引脚外部晶振。在内部,它是放大器,放大器片上振荡器的反相输入端。当使用外部振荡器HMOS单片机,该引脚
16、应接地;对于SHMOS微控制器,该引脚用作驱动端。XTAL2:连接外部晶体的另一端。RST/VPD:当振荡器运行时,该引脚上出现两个机器周期的高电平将使单片机复位。ALE/PROG:即使没有访问外部存储器,ALE端仍然是相同的频率发生周期性的正脉冲信号,1/6的振荡频率的频率。但是,请注意,每当访问外部数据存储器,一个ALE脉冲被跳过。EPROM在编程的时候,对于如8751的微控制器,这个引脚主要用来编程脉冲的输入。PSEN:该引脚的输出是外部程序存储器读选通信号。在取指令(或常量)从外部程序存储器在每个机器周期两次PSEN有效。PSEN也可驱动(吸收或输出)8 LS型TTL输入。EA/VPP
17、:为常用8031,没有内部程序存储器,那么EA脚必须始终接地只选择外部程序存储器。P0口:是一个双向八三态I/ O端口,外部存储器,地址总线和数据总线低8复用,能够吸收电流驱动器8的LS TTL负载的类型。P1口:是一个准双向8位I/O口。因为此接口的输出不是高阻抗状态,输入不能锁存,它不是真正的双向I/ O端口。P1口可驱动(吸收或输出电流)4个LS型的TTL负载。当EPROM编程和程序验证时,它接收低8位地址。P2口:是一个准双向8位I/O口。在对EPROM编程和程序验证时,它接收高8位地址。P2可驱动(吸收或输出电流)4个LS型的TTL负载。作为第一个特征,使用时,将作为通用I/ O口使
18、用,功能和操作使用相同的P1口。作为第二功能使用每个引脚的定义示于表2.1每个端口可以独立地为P3被定义为第一或第二功能的输入和输出的功能。表2.1 P3口管脚备选功能P3.0RXD(串性输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(计时器0外部输入)P3.5T1(计时器1外部输入)P3.6/WR(外部数据储存器写选通)P3.7/RD(外部数据储存器读选通)2.2 储存芯片AT24C02如图2.2 位AT24C02的芯片引脚图。图2.2 AT24C02的芯片引脚图特点:低压和标准电压运行模式 2.7 (VCC = 2.7V t
19、o 5.5V) 1.8 (VCC = 1.8V to 5.5V)设备操作:CLOCK和DATA变化:SDA管脚通常外部要拉高。SDA管脚上的数据只能在SCL低期间改变。数据在SCL高期间改变定义为一个开始或停止信号。开始状态:之前的任何操作都必须有一个启动信号产生于SDA的下降沿- SCL为高。0停止状态:SDA产生是停止信号的上升沿,当SCL是高状态的时候,所有通信会在这个信号以后停止。在一个读的序列之后,停止信号将让EEPROM进入备用电源模式。2.3 LCD16022显示器LCD液晶显示模块是一个通用装置的许多电子产品,在计算器,万用表,电子表格,和许多家用电子产品可以在主显示数字,特殊
20、字符和图形中可以看出。具有体积小,功耗低1602型液晶显示模块,显示内容丰富等特点。接口信号说明:1602型LCD的接口信号说明如表2.3所示。表2.3 LCD1602接口信号说明编号符号引脚说明编号符号引脚说明1GND电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602型LCD的技术参数:容量:162字符;芯片工作电压:4.55.5V;工作电流:2.0mA(5.0V);模块最好的电压:5.0V;字符:2.954.35(
21、WH)mm。1602型LCD基本操作程序如下表所示:表2.3 LCD1602基本操作程序读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=状态字写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无2.4 晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。如果
22、需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是现在的娱乐级声卡为了降低成本,通常都采用SCR将输出的采样频率固定在48kHz,但是SRC会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。现在应用最广泛的是石英晶体振荡器。石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。用于产生一个时钟信号和一个特定的系统中提供一个基准信号的数据处理设备。在单片机中为其提供时钟频率。石
23、英晶体振荡器是由压电效应的石英晶体谐振器装置(结晶二氧化硅),其结构基本上:从石英晶体按照一定角度切片(叫做晶片,有正方形、矩形或圆形等),其中,所述银层的两个相应表面涂覆作为在每个焊接在连接到管脚引线的一个电极的电极,与所述封装外壳一起构成了一个石英晶体谐振器中,称为石英晶体或晶体振荡器。其产品一般包装用金属外壳,也有用玻璃壳,陶瓷或塑料封装。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。3 总体方案设计该设计的组件主要有矩阵键盘、液晶显示器、单片机和密码存储。
24、键盘主要在于数字密码的输入和实现其他功能。通过连接到单片机的键盘输入用户的密码,输入的用户密码与存储的密码经过单片机对比,然后判断是否密码正确,接着传到警报或是开锁电路控制开锁还是报警,实际应用时只要吧单片机的负载继电器换成电子锁的电磁铁线圈就可以了,也能用继电器的触点来控制电磁铁线圈的吸合。该系统由两个部分组成,软件和硬件部分。软件部分是由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成,硬件部分是由电源、键盘、密码存储器、复位电路、晶振电路、液晶显示模块、报警电路、开锁电路构成。电源输入电路晶振电路复位电路
25、键盘接口电路报警电路开锁电路AT89S51图3.1 系统总体框图3.2 电路总体构成知道用什么型号的单片机后,就应该确定外围电路,外围电路包括电源输入、键盘、密码存储器、复位电路、晶振电路、液晶显示模块、报警电路、开锁电路组成,根据实际情况键盘选择4*4矩阵键盘,液晶显示选择字符型LCD1602,用AT24C02来作为密码存储芯片完成。其原理图如图3.2所示:图3.2 电路总体结构图3.3 电源输入电路密码锁主要控制部分电源需要用5V直流电源供电,其电路如图3-3所示,而5V电源输入时往往伴有杂波,所以加一个2.2uF的电容滤波。这样输出的电压一般能满足要求。图3.3 电源输入电路原理图3.4
26、 键盘输入电路独立按键式键盘由于按键数量较多不适合本设计。所以用矩阵键盘,也成为列式键盘有行线和列线构成,和独立式按键键盘比较,按键位于行列的交叉位上,密码锁的密码由键盘输入完成,要节省很多I/O口。使用的这个44键盘除了能正常的输入密码还可以当做特别功能键使用,例如显示清空等等。每个按键的功能都可以在程序中设定 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-4所示图3.4 键盘输入原理图3.5 密码存储电路ATMEL公司的2KB字节的电可擦除存储芯片AT24C02,使用两线串行的总线与单片机通信,2.5V的最低电压,1mA的额定电流,10uA (5.5V)的静态电流,内部数据的
27、芯片,断电情况下和8引脚DIP封装存储超过40年,使用方便。其电路如图3.5所示。图3.5 密码存储电路原理图图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在AT89S51上它们都能接地,第5脚和第8脚分别为正、负电源。AT24C02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取3.6 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复
28、位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图2-8所示的复位电路。电路中的最简单的复位电路增加了一个手动复位按钮,电源在瞬间,对电容器C1的电压为小,在下拉电阻接近供电电压,也就是复位电压,RST为高,则的端电压在充电期间电容器的RST逐渐下降,当电压低于一定值的RST端子,从复位状态的CPU,因为电容器C1足够大,以确保RST活性高振荡周期时间大于24,CPU可以可靠复位。增加手动复位按钮不能可靠重置,以避免崩溃。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST
29、端的电位由R11与R15分压比决定。由于R11R15 因此RST为高电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态。R11的作用在于限制按键按下瞬间电容C1的放电电流,避免产生火花,以保护按键触电。图3.6 复位电路原理图3.7 晶振电路AT89S51引脚XTAL1和XTAL2晶体振荡器和电容器C2,C1连接在如图3-7所示的方式。晶体,电容器C2 / C3和片上非门(作为一个反馈放大器元件)构成电容三点式振荡器,该信号的振荡频率和振荡器频率和电容器C1,有关容量C2,但是主要在0确定由晶体频率范围33MHz的,电容器C2,C3在530pF的之间的范围内。
30、根据实际情况,外部晶振系统采用这种设计的12MHZ。 20pF的电容值。图3.7 晶振电路原理图3.8 显示电路为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少都会显示*。当输入的密码,按回车键,如果你输入的密码正确,LCD子显示“打开”,这将输出低电平,晶体管T2导通时,电磁拉力,电子密码SC
31、M P2.0导角锁被打开,如果密码不正确,液晶显示屏会显示“ERROR”,P2.0输出为高电平,电子锁无法打开。通过液晶显示屏,可以清楚地确定锁的状态。其显示部分引脚接口如图3-8所示:图3.8 显示电路原理图3.9 报警电路报警部分由蜂鸣器及外围电路组成加电后不发声,当一个键被按下时,“叮”的一声,每一次点击,声音一次,当密码是正确的,不健全的直接解锁,当密码输入错误,单片机P2.1引脚为低电平时,晶体管T3导游喇叭发出的噪音声光报警。如图3-9所示:图3.9 报警电路原理图3.10 开锁电路当用户输入正确的密码,单片机将输出信号开门,传到驱动电路,然后驱动电磁锁,成功的开门。其实际电路如图
32、3.11所示。 电路通过驱动程序和解锁两个组成部分。由D1,R12,Q1的驱动电路,其可以被选择Q1普通的小功率晶体管作为8050,9018组成都能够满足要求。 D1解锁指标;通过D2,C5组成解锁。其中,D2,C5是能够消除电磁锁反向高压和电磁干扰,可能会发生。电磁锁的选择取决于不同的情况,但抽吸力是足够的,并有一定的余量。在设计中,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。图3.11 开锁电路原理图4 软件程序设计本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。4.1 主程序流程图如图
33、4-1 为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,密码正确,开锁成功,密码错误3次出错报警,选择是否修改密码,若要修改密码,先输入原来的密码,密码正确后设置新密码,错误时报警,需要两次确认新密码,确认后,密码修改成功,否则结束最终返回。然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如果和之前一样,则执行相同程序,如不是,则执行另一种程序。开始设置密码初始化输入密码报警程序报警次数加1密码正确?开锁?报警程序开锁程序继电器打开报警修改密码程序返回修改密码?NYNYNY图4.1 主程序流程图4.2 按键软件设计如图4.2按键功能流程图
34、,在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。图4.2 按键功能流程图4.3 密码设置软件设计如图4-3为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计三次,进行报警程序。如果输入正确,可以修改密码,确认后再次输入新密码,如果两次输入一样,则输入成功。如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。图4.3 密码设置流程图4.4 开锁软件设计如图4-4开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错
35、误累计达到三次,则执行报警程序图4.4 开锁流程图5 调试与实现5.1 硬件与调试单片机应用系统的硬件调试和软件调试是分不开的许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中明显的硬件故障然后在和软件同步调试。常见的硬件故障:(1)逻辑错误硬件逻辑错误是由于焊接过程中,设计错误和工艺错误造成的,包括错线、开路、短路等,其中最常见的是短路故障。(2)组件错误其原因有损坏或不符合要求的,电解电容器器件的差错性能的部件,二极管反向极性或歧管安装向后等。(3)可靠性差究其原因有很多可靠性差的应用,如内部和外部的干扰,电压纹波系数过大,设备会导致较差等过载系统的可靠性。此外,定位和布局会导
36、致不合理的差了系统的可靠性。(4)电源故障电源故障包括:电压值不符合设计要求、电力供应不足、承载能力差、很重的波纹等。硬件调试方法离线调试电源之前,先用万用表等工具,根据图纸仔细检查是否正确的路线,并对元器件的安装、型号、规格等进行仔细检查,特别焊接时有无走线之间相互短路等。5.2 软件调试程序在KEIL C51上调试,采用模块程序设计技术,则逐个模块调好后在调度系统程序。对于该方案的模块结构。分别调试子程序。调试时,必须符合入学条件和退出条件,可单步调试和断点操作模式,由系统使用的CPU检查情况看,RAM的内容和I / O端口的状态,合规性的结果测试程序设计的要求,无论是在回路误差,无论是机
37、器代码错误和错误的分支地址,同时,也可以发现存在于系统的硬件和软件设计错误算术误差。每个程序模块后,可以放在一起相应的功能模块总是调。如果故障在这个阶段,我们可以考虑是否要摧毁每个子程序运行到现场,缓冲单元,工作寄存器冲突已经发生,建立和清除标志是错误的,如果有一个溢出堆栈区,无论是输入设备,如正常等的情况下,如果系统是由那些在发展机监控程序运行,但也考虑用户是否缓冲单元和监控的工作冲突程序单元。单步和断点调试后,调试应该连续地进行,以确定定时精度、CPU的实时响应等问题。 当全部调试和修改完成后,将程序固化到AT89S51中。进行整机调试。各功能实现则调试完成。5.3 Proteus仿真在硬
38、件和软件都能实现的条件下,利用Proteus进行仿真,通过不停的调试与改正,最后终于实现了密码锁的功能,Proteus仿真结果如图5.3所示。当连好各个模块电路的导线后,导入芯片程序,运行该密码锁仿真电路,通过按键可以进行密码锁的开锁,修改密码,错误密码3次以上报警的操作,LCD显示屏显示相应的操作现象,密码正确可以开锁,进而可以修改密码,密码错误三次以上由喇叭发出报警声,如果系统出现错误还可以通过复位电路进行复位。总之,在原有的理论基础上,通过Proteus能够成功的进行密码锁基本操作的仿真,实现了相关的功能。图5.3 电子锁仿真图结论以上是本人在即将结业时间内写的毕业论文,在老师的指导下不
39、断修改和完善,最后满足了本设计的要求。输入密码时,如三次输入错误,则进行报警。本设计还具有防盗功能,如对密码控制系统进行破坏,有报警功能。通过对该课题的研究,加深对所学知识的理解,提高对课外知识的学习能力,增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。本次设计中我必须了解并掌握单片机的相关知识。以单片机核心的电路设计的基本方法和技术了解表关电路参数的计算方法。单片机不单单是实现一个芯片的功能就够了,而是将现在的微机系统集成在芯片上。概括的讲:一块芯片就成了一台计算机。目前单片机渗透了我们的生活,这几乎是很难的各个领域,以发现不单芯片步道地区。致谢。参考文献1 童诗白,华成英.
40、模拟电子技术基础第四版. 高等教育出版社,20002 阎 石. 数字电子技术基础第五版.高等教育出版社.1998.113 张毅刚. 单片机原理及应用. 高等教育出版社.20034 楼苗然,李光飞. 单片机课程设计指导. 北京航空航天大学出版社20075 蔡朝洋. 单片机控制实习与专题制作. 北京航空航天大学出版社20066 陈连坤. 单片机原理及接口技术. 北京交通大学出版社20107 李学海. 标准8051单片机基础教程. 北京航空航天大学出版,20068 何立民. 单片机高级教程. 北京航空航天大学出版社, 20069 周立功. 单片机实验与实践教程. 北京航空航天大学出版社, 20061
41、0 江志红. 51单片机技术与应用系统开发. 清华大学出版社, 200811 祖龙起. 一种新型可编程密码锁. 大连轻工业学院学报,2002,(01)12 李明喜. 新型电子密码锁的设计. 机电产品开发与创新,2004,(03)13 王宽仁. 可靠安全的智能密码锁.电子技术应用.2001年第2期14 董继成. 一种新型安全的单片机密码锁. 电子技术,2004,(03)15 任艳艳. 基于AT89C51单片机多功能密码锁的研究. 重庆职业技术学院学报.2008.5 附录#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围025
42、5#define uint unsigned int /无符号整型 宏定义变量范围065535#include lcd1602.h#include iic.huchar value,i;/变量uchar flag_lj_en; /边加uchar flag_lj_en_value;sbit relay = P23; /继电器定义sbit beep = P22; /蜂鸣器定义uchar smg_i;uchar dis_smg6;uchar password6=6,5,4,3,2,1; /密码保存uchar password_bj6=1,2,3,4,5,6;/密码比较uchar code passw
43、ord_r6 = 6,5,4,3,2,1 ;uchar password_xg6;/密码修改uchar flag_password; /密码正确否uchar flag_password_cichu1;/密码错误次数uchar flag_password_cichu2;/密码错误次数bit flag_500ms; /500ms标志位bit flag_200ms=1; /200ms标志位bit flag_beep_en; /蜂鸣器标志位 bit flag_relay_en; /继电器标志位 #define key_io P0uchar key_can;#include iic.h/*1ms延时函数
44、*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j= 5) /按键松开松手检测key_value = 0;key_new = 1;/按键松开后进入等待按键状态key_can = 30;flag_lj_en = 0;else if(key_io != 0x0f) /按键按下key_value +;else key_value =0;if(key_value = 5) /按键按下消抖key_value = 0;key_new = 0; /按键松开后进入等待松开按键状态 key_can = 20;if(key_new = 0) & (key_old = 1)key_l = (key_io | 0xf0); /矩阵键盘扫描key_io = key_l;switch(key_io)case 0xee: key_can = 10; break; /得到按键值 case 0xde: key_can = 0;