多功能密码锁课程设计Word文件下载.docx

上传人:b****2 文档编号:5831383 上传时间:2023-05-05 格式:DOCX 页数:20 大小:172.20KB
下载 相关 举报
多功能密码锁课程设计Word文件下载.docx_第1页
第1页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第2页
第2页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第3页
第3页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第4页
第4页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第5页
第5页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第6页
第6页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第7页
第7页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第8页
第8页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第9页
第9页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第10页
第10页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第11页
第11页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第12页
第12页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第13页
第13页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第14页
第14页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第15页
第15页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第16页
第16页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第17页
第17页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第18页
第18页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第19页
第19页 / 共20页
多功能密码锁课程设计Word文件下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

多功能密码锁课程设计Word文件下载.docx

《多功能密码锁课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《多功能密码锁课程设计Word文件下载.docx(20页珍藏版)》请在冰点文库上搜索。

多功能密码锁课程设计Word文件下载.docx

therelatedalarmfunctionneedstooutputequipmentanditsinterfacecircuit.

Iusethe8255ABasthedisplayoutput,Cforselectedtubeandabuzzer,lockandalarmlevel.Forthe6timepasswordinputerrors,startingwitha8253counter,andthenfoundcanbedirectlycontrolledbythesoftware,simplecircuit,theprogramisveryeasytorealize.Withbuzzersoundfrequencytodistinguishandconfirmthewarningsound,asoundthatconfirm,threesoundwarning.ThekeysonthekeyboardtouseSW-PBinall12,forthenumberkeys0-9,connecttothe8255AAportcorrespondingbinarynumber,andaconfirmationkeyandpasswordmodifykey,presstheAportreceivesalowlevelsignal.

Keywords:

Passwordlock,buzzer,microcomputerprinciple,interfacetechnology,

2.3设计任务‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8

2.4方案选择及原理‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8

3.1所用到的相关芯片元件及其介绍‥‥‥‥‥‥‥‥‥‥‥‥‥‥9

3.1.1所用器件‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥9

3.1.2主要元件及芯片介绍‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥9

3.2.1.8086和存储器连接‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥11

3.2.2CPU与8255A连接‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥12

3.2.38255A的A口与键盘连接‥‥‥‥‥‥‥‥‥‥‥‥‥‥12

3.2.48255A的B、C口‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥13

3.3完整电路图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥14

4.1软件设计思路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15

4.2.2子流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥17

6.1设计中的难点‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20

6.1.1硬件‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20

6.1.2软件‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥20

6.2收获及体会‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21

第1章绪论

1.1密码锁的发展现状

从历史上技术发展的规律看,在功能相似的情况下,简单可靠的东西总是替代繁杂的东西,而电子密码锁正是以简代繁的东西。

所以,它是大众化的实用性新产品,替代传统圆盘式机械密码锁和部分电子密码锁是应该的。

拨码盘式全机械密码锁适用于在保险柜、保险箱、文件柜、防磁防火柜、防盗门、银库门、仓库门、车门、民用门及机械卡阻机构上广泛使用。

它可以替代现有的传统圆盘式机械密码锁和部分电子密码锁。

为某些产品的更新提供了契机。

由于电子技术的风靡,很多产品以采用了电子结构为荣。

但在某些场所,电子产品并没有绝对的优势,反而是机械产品或机电混合产品更实用。

举两个例子:

一是燃气灶的打火装置,早期是晶体管的点火器风靡一时,但它不耐潮湿,容易损坏,离不了电池。

时间一长,反而是靠手扭动旋钮储能的机械(压电)打火装置显露出它的优越性--简单实用,成为燃气灶点火器的主流。

二是汽车的后视镜及公共汽车(单厢)的后门窥视器,都曾有被电子监视器替代的危险,但人们发现:

传统的后视镜及公共汽车驾驶员上方的普通后视镜,观察效果并不比电子监视器差,更简单实用。

1.2密码锁的发展前景

当今智能电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。

在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。

发展前境是非常大的。

事实上,在传统的工业中,也能够找到比所谓的“新经济”更保险但是利润却毫不逊色的投资方向。

密码锁并不是一种频繁操作使用的产品,可以说是一种半静态的产品,采用机械方式更实用一些。

但电子方式的密码量大,人们主观感觉会安全一些。

电子密码锁,操作又比传统机械密码锁快得多,简单实用,可以象前述两例一样,有望成为高档次密码锁主流。

第2章密码锁的工作原理及结构设计方案

2.1目的

1、了解和掌握8086,8255,等接口芯片以及LED显示器的原理和功能;

2、能用这些接口芯片构建一个简单的系统控制对象,

3、掌握接口电路的综合设计与使用;

4、通过自己动手,进一步了解计算机得工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练。

2.2内容

密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同

显示00字样。

2.3设计任务

1、选用8086和适当的存储器及接口芯片完成相应的功能。

