《微型计算机原理与接口技术》课程设计一种由微机实现的多功能密码锁设计11

上传人:仙*** 文档编号:33143513 上传时间:2021-10-16 格式:DOC 页数:17 大小:900KB
返回 下载 相关 举报
《微型计算机原理与接口技术》课程设计一种由微机实现的多功能密码锁设计11_第1页
第1页 / 共17页
《微型计算机原理与接口技术》课程设计一种由微机实现的多功能密码锁设计11_第2页
第2页 / 共17页
《微型计算机原理与接口技术》课程设计一种由微机实现的多功能密码锁设计11_第3页
第3页 / 共17页
点击查看更多>>
资源描述
编号0814147 课 程 设 计( 2008级本科)题 目:一种由微机实现的多功能密码锁设计 系(部)院: 物理与机电工程学院 专 业: 电气工程及其自动化 作者姓名: 指导教师: 职称: 副教授 完成日期: 2011 年 6 月 28 日二一一年六月学生姓名学号专业方向电力系统班级08级1班题目名称一种由微机实现的多功能密码锁一、设计内容及技术要求:密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00字样。当输入密码错误时,发出错误警告声音,同时显示FF字样。当六次误码输入的条件 下,产生报警电平报警。采用90秒定时中断,输出控制信号,防止长时间无 效操作。二、课程设计总结报告要求1、选用8086和适当的存储器及接口芯片完成相应的功能。2、用LED显示器显示电子锁的当前状态。3、画出详细的硬件连接图。4、给出程序设计思路、画出软件流程图。5、给出所有程序清单并加上必要注释。6、完成设计说明书(包括封面、目录、设计任务书、硬件设计思路、硬件原理图、软件设计思路、程序流程框图、程序清单、所用器件型号、总结体会、参考文献等)。三、设计进度第一周:星期一上午 讨论设计题目星期一下午 查资料星期二至星期五 完成对硬件电路的基本设计第二周:星期一至星期二 完成软件流程图及软件设计星期三至星期四 软硬件统调,写说明书,画图星期五 答辩指导教师签字:河西学院本科生课程设计任务书目录一、设计目标 1二、设计要求 1三、整体功能描述 1四、设计思路 1五、硬件设计功能模块 2 1.键盘 2 2.中断控制 2 3.计时 2 4.按键响应 2 5.报警 3 6.储存器及片选 3 7.整机电路 5五、程序流程图 6六、程序清单 6七、设计总结 14一、 设计目标1.密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00字样。2.当输入密码错误时,发出错误警告声音,同时显示FF字样。3.当六次误码输入的条件下,产生报警电平报警。4.还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。二、 设计要求1、选用8086和适当的存储器及接口芯片完成相应的功能。2、用LED显示器显示电子锁的当前状态。3、画出详细的硬件连接图。4、给出程序设计思路、画出软件流程图。5、给出所有程序清单并加上必要注释。6、完成设计说明书(包括封面、目录、设计任务书、硬件设计思路、硬件原理图、软件设计思路、程序流程框图、程序清单、所用器件型号、总结体会、参考文献等)。三、 整体功能描述本设计为多功能密码锁,使用存储器保存密码防止断电后密码丢失。工作时按下按键蜂鸣器会发出声音提示按键有效并在数码管有“- -”闪烁字样,若相隔1分钟无按键按下,则清零。在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00字样。开锁后可按下“复位/修改密码键”实现修改密码功能的转入,之后先输入密码再输入同样的密码确认才可成功修改,修改成功后蜂鸣器会发出三声,数码管“00”闪烁三次提示修改密码成功。当输入密码错误时,发出错误警告声音,同时显示FF字样,当输入密码错误次数累积够6次后,蜂鸣器会产生90秒的报警声响进行报警。 四、设计思路在本次设计中,因为密码锁的基本功能使可以判断密码是否正确,以及完成对密码的修改,所以需要用到输入设备以及CPU的接口电路以及相关存储设备;因为有报警提示功能,所以要用到相关的输出设备以及接口电路。首先,因为要完成逻辑运算功能,所以必须要有CPU,CPU就选用我们最常用也最熟悉的8086,分别用一个A28F512作为外部存储设备,因为ROM只读不可断电信息不丢失,用来存储相关程序,而ram可读可写,但断电信息会丢失,故用来存储运行期间产生的相关数据。考虑到8255的端口兼具输入输出功能,灵活方便,所以选用一片8255作为输入输出设备与8086间的借口;采用0到9数字按键以及相关功能选择的输入;输出设备方面,采用两位数码管实现题目的状态提示要求,用一个蜂鸣器作为相关的警报,提示的声音输出。另外,为简化编程,采用8259中断控制器来触发中断实现密码锁工作模式的转换,其中的密码输入及判断功能与密码修改功能分别用两个外部中断来触发中断服务程序来实现。本设计的密码位数为6位。五、硬件设计功能模块本设计使用了8086、8259A、8255、8253、A28F512、74LS138、74LS148、地址锁存器、数码管以及74系列逻辑门、蜂鸣器、开关等芯片与元器件,实现了键盘输入、中断控制、计时、按键响应、开锁及报警等功能模块。以下一一详述。1.键盘本设计8255A的A口与两片级联的74LS148组合接用于输入键盘,实现对输入键号的读入。工作时,8086通过程序扫描键盘,当无键盘按下时,74LS148工作于无输入状态,GS口输出高电平,接到PA4作为识别有无按键按下信号,PA口输入为10H;当有按键输入时,74LS148输入口接到低电平,输入有效,经编码后键号转换为相应二进制编码送到PA口,成为能为CPU识别的代表键值的有效信号。读入的按键信号经8086判断后,根据不同的功能,输出不同的按键响应,并转移到相对应的功能服务程序。本设计总共用到11位按键,包括10位数码输入按键及一位“复位/修改密码”按键,电路设计总共可用按键有16位,供升级功能使用。键盘电路如下图1所示:2.中断控制用一片8259A芯片作为中断控制接口电路。其中IR0与IR1中断开放,单片工作于非缓冲方式,电平触发,优先级是普通全嵌套方式。可通过编程开中断,通过编程或者8253计时器关中断。电路连接如图2所示:3.计时采用8253计时器控制中断的关断,实现单次输入密码超时则退出输入密码中断子程序、报警器响铃时间控制等功能。电路如图2所示。4.按键响应8255PC0、PC1接到数码管片选、PC2接到蜂鸣器、PC3接到电子锁。电路连接如图3所示:5.报警功能同时用8255A的B口控制数码管的显示,C口片PC0、PC1选数码管,PC2用来驱动SPEAK发出报警。电路如图3所示。6.储存器及片选电路:存储器及片选电路采用一片A28F512和一片74LS138,连接电路如图4所示: 图1 键盘连接图 图2 中断控制器连接图 图3 按键响应、报警、开锁功能电路 图4 片选及存储器电路7.整机电路图:五、软件流程图:六、程序清单:各芯片地址:8259 30H 8255 60H 8253 20H 存储器 2000HDATAS SEGMENT ;程序初始化 AGAIN DB 0,0,0,0,0,0 DATA2 DB 6 DUP (?) DATA3 DB 6 DUP (?)DATAS ENDSSTACKS SEGMENT STA DB 100 DUP(?)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV SS,AX MOV AX,0 ;初始化中断向量表 MOV ES,AX MOV BX,84H ;IR1中断类型码21h*4=84h MOV AX,OFFSET INPUT MOV ES:BX,AX MOV AX,SEG INPUT ;段地址 MOV ES:BX+2,AX MOV AL,90H ;8255初始化,A口方式0,输入;B、c口方式0,输出OUT 63H,ALMOV AL,36H ;8253初始化,方式0OUT 23H,AL MOV AL,13H ;8259A初始化,ICW1 OUT 30H,AL MOV AL,20H ;ICW2 OUT 31H,AL MOV AL,01 ;ICW4 OUT 31H,AL MOV AL,00 ;OCW1 OUT 31H MOV CX,06H ;从RAM里读出密码到DATA2,密码为6位 MOV SI,2000H MOV DI,OFFSET DATA2LP1:MOV AL,SI MOV DI,AL INC SI INC DI LOOP LP1 ;读入密码结束 MOV BX,00H ;输入密码次数计数器初始值RE: MOV AL,03H OUT 62H,AL MOV AL,71H ;未开锁,B口输出显示FF OUT 61H,AL MOV CX,06H MOV SI,OFFSET DATA2 ;定义SI、DI MOV DI,OFFSET DATA3 HLT STI ;停机,开中断,等待密码输入 CLD INC BX ;输入密码次数加1 REPE CMPSB ;将输入六位数码与密码比较 CMP CX,00 JE OPEN ;相等则转到开锁 CMP BX,06H ;输入错误且累积未够6次,重新输入 JNE RE MOV AL,07H ;若错误次数累积够6次,触发蜂鸣器报警OUT 62H,AL MOV AL,71H ;B口输出FF OUT 61H,ALMOV AL,2048H ;报警铃响计时,90秒后关断蜂鸣器,保持显示FF OUT 20H,ALMOV AL,03HOUT 62H,AL JMP DOON ;跳到结束OPEN:MOV AL,0BH ;开锁,并显示00 OUT 62,AL MOV AL,3FH OUT 61HC1: IN AL,60H CALL D20MS ;去抖动 CMP AL,00H JE C1 CMP AL,0AH ;扫描键盘,是否有修改密码建(10)输入 JNE DOON ;没有则结束C0: MOV SI,OFFSET DATA2 ;重新定义SI、DI MOV DI,OFFSET DATA3 MOV CX,06H HLT STI ;开中断,输入修改程序C2: MOV AL,DI MOV SI,AL INC SI INC DI LOOP C2 ;输入密码转移到data2 IN AL,60H ;扫描键盘,若有修改密码键输入则重新修改 CALL D20MS CMP AL,0AH JE C0C3: MOV SI,OFFSET DATA2 ;再次输入密码确认 MOV DI,OFFSET DATA3 MOV CX,06H HLT STI REPE CMPSB CMP CX,00 ;若data2与data3不相等则从新输入 JNE C3 MOV CX,06H ;若相等,则从DATA2写密码到RAM MOV SI,2000H MOV DI,OFFSET DATA2C4: MOV AL,DI MOV SI,AL INC SI INC DI LOOP C4 ;转存密码结束 CALL RING2 ;蜂鸣三次,表示修改好了 IN AL,60H ;扫描键盘,若有修改密码键输入则重新修改 CALL D20MS CMP AL,0AH JE C0 JMP DOON ;修改完毕,转到结束 中断子程序INPUT: PUSH AX ;保护现场 PUSH DS PUSH BX PUSH CX PUSH DI PUSH SI MOV AL,1020H ;8253开始一分钟输入限制计时 OUT 20H,ALIN1: IN AL,60H ;读A口 CALL D20MS ;去抖动 CMP AL,10H JE IN1 ;若无按键按下,则重新扫描 CMP AL,0AH ;若有按键按下,比较是否为复位键 JNE IN3 CALL RING1 ;为复位键则输出按键有效提示音并重新输入 MOV CX,06H MOV DI,OFFSET DATA3 JMP IN1IN3: CALL RING1 ;若不是复位键,则把键值送到data3 MOV DI,AL INC DI LOOP IN1 ;循环,扫描下一次按键,直到输入够6位密码 MOV AL,01 OUT 30,AL POP SI ;中断结束恢复现场 POP DI POP CX POP BX POP DS POP AX CLI ;关中断 IRET ;中断返回DOON: MOV AH,4CH INT 21H 20ms延时子程序D20MS PROC NEAR PUSH CX MOV CX,0080HD1: DEC CX LOOP D1 ;循环 POP CX RET ;返回D20MS ENDP输入按键响应子程序RING1 PROC NEAR PUSH AX ;保护AXCX PUSH CX MOV CX,05H ;设置提示音为0.1秒 MOV AL,07H ;输出显示“- -”字样 OUT 62H,AL MOV AL,40H OUT 61H,ALR1: CALL D20MS LOOP R1 MOV AL,00H ;数码管灭 OUT 62H,AL POP CX POP AX RET ;返回RING1 ENDP修改确认铃声子程序RING2 PROC NEAR PUSH AX PUSH CX MOV CX,03H ;三次0.1秒的提示声R2: MOV AL,0FH ;开铃声 OUT 62H,AL MOV AL,40H OUT 61H,AL CALL D20MS ;延时0.1秒 CALL D20MS CALL D20MS CALL D20MS CALL D20MS MOV AL,00H OUT 62H,AL ;关铃声 CALL D20MS ;延时0.1秒 CALL D20MS CALL D20MS CALL D20MS CALL D20MS LOOP R2 ;循环 MOV AL,0BH ;恢复开锁状态 OUT 62H,AL MOV AL,3FH OUT 61H,AL POP CX POP AX RETRING1 ENDP ;返回CODES ENDSEND START ;结束七、设计总结1、遇到的问题及解决方法 2、课程设计总结通过本次课程设计,我进一步了解 8255,8253,8259等芯片的内部结构,熟悉各种基本工作模式和编程方法; 加深了对 8086中断系统工作过程的了解; 学会综合应用多种微机接口与单元电路,构成满足要求的小型微机应用系统;学会了CPU与存储器的连接方法,扩展存储空间的方法。3、参考资料1 冯博琴,吴宁. 微型计算机原理与接口技术. 北京 清华大学出版社(第二版),2007.2 赵国相等. 微型计算机原理与汇编语言程序设计. 北京 科学出版社,2004.3 张睿,赵艳华,刘志刚. 精通Protel DXP 2004电路设计. 北京 电子工业出版社2005.第 14 页
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!