计算机技术基础课程电子密码锁设计报告.docx_第1页
计算机技术基础课程电子密码锁设计报告.docx_第2页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

电子密码锁小组 计算机硬件技术基础课程设计 电子密码门锁的设计 重庆大学自动化学院 二o一五年九月目录1前言31.1密码锁的使用现状31.2设计题目31.3设计的基本功能要求31.4设计报告要求42.设计思想与原理52.1.设计思想52.2设计原理52.3内容53 硬件系统设计63.1 设计所用芯片及功能介绍63.2电子密码门锁电路设计图103.3电路连接实物图104 系统软件设计114.1 程序设计思路114.2程序流程图115 成员心得体会15六 参考文献18七 附录19参考文献421前言1.1密码锁的使用现状在日常生活和工作中,住宅与部门的安全防范,单位的文件档案,财务报表以及一些个人资料的保存多以加锁的办法来解决。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁。在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。发展前境是非常大的。做这个设计不仅可以让我们了解电子密码门锁的基本工作原理,了解密码门锁的特殊功能的设置,还锻炼了我们的实际动手能力,并且与我们的专业联系紧密,用我们所学的专业知识不仅可以达到任务要求,还可以添加一些有趣的小功能,对我们有很大的帮助。1.2设计题目电子密码门锁设计:设计一个密码门锁系统,一扬声器作为发生装置,以4x4键盘作为功能按键,密码不符时控制扬声器发声报警。在计算机实验系统的基础上,自行完成扬声器模块的设计,完成该系统的基本功能,该部分占80分;并在此基础上自行完善和优化系统功能,该部分占20分(若有雷同者,该部分不得分)。1.3设计的基本功能要求1.密码为6位,输入密码可以开门或修改密码2.用led显示门的当前状态(打开或关闭),以及当前功能状态(开门或设置)。3.按下开门键,led显示“输入密码”提示信息,用户输入密码后,若正确则门打开,按下关门键或打开5秒后关门。若密码错误则三色led用红色显示“密码错”提示信息后,要求用户重新输入密码,3次错误后三色led红绿交替显示错误提示信息,并且扬声器同时发出声音报警,按下返回键返回。4.若按下设置键,led显示“输入密码”提示信息,用户输入密码,若正确则led显示“修改密码”提示信息,要求用户输入新开门密码,按确认键保存新密码后返回,按返回键则放弃修改直接返回。若错误则处理规则与开门相同。1.4设计报告要求1.明确每位组员的详细分工。2.在上述设计主要内容的基础上,本组整理出系统的详细操作说明。、3.详细描述自行完善和优化的系统功能以及设计方案。4.给出系统的设计思路和意见、软件设计方案。5.画出各软件模块的程序流程图,说明硬件连接。6.列出加上必要的注释的程序清单。7.每位组员根据自己承担的设计内容和设计过程,写出心得体会(不少于800字)。8.所有组员在任务书上签名,将任务书装订在报告首页任务分配表:班级姓名学号完成任务888254、8259电路设计以及设置部分程序编写8开门密码及密码对比程序比编写8表12.设计思想与原理2.1.设计思想 本系统设计的电子密码门锁以80486微处理器作为cpu,用8254做定时计数器产生5秒的延时,第五片8255做可编程并行接口和键盘电路连接,其他4块8255与led系统已经连好,按下按键产生相对的特征值再通过cpu指令可让led显示对应功能的状态,8259做中断控制器产生中断。在此系统中,8254的功能是定时,为了达到定时5秒需8254的两个计数器,分别是计算器0和计数器1,接入8254的clk0信号为周期性时钟信号(47k),gate0端接入高电平输出,采用方式3,out0端输出1秒的延时,计数器1的clk1与计数器0的out0端连接gate1与8255的pc6连接,采用方式3,写入初值,out1端输出5秒的延时。out1接8259的irq0,当中断到后,cpu即处理,使液晶显示器上的数字发生变化,表示开门后5秒关门。其中8259只需初始化icw1,其功能是向8259表明irx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送cpu处理。2.2设计原理利用实验台提供的8254芯片、8259芯片、拓展板上提供的8255及键盘,设计一个电子密码门锁系统,由8254和8259中断定时,键盘作为输入,通过键盘输入密码和修改密码。电子密码门的状态由三色led的数字和颜色来判断,比如输入密码正确后开门led1-led5显示黄色的11063。对有特殊功能的按键可以编写对应功能的程序,如果按下,就会出现对应的要求状态。基本工作原理:通过按键扫描,如果有键按下就产生相对的特征值,程序全速执行时会与特征值对比,然后执行对应的指令,其运行结果由led输出。2.3内容 利用实验台提供的8254芯片、8259芯片、拓展板上提供的8255及键盘,设计一个电子密码门锁系统,由8254和8259中断定时,键盘作为输入,通过键盘输入密码和修改密码。 led的状态显示对应密码门锁的状态从而达到控制密码门锁。 按下0-9:数字输入键,输入密码; 按下a键:led显示01103,颜色为黄色,输入密码; 按下b键:led显示02303,led3为红色,其他为黄色; 按下c键:确认键,当输入新密码后按下就保存新密码; 按下d键:返回键,回到程序初始化。3 硬件系统设计3.1 设计所用芯片及功能介绍3.1.1 8259芯片的内部结构及引脚中断控制器8259是专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在md微机系统中,8259芯片工作于单片方式。8259引脚图如图3.1所示。 图1 8259引脚图各引脚功能如下:d7-d0八条双向数据线; wr(低电平有效)写输入信号;rd(低电平有效)读输入信号;cs(低电平有效)片选输入信号;a0地址信号;int中断请求信号;inta(低电平有效)中断响应信号;cas0-cas2级联信号,形成一条专用8259a总线,以便多片8259a的级联;sp/en从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;ir0-ir7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到cpu响应时为止)或者是高电平。8259中断矢量地址与中断信号之间的关系如表2所示:中断序号01234567功能调用08h09h0ah0bh0ch0dh0eh0fh矢量地址20h23h24h27h28h2bh2ch2fh30h33h34h37h38h3bh3ch3fh说明时钟键盘可用可用串行口可用可用可用表2 8259中断矢量表3.1.2 8255芯片的内部结构及引脚8255可编程外围接口芯片是intel公司生产的通用并行i/o接口芯片,它具有a、b、c三个并行接口,用+5v单电源供电,能在以下三种工作方式下工作方式2双向选通输入/输出方式8255引脚图如图示 图3 8255引脚图各引脚功能如下:d7d0与cpu侧连接的八条双向数据线;wr(低电平有效)写输入信号;rd(低电平有效)读输入信号;cs(低电平有效)片选输入信号;a0、a1片内寄存器选择输入信号;pa7pa0a口外设双向数据线;pb7pb0b口外设双向数据线;pc7pc0c口外设双向数据线;reset复位输入信号。8255端口地址表如表3所示:信号线寄存器编址ioy3a口60hb口61hc口62h控制寄存器63h3.1.3 8254芯片的内部结构及引脚 8254是intel公司生产的可编程计时器,具有以下功能:(1)有3格独立的16位计数器(2)每个计数器可按二进制或十进制计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高计数频率为10mhz;(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容; 图3.3是8254芯片的内部结构及引脚图,它是由与cpu的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率放生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。 图4 8254芯片引脚图3.1.4硬件连线: 键盘的连线,键盘的列信号接到8255的b口,行信号接到8255的a口。字型码以行信号为低位,列信号为高位,形成键特征值表。 8254的接线,因为需要使用8254来定时5秒,而最小的时钟频率为47k,单个8254的计数器最大初值为65536,所以需要两个计数器级联选择计数器0与计数器1,初值分别为47000与5. 实验过程中使用了芯片8259,将8254的输出信号接到irq0 8255的接线,与键盘连接,键盘的列信号接到8255的b口,行信号接到8255的a口。c口高位接8254. 8259的接线cs接译码模块cs1,sp/1接+5v,int1接cpu的intr.3.2电子密码门锁电路设计图图5 电子密码门锁电路图3.3电路连接实物图图6 电子密码门锁电路图4 系统软件设计4.1 程序设计思路本次设计采用的是子程序嵌套。在进行设计的时候,先写好主程序,定好程序的框架结构,分出几个子程序。子程序用一个各小的调试程序调试好,确认准确之后将各个子程序加入到主程序进行链接调试。 主程序包括:8254初始化,8255初始化、8259初始化、初始化蜂鸣器和初始化8位led前五位,使其为黄色0、按键扫描、开门程序、修改密码。 子程序包括:延时子程序、用户输入密码并保存密码子程序、判断开门密码是否正确的子程序、判断设置密码是否正确的子程序、按键子程序部分等。 一开始扫描是否有键按下,判断过后就进入三种不同的状态。无键按下即为空闲状态,用jmp语句重新扫描。当有键按下时,通过判断按的是开门键或是设置键进入各自的子程序。如果是开门键按下后,利用扫描每一位密码,通过比较程序是否正确,正确之后门打开,led1显示1表示打开状态;如果密码输入错误,则led4显示1表示输入了错误的密码,需要重新输入密码,led5显示由3变为1表示剩余次数2,密码输错3次长鸣报警。如果按下的是设置键,同样的流程判断管理员密码是否正确,若正确则可重新设置密码,错误则同意蜂鸣器长鸣报警。 不论系统处于何种状态限制下,我们都能通过led间的显示配合很容易的独处当前状态,让整个体统的流程清晰的显示出来。主程序软件设计思路: 电子密码门锁的实现主要是依靠4片8255,4*4小按键,8位三色led。 在主程序的开始先初始化要用到的8位led的前五位。 a和b按键的功能是选择是哪种功能,所以要先判断a键按下还是b键按下,若是a键按下则跳到开门密码部分,若是b键按下则跳到设置密码部分。 若是跳到开门密码部分之后就开始调用输入密码子程序,调用完之后调用判断开门密码是否正确的子程序,若是正确则跳到开门程序,三次错误则跳到蜂鸣器子程序和闪光灯子程序,跳到对应部分之后再判断是否按下d键,若按下d键则返回主程序开头,若是没按下则继续判断。 跳到设置密码部分,对应led变化提示输入管理员密码,调用输入密码子程序,调用完之后调用判断设置密码正确的子程序,若是正确则跳到开门程序,三次错误则跳到蜂鸣器子程序和闪光灯子程序,跳到蜂鸣器叫部分之后再判断是否按下d键返回键,若是按下d键则返回主程序开头,若是没按下则继续判断。 跳到修改开门密码部分:对应位led提示用户输入新的开门密码,调用输入密码子程序,调用完时候判断c键(确认键)和d键(返回键)是否按下,若按下c键则将输入的密码保存为开门密码再返回主程序开头;若是按下d键则不保存密码直接返回主程序开头;若两个按键都没有按下,则继续判断。4.2程序流程图4.2.1 主程序流程图输入管理员密码和判断密码是否正确扫描按键并判断b键是否按下扫描按键并判断a键是否按下开始主程序初始化8255,8254,8259,前6位led,蜂鸣器nnyy输入密码子程序和判断密码是否正确子程序nnnyyyy判断d键是否按下按下d键返回蜂鸣器报警,led闪烁确认保存新密码判断c键是否按下取消新密码密码正确打开门5s后自动关门输入新密码按下d键返回蜂鸣器报警,led闪烁输入管理员密码3次正确?输入密码3次密码正确?图7 主程序流程图4.2.2 用户输入开门密码子程序流程图图8 用户输入开门密码子程序4.2.3 用户对比开门密码子程序图9 用户对比开门密码子程序4.2.4用户对比管理员密码子程序图9 用户对比管理员密码子程序5 成员心得体会本次课程设计中,我们小组选择的设计项目是电子密码锁,需要实现的功能分别是: 电子密码锁若输入正确密码,则门打开,并在5秒后自动关门;若输入错误密码,则显示提示信息,并在错误输入3次后显示提示信息,以及蜂鸣器鸣叫,灯红绿闪烁;修改密码功能,若输入正确的设置密码,则显示提示信息,开始输入新密码,并且若按确认键则确认保存,返回初始界面,若按返回键则不保存返回初始界面,若设置密码输入错误次数达到3次同样显示提示信息,红绿闪烁,该课程设计的计划安排时间为周,以四人为一小组,从日至月日,并与月日答辩。为了实现本次课程设计中的电子密码锁的功能,我们选择使用的芯片有片8254,4片8255,一片8259,其中片用于控制位灯的显示,一片用于扫描16位键盘以及控制蜂鸣器,还用到了8254用于计时,一片8259用于给出中断以实现秒后关门。本次课程设计,我所做的主要是参与程序的录入与调试,以及部分报告的编写。在程序设计中我们先初始化各块芯片,设定好初始开门密码以及管理员密码,然后设定初始状态为前面块显示黄色的,给蜂鸣器一高电平,让蜂鸣器在未接收信号时始终不叫,然后写入了按键扫描程序,延时程序,定义了个功能按键,分别为按输入开门密码,按输入管理员密码,按为确认键,为返回键,然后写入密码录入以及判断是否正确的子程序,以及管理员密码录入是否正确的子程序,然后在前面添加了蜂鸣器及闪光灯子程序,以实现输入错误次时实现蜂鸣器鸣叫以及闪烁,随后添加了新密码录入子程序,在完成基本程序后开始在实验箱上实验,发现密码录入错误时会死循环,后大断点逐步检验发现是判断密码正确与否的子程序会重新跳回密码录入子程序从而死循环,因此加入了第二个判断密码是否正确的子程序,完善后继续实验,发现等只闪烁一次,检查后发现是闪光灯子程序中调用按键扫描子程序时会陷入死循环,不会跳出按键扫描子程序,因此又录入了另一个改写后的按键扫描子程序,从而实现闪烁中调用按键扫描子程序不会出现死循环,最终基本实现了电子密码锁的功能。本次课程设计中,虽然遇到了不少困难,但由于自己认真复习以及向同学请教,在小组成员的共同努力下,最终基本实现本次课程设计所要求的产品功能,本次课程设计让我深深的体会到自己所学的还不够好,还需要继续努力学习,以及所学的知识要用于实践才能然自己了解的更深刻,才能更好运用自己所学的知识,同时团队的合作也是非常重要的,一个人或许能完成意见任务,但一个团队则必定能完成,甚至更好的完成任务。在此感谢我们的指导老师.,同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中存在一定缺陷,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。六 参考文献1黄勤.微机原理与接口技术.北京:机械工业出版社.2014.1 2微型计算机接口技术实验参考小册七 附录.486 data segment at 0200h use16porta equ 300hportb equ 304hportc equ 308hctrl equ 30chk0 equ 0eehk1 equ 0edhk2 equ 0ebhk3 equ 0e7hk4 equ 0dehk5 equ 0ddhk6 equ 0dbhk7 equ 0d7hk8 equ 0behk9 equ 0bdhka equ 0bbhkb equ 0b7hkc equ 07ehkd equ 07dhke equ 07bh;宏定义各种按键对应特征值data endssdata segment at 0300h use16 stack db 500 dup(?)sdata endscode segment use16assume cs:code,ds:data,ss:sdataorg 1000hbeg:jmp start aryx db 6 dup(0ffh);存放输入的密码aryy db 6 dup(0ffh);存放修改的密码x db 0eeh,0eeh,0eeh,0eeh,0eeh,0eeh;初始化开门密码y db 0eeh,0eeh,0eeh,0eeh,0eeh,0eeh;初始化管理员密码z db 0c db 0tab db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h;三色led0到9字型码段代码表start:movax,data movds,ax mov dx,ctrl mov al,91h;a输入,b输出c高4位输出 out dx,al;初始化8255 mov dx,32ch ;初始化8254 movdx,32ch moval,36h outdx,al movdx,320h movax,47000 outdx,al moval,ah outdx,al movdx,32ch moval,56h outdx,al movdx,324h moval,5 outdx,al ;初始化8259 movdx,340h moval,13h outdx,al movdx,348h moval,40h outdx,al movdx,348h moval,01h outdx,al movdx,348h inal,dx andal,0feh outdx,al cli movax,0 movds,ax leaax,dingshi movds:40h*4,ax movax,segdingshi movds:40h*4+2,ax stilea si,x;指针si指向开门密码lea di,y;指针di指向管理员密码l_fh: mov al,80h mov dx,portc out dx,al;蜂鸣器接pc7,初始化始终不叫 mov dx,200h mov al,0c0h out dx,al mov dx,204h mov al,0c0h out dx,al mov dx,208h mov al,00h out dx,al mov dx,201h mov al,0c0h out dx,al mov dx,205h mov al,0c0h out dx,al mov dx,209h mov al,00h out dx,al mov dx,202h mov al,0c0h out dx,al mov dx,206h mov al,0c0h out dx,al mov dx,20ah mov al,00h out dx,al;初始化8位led前五位,使其为黄色0kscan1:call anjian1;按键部分 cmp bl,ka;按下ka键跳到开门出输入密码 jz kaimen cmp bl,kb;若按下开关键,判断设置键是否按下 jnz kscan1 jmp xiugai ;按下设置键,跳到修改处 cmp bl,kd jz l_fhkaimen: mov dx,204h mov al,0f9h out dx,al;l2数字变为1,表示进入开门状态 mov dx,201h mov al,0f9h out dx,al;l3数字变为1,表示请输入密码 mov dx,202h mov ax,0b0h out dx,al;l5数字变为3,表示有三次输入机会,以后每输入一次减一次 call srmm call kmmm jnz l_fmq;错误的密码l_km: mov dx,200h mov al,0f9h out dx,al;l1显示1表示打开门 mov dx,205h mov al,082h out dx,al;l4显示6表示输入正确 call anjian1 cmp bl,kd jz l_fh movdx,308h moval,0ffh outdx,alwt:nop call anjian1 cmp bl,kd jz l_fh;按下返回键返回 jmpwt;等待5秒中断l_anjian2: call anjian1 cmp bl,kd jnz l_anjian2;按下返回键返回 call l_fhl_fmq: mov dx,portc mov al,0 out dx,al;给pc7一个低电平 call dlys2 mov dx,portc mov al,80h out dx,all_sgd: mov dx,200h mov eax,0c0c0c0c0h out dx,eax mov dx,204h mov eax,0c0c0c0c0h out dx,eax mov dx,208h mov eax,05050505h out dx,eax call dlys2 mov dx,208h mov eax,0a0a0a0ah out dx,eax call dlys2 call anjian2 cmp bl,kd jz l_fh jmp l_sgdxiugai: ;修改密码部分 mov dx,204h mov al,0a4h out dx,al;l2变为2,设置状态 mov dx,202h mov al,0b0h out dx,al;l5变为3,表示密码输入还有三次机会 mov dx,209h mov al,01h;l3变红表示修改密码 out dx,al jmp srglymml_anjian4: call anjian1 cmp bl,kc jz l_bckmmm;确认键保存密码 cmp bl,kd jz l_fhl_bckmmm: mov z,0 lea bp,aryx lea si,xlb: mov ah,bp mov si,ah inc si inc bp add z,1 cmp z,6 jnz lb jmp l_fh;新的开门密码保存在x中dlys1 proc push cx mov cx,08ffhdlys_agn1: nop loop dlys_agn1 pop cx retdlys1 endp;dlys2 proc push cx mov cx,0ffffhdlys_agn2: nop loop dlys_agn2 pop cx retdlys2 endp;/用户输入密码子程序srmm procpush bppush cxlea bp,aryx;用于存放输入的密码mov dx,201hmov al,0f9hout dx,al;在输入密码是一直保持l3为1,是输入状态l_anjian:mov ah,0l_anjian10: call anjian1 cmp bl,k0 jz l_k0 cmp bl,k1 jz l_k1 cmp bl,k2 jz l_k2 cmp bl,k3 jz l_k3 cmp bl,k4 jz l_k4 cmp bl,k5 jz l_k5 cmp bl,k6 jz l_k6 cmp bl,k7 jz l_k7 cmp bl,k8 jz l_k8 cmp bl,k9 jz l_k9l_k0: mov bp,0eeh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k1: mov bp,0edh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k2: mov bp,0ebh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k3: mov bp,0e7h add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k4: mov bp,0deh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k5: mov bp,0ddh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k6: mov bp,0dbh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k7: mov bp,0d7h add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k8: mov bp,0beh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10l_k9: mov bp,0bdh add ah,1 inc bp cmp ah,6 jz srmm_end jnz l_anjian10srmm_end:;输入密码结束 mov dx,201h mov al,0c0h out dx,al;输入密码完后l3变为0 mov ah,0 jmp kmmm pop cx pop bp retsrmm endp;/用户输入新密码子程序srxmm procpush bppush cxmov ah,0mov si,ahlea bp,aryx;用于存放输入的密码mov dx,201hmov al,0f9hout dx,al;在输入密码是一直保持l3为1,是输入状态l_anjian13:mov ah,0l_anjian14: call anjian1 cmp bl,k0 jz l_k01 cmp bl,k1 jz l_k12 cmp bl,k2 jz l_k23 cmp bl,k3 jz l_k34 cmp bl,k4 jz l_k45 cmp bl,k5 jz l_k56 cmp bl,k6 jz l_k67 cmp bl,k7 jz l_k78 cmp bl,k8 jz l_k89 cmp bl,k9 jz l_k90 cmp bl,kd jz l_fhl_k01: mov bp,0eeh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k12: mov bp,0edh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k23: mov bp,0ebh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k34: mov bp,0e7h add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k45: mov bp,0deh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k56: mov bp,0ddh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k67: mov bp,0dbh add ah,1 inc bp cmp ah,6jz srxmm_end jnz l_anjian14l_k78: mov bp,0d7h add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k89: mov bp,0beh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14l_k90: mov bp,0bdh add ah,1 inc bp cmp ah,6 jz srxmm_end jnz l_anjian14srxmm_end:;输入密码结束 mov dx,201h mov al,0c0h out dx,al;输入密码完后l3变为0 jmp l_anjian4 mov ah,0 pop cx pop bp retsrxmm endp;/用户输入管理员密码子程序srglymm procpush bppush cxlea bp,aryy;用于存放输入的密码mov dx,201hmov al,0b0hout dx,al;在输入密码是一直保持l3为3,是输入状态l_anjian120:mov ah,0l_anjian110: call anjian1 cmp bl,k0 jz l_k00 cmp bl,k1 jz l_k11 cmp bl,k2 jz l_k22 cmp bl,k3 jz l_k33 cmp bl,k4 jz l_k44 cmp bl,k5 jz l_k55 cmp bl,k6 jz l_k66 cmp bl,k7 jz l_k77 cmp bl,k8 jz l_k88 cmp bl,k9 jz l_k99 cmp bl,kd jz l_fhl_k00: mov bp,0eeh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k11: mov bp,0edh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k22: mov bp,0ebh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k33: mov bp,0e7h add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k44: mov bp,0deh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k55: mov bp,0ddh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k66: mov bp,0dbh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k77: mov bp,0d7h add ah,1 inc bp cmp ah,6 jz srglymm_end jnz l_anjian110l_k88: mov bp,0beh add ah,1 inc bp cmp ah,6 jz srglymm_end jnz

温馨提示

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

评论

0/150

提交评论