2、用LED显示器显示电子锁的当前状态。

3、画出详细的硬件连接图。

4、给出程序设计思路、画出软件流程图。

5、给出地址分配表。

6、给出所有程序清单并加上必要注释。

7、完成设计说明书(列出参考文献,所用器件型号)。

2.4方案选择及原理

这次的设计要求是在密码输入正确时输出开锁电平和显示“00”,密码错误时显示“FF”和蜂鸣器发出报警声音等,我们采用8255A的B口作为显示器的输出,c口为选管和接蜂鸣器,开锁及报警电平。

对于6次密码错误输入,刚开始用8253计数器,后来发觉可以直接用软件控制,线路简单,程序也很易实现。

3.1所用到的相关芯片元件及其介绍

3.1.1所用器件

CPU8086、并行接口8255A、存储器27c513、地址锁存器8282、74LS138、石英晶振,8284A、共阴极数码管、非门74LS04、蜂鸣器,电阻、开关等。

3.1.2主要器件简介

图9-1CPU8086

8086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用HMOS工艺制造,用单一的+5V电源,时钟频率为5MHz~10MHz。

8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。

可寻址的内存空间为1MB.

图10-1并行接口8255

Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。

它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。

8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

图10-2地址锁存器74LS138

74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其工作原理如下:

当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。

利用G1、/(G2A)和/(G2B)可级联扩展成24线译码器;

若外接一个反相器还可级联扩展成32线译码器。

若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。

3.2硬件电路图

3.2.1、8086和存储器连接

存储器地址:

0000H~3FFFH

图11-18086和存储器连接

3.2.2CPU与8255A连接

图12-1

8255A地址分配:

PA800HPB802HPC804H控制寄存器806H

为了满足8255A的四个端口地址必须为偶地址这一要求,将8255A的A1、A0分别与8086系统地址总线的A2、A1相连,并且,CPU在对8255A的端口进行访问时,总是将地址中的A0设置为0.

3.2.3、8255A的A口与键盘连接

图12-2

共12个按键,0-9为数字键,每个十进制数对应PA3~PA0四位二进制数,确认键和修改密码键按下时,PA4和PA5为低电平。

3.2.48255A的B、C接口

图13-1

C口低四位用了低三位,都是输出高电平有效,高四位用了两位,输出低电平有效。

3.4完整电路图

图14-1

4.1软件设计思路

由于我的硬件设计部分主要器件是8086和8255,所以使得我的设计简单很多。

程序也主要解决如何利用8255来实现所要求的功能这个问题。

首先需要初始化8255,A口作为输入,B、C口作为输出。

一开始纵观设计内容及要求,可以大致知道需要三个子程序,修改密码程序、开锁程序、闭锁程序。

由A口输入的数据决定调用哪个子程序,而相关子程序需要具有所要求的功能,比如修改密码程序需要在修改成功后发出蜂鸣声,开锁程序需要输出开锁电平和显示00字样,等等。

为方便程序编写,采用输入数据逐位与正确密码相比的方法,只要有一位不相同即转入闭锁程序,而在闭锁程序中需要设置计数值,当转入闭锁程序六次也即输入错误密码六次则输出报警电平报警。

这样则能完成所需的所有功能。

程序设计思路基本如此。

按此思路画完流程图之后则进入程序设计阶段。

大框架已经确定下来,现在需要决定一些重要的细节。

比如如何安排计数值的位置,子程序的返回处,等等。

经过多次试探与检验,最终将这些细节确定下来。

最后将程序开始的初始化、退出程序补充完整,整体再检查一遍,查漏补缺,即可完成设计。

4.2.1主流程图

图16-1

4.2.3子流程图

修改密码子程序流程图闭锁子程序流程图开锁子程序流程图

第五章程序编码

5.1程序编码

DATASSEGMENT

PASSWORDDB0,0,0,0,0,0;

设置初始密码

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,ES:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAX,STACKS

MOVES,AX

MOVAL,90H

OUT63H,AL;

初始化8255,方式0,A口输入,B、C口输出

INAL,60H;

读取A口数据

ANDAL,20H;

是否需要修改密码

JNECHANGE;

需要则调用修改密码子程序

MOVBX,5;

设置错误密码输入最大次数

A1:

MOVCX,5;

设置密码个数

MOVSI,OFFSETPASSWORD

A2:

INAL,60H

CMPAL,BYTEPTR[SI];

逐位比较,判断输入密码是否正确

JNECLOSE;

只要有一位错误就调用闭锁子程序

INCSI

LOOPA2

CALLOPEN;

正确就调用开锁子程序

JMPST

CHANGEPROCNEAR;

修改密码子程序

MOVSI,OFFSETPASSWORD

A3:

INAL,60H

MOV[SI],AL

LOOPA3;

依次修改六位密码

A4:

ANDAL,10H;

