多功能密码锁设计_第1页
多功能密码锁设计_第2页
多功能密码锁设计_第3页
多功能密码锁设计_第4页
多功能密码锁设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机原理与接口技术 课 程 论 文(2016-2017 学年第 1 学期)多功能密码锁设计学生姓名:梁启政 提交日期: 2017年 1月 1日 学生签名:梁启政 学 号201430581255座位编号16学 院自动化科学与工程专业班级自动化4班课程名称微型计算机原理与接口技术任课教师杜娟教师评语:本论文成绩评定: 分 2目录一、设计内容 2二、设计任务 2三、设计思路 2四、流程图 3五、硬件连接图 45.1 硬件连接框图45.2 8086和存储器连接 55.3 8086和8255连接 5 5.4 8255和键盘连接 65.5 8255和数码管蜂鸣器连接 65.6 完整连接图 7六、程序

2、代码 7 七、地址分配表10 八、参考文献10一、设计内容 密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同显示00字样。当输入密码错误时,发出错误警告声音,同时显示FF字样。当六次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。二、设计任务 1、选用8086和适当的存储器及接口芯片完成相应的功能。 2、用LED显示器显示电子锁的当前状态。 3、画出详细的硬件连接图。 4、给出程序设计思路、画出软件流程图。 5、给出地址分配表。 6、给出所有程序清单并加上必要注释。 7、完成设计说明书(列出参考文献,所用器件型号)三、设计思路 根据设计内容

3、,可以把本程序划分为输入密码、正确开锁,错误报错以及是否需要修改密码四大部分。本程序需要用到8086cpu以及8255通用并行可编程接口,其中8255的a口作为输入,bc口作为输出。把输入的密码逐位和设定密码比较,一旦出错立即报错并发出提示音,如果输错6次就会产生报警电平;修改密码成功后,蜂鸣器会发出提示音四、流程图开始发出警告声,数码管显示FF输入密码输错是否达到6次密码是否正确确否 否是是发出报警电平电控锁开锁,数码管显示00修改密码成功并发出确认声是否修改密码是否结束五、硬件连接 本设计使用了8086、8255A、74LS138、存储器、地址锁存器、共阴极数码管以及74系列逻辑门、蜂鸣器

4、、开关等芯片与元器件。 5.1硬件连接框图5.2 8086和存储器连接5.3 8086和8255连接5.4 8255A口和键盘连接5.5 8255B口连接共阴极数码管,C口连接蜂鸣器5.6 完整连接图六、程序代码MY8255_A EQU 0CH ;8255的A口地址 MY8255_B EQU 0DH ;8255的B口地址MY8255_C EQU 0FH ;8255的C口地址MY8255_MODE EQU 0EH ;8255的寄存器地址STACK SEGMENT STACK ;堆栈段初始化DW 256 DUP(?)STACK ENDSDATAS SEGMENT ;数据段初始化PASSW

5、ORD DB 0,0,0,0,0,0  ;设置初始密码DATAS ENDSCODES SEGMENT ;代码段初始化ASSUME CS:CODES,DS:DATAS,ES:STACKS START: MOV AX,DATASMOV  DS,AXMOV  AX,STACKS        MOV  ES,AX   MOV DX,MY8255

6、_MODE 0CH;初始化8255MOV  AL,90H OUT  DX,AL 初始化8255,方式0,A口输入,B、C口输出 MOV  BX,5  设置错误密码最大输入次数A1:    MOV  CX,5  ;设置密码个数MOV  SI,OFFSET  PASSWORD si取密码第一位A2:   IN AL,60H

7、CMP AL,BYTE  PTRSI  逐位比较,判断输入密码是否正确        JNE    CLOSE               只要有一位错误就调用错误子程序       INC 

8、0;  SI    ;判断下一位   LOOP  A2 ;循环A2CALL  OPEN                正确就调用开锁子程序        IN    AL,60H;

9、读取A口数据        AND  AL,20H  是否需要修改密码JNE   CHANGE 调用修改密码子程序 CHANGE      PROC  NEAR         修改密码子程序     

10、0;  MOV   CX,5   设置密码个数 MOV   SI,OFFSET  PASSWORD A3:   IN      AL,60H         MOV   SI,AL     

11、   INC     SI LOOP    A3                 依次修改六位密码 A4:   IN      AL,60H AND   

12、60;AL,10H               判断有否按下确认键        JNE     A4                  没

13、按下则继续等待        MOV    AL,01H OUT    62H,AL               蜂鸣器响一下表示确认        RET CHANGE 

14、0;ENDP    CLOSE  PROC  NEAR                错误子程序         MOV    AL,71H OUT    61H,AL  

15、;             数码管输出“F”        MOV    AL,10H OUT     62H,AL              选中L

16、0输出“F”        MOV    AL,71H        OUT     61H,AL        MOV     AL,20H OUT     

17、62H,AL              选中L1输出“F” A5:   MOV    CX,3        MOV    AL,01H       OUT   

18、;  62H,AL        LOOP    A5                 蜂鸣器响四下表示错误警告   DEC     BX CMP     BX

19、,0               判断是否已经输入六次错误密码       JNE      A1                 不够六次则重新转到

20、A1        MOV     AL,04H OUT     62H,AL             已输入六次误码则产生报警电平报警       RET CLOSE  ENDP

21、   OPEN  PROC  NEAR                开锁子程序 A6:    IN      AL,60H         AND  

22、0; AL,10H JNE     A6                  等待确认键按下        MOV    AL,3F OUT    61H,AL  

23、;             数码管输出“0”        MOV    AL,10H OUT    62H,AL               选中L

24、0输出“0”        MOV    AL,3F        OUT     61H,AL        MOV    AL,20H OUT     62H,AL   &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论