判断有否按下确认键

JNEA4;

没按下则继续等待

MOVAL,01H

OUT62H,AL;

蜂鸣器响一下表示确认

RET

CHANGEENDP

CLOSEPROCNEAR;

闭锁子程序

MOVAL,71H

OUT61H,AL;

数码管输出“F”

MOVAL,10H

选中L0输出“F”

OUT61H,AL

MOVAL,20H

选中L1输出“F”

A5:

MOVCX,3

OUT62H,AL

LOOPA5;

蜂鸣器响四下表示错误警告

DECBX

CMPBX,0;

判断是否已经输入六次错误密码

JNEA1;

不够六次则重新转到A1

MOVAL,04H

已输入六次误码则产生报警电平报警

CLOSEENDP

OPENPROCNEAR;

开锁子程序

A6:

ANDAL,10H

JNEA6;

等待确认键按下

MOVAL,3F

数码管输出“0”

选中L0输出“0”

选中L1输出“0”

MOVAL,02H

输出开锁电平,开通LED,显示电子锁开启

OPENENDP

ST:

MOVAX,4CH

INT21H

CODESENDS

ENDSTART

6.1设计中的难点

6.1.1硬件

本次设计总的来说还是比较简单的,但设计过程也遇到不少的问题。

在硬件方面,我们用的是protel99se软件画连接图,由于对这个软件不是很熟悉,在找元件和连线时花了不少的时间。

在画图过程中通过不断的修改,最终画出如上电路图。

6.1.2软件

首先是如何安排好几个子程序调用的顺序。

按照一般的逻辑思维,我将修改密码安排在第一个,如果用户刚开始即要修改密码可以很方便地实现,如果不用则转入输入密码步骤。

而若输入错误密码则调用闭锁程序,否则调用开锁程序,这样则可初步安排好顺序。

其次是如何判断错误密码。

如果输入的是错误的密码,按照我们日常生活经验,是全部输入才提示出错,而我觉得这样太浪费时间,所以考虑将输入的密码逐位与正确密码相比较,只要有一位不符合则马上显示出错,这样实现起来也比较容易,只需要获取正确密码的偏移地址和输入的相应密码,然后用一个逻辑语句“与”将两者进行比较,再利用条件转移语句即可轻松实现。

最后是警告声音的处理问题。

因为已经要用到蜂鸣器来发出对新密码的确认音,故为了简化电路,我们决定也用蜂鸣器来发出错误警告声音,规定响一声表示确认新密码,响四声表示错误警告。

6.2收获及体会

硬件部分主要是设计原理图跟连接线路,这次主要是用到Protel这个软件,这个软件之前没接触过,所以在下载下来以后第一件事就是上网看教程,看了两三个教程之后大概就明白了它的大体操作,开始自己动手绘图。

在绘图之前,我先把软件仔细看了一下,并问了同伴一些端口问题,最后初步定下来一个图样,但是在实际绘图过程中发现太过复杂了,又重新制定了一个图样,也就是现在上交的这份。

因为是第一次用这个软件,里面很多功能都不懂,经常点出很多不懂得文件,最后不得不重新设计,导致绘图时间大大增加。

在多次实践后我终于较为熟练的掌握里面的工具了,后面的绘图过程也就相对来说比较轻松,出了自己绘制元件的时候有些麻烦,不过碰到不会的就上网XX或者问问同学,其实这个绘图过程还是挺有意思的。

线路图终于接好了,这里可以总结为三点:

第一,在绘图之前一定要先熟练掌握Protel这个软件;

第二,一点要把程序看懂,这样才可以合理布线路图;

第三,第三,在搜索元件的过程中可以大量的求助XX,里面有很多元件库表,这样可以大大缩短查找时间。

2、软件设计总结:

这次课程设计中我负责软件设计。

刚开始以为之前接触了不少程序,这次应该轻车熟路,但是真正开始设计的时候才发现实际需要解决的问题很多。

如何从大局上把握,如何平衡出现的一些冲突和矛盾,如何用简练、有条理的语言实现所有功能,如何与硬件设计更好地结合起来,这些都是我要考虑的问题。

在参考了之前学过的程序,重温了接口芯片的知识之后,我有了初步的思路,然后在流程图的基础上添加一些需要的细节,于是就将程序写了出来。

如今真的体会到流程图对于程序设计的重要性,而且一个好的流程图也能帮助别人理解你的程序。

而在设计程序的过程中,我不仅对以前学过的汇编语言进行了重温和查漏补缺,而且对程序整体的把握和细节的处理能力得到了很大的提高。

毕竟看程序和写程序是有很大区别的,只有实践才能真正将汇编语言学到家。

最后看着自己写出来的程序,心里很有成就感!

《微型计算机原理及应用》华南理工大学出版社吴荣光吕钧星著

《微型计算机原理及应用实验指导书》华南理工大学出版

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2