微机原理课程设计_电子密码锁

时间:2024.4.21

                                              

  “微机原理与接口技术”实验课程

           设计性实验报告

          电子密码锁的设计

专    业:      通信工程      

班    级:      2010级通信班   

学    号:                       

姓    名:                      

指导教师:                 

设计时间:      2012.12.12-18    

一.课程设计的目的和任务

1.设计目的

1、了解和掌握8086,8255接口芯片以及LED灯的原理和功能。

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

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

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

2.设计任务

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

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

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

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

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

二、设计内容

密码锁在开启之后需要置一个初始密码,之后输入密码并按确认键,在输入密码正确的条件下输出开锁电平,此时绿灯亮表示密码锁开启。当输入密码错误时,红灯亮表示密码锁关闭状态。可以继续输入密码并确认输入密码,直至密码正确则开启。在密码输入正确之后还可以实现对密码的修改,修改密码之后按下确认修改密码键,修改成功。

三、方案选择及原理

通过8255的24个接口实现密码输入,密码锁开关显示输出的功能。应用8255的A口的8位作为密码输入的8位,通过8个SWITCH开关控制,B口的其中两位分别接绿和红的LED灯作为输出表示密码锁的开关(绿灯亮表示密码正确开锁,红灯亮表示密码错误闭锁)。C口的作为输入,使用其中两位分别接两个BUTTON开关,一个作为密码修改确认开关,一个作为密码输入确认开关。

四、所用器件

CPU8086,地址锁存器273,译码器154,并行接口8255A,SWITCH开关,BUTTON 开关,LED灯。

主要器件简介

CPU8086


8086是Inter系列的16位微处理器,芯片上有2.9万个晶体管,采用 HMOS工 艺制造,用单一的+5V电源,时钟频率为5MHz~10MHz。8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。

并行接口8255

Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

五、原理图

整体电路图:

  

六.软件程序流程图:

七.汇编源程序

aport EQU 600H           ;8255各端口地址

bport EQU 602H

cport EQU 604H

ct EQU 606H

CODE SEGMENT

ASSUME CS:CODE

START:  MOV AX,10011001B

     MOV DX,ct

     OUT DX,AX              ;8255初始化

MOV AL,11111111B

     MOV DX,bport

     OUT DX,AL              ;先将B口都置1,使灯全灭

INPUTPC0:MOV DX,cport    ;检测PC0的接口

     IN AL,DX

     AND AL,00000001B

     CMP AL,00000001B

     JZ INPUTPC0

     MOV DX,aport            ;将A口信息读入并存至BL作为修改的密码

     IN AL,DX

     MOV BL,AL

INPUTPC1:MOV DX,cport    ;检测PC2的接口

     IN AL,DX

     AND AL,00000100B

     CMP AL,00000100B

     JZ INPUTPC1

A1:     MOV DX,aport

     IN AL,DX

     CMP AL,BL                ;比较输入密码与修改的密码

     JZ GREEN                 ;相等则跳转绿灯亮,表示开锁

RED:    MOV AL,11110111B   ;红灯亮,表示错误密码

     MOV DX,bport

     OUT DX,AL

     JMP INPUTPC1             ;密码错,继续检测输入密码

GREEN:  MOV AL,11111110B   ;绿灯亮,开锁

     MOV DX,bport

     OUT DX,AL

        JMP INPUTPC0        ;检测PC0口修改密码

CODE ENDS

END START

   

   

八.心得体会

通过本次的课程设计,我进一步掌握了使用Proteus软件设计电路图的能力,并且对上课中所学到的芯片的功能与工作方式有了更进一步的认识。每次遇到问题时,我是首先尝试着自己去解决,查书、上网找资料,总之竭尽全力自己独自去搞懂难题。实在没有办法时,我会找我的组员,我们一起讨论研究,同时也会向一些掌握的比较好的同学请教。在设计过程中,我发现我对上课中讲述的知识还有很大的欠缺,对Proteus软件的使用还不是很熟练,造成连线还有查错的进度很慢,在不断地练习之中终于对这款软件有了比较熟练的操作,觉得这是很好的仿真软件,它应该还可以用来进行除了8086以外,其他硬件电路的仿真。还有就是程序的编写与调试,在一开始编写程序时是没有程序流程图的,编写起来发现逻辑跳变很困难,感觉很乱,程序跳来跳去,最后混作一团,后来借鉴别人的方法,先画出一个流程图,再根据流程图写程序,很快就完成了程序的编写和调试,并达到预期目标。在这次的课程设计中,我发现团队合作还是需要的,当你发现你钻进一个牛角尖,组员的一句话就可能让你顿悟,从而把事情做好,一个人的力量还是有限的。通过这次课程设计,我发现微机原理这门课包含着太多的知识,涉及面很广,应用性很强,需要我们不断地学习实践。通过不断的实践才能更有效地掌握它。

九.参考文献

陈继红,徐晨.微机原理及应用—第2版. 北京 高等教育出版社.

       


第二篇:微机原理课程设计(电子密码锁)


摘 要

密码锁在输入密码正确的条件下输出开锁电平控制电控锁开启同显示00字样。当输入密码错误时发出错误警告声音同时显示FF字样。当六次误码输入的条件下产生报警电平报警。还可以实现对密码的修改修改成功后蜂鸣器发出确认音。密码锁的基本功能是可输入密码、修改码以及判断密码是否正确故需要输入设备及其与CPU的接口电路及相关存储设备判断密码则涉及逻辑分析即要实现逻辑功能另外相关的报警提示功能则需要相关的输出设备及其接口电路。 我采用8255A的B口作为显示器的输出c口为选管和接蜂鸣器开锁及报警电平。对于3次密码错误输入可以直接用软件控制线路简单程序也很易实现。用蜂鸣器发声次数来区分确认和警告声音一声表示确认三声表示警告。键盘上的按键用SW-PB共12个0-9为数字键连接到8255A的A口对应二进制数还有确认键和密码修改键按下表示A口接收到低电平信号。

关键词;密码锁, 蜂鸣器, 微机原理接口技术

Abstract

Cipher lock when the input password is correct conditions the output level control electric lock lock, open, the samedisplay the words 00. When the input password mistake, sending the error warning sound, at the same time display FF. When the six error input conditions, generating alarm level alarm. Also can be achieved on the password modification, modification is successful, the buzzer sends confirmation tone. The cipher lock is the basic function of input password, modify the code and password to determine whether the correct, so it needs to input device and an interface circuit of CPU and related storage device; Determine whether the password to logical analysis, namely, to realize the logic function; the related alarm function needs to output equipment and its interface circuit. I use the 8255A B as the display output, C for selected tube and a buzzer, lock and alarm level. For the 6 time password input errors, starting with a 8253 counter, and then found can be directly controlled by the software, simple circuit, the program is very easy to realize. With buzzer sound frequency to distinguish and confirm the warning sound, a sound that confirm, three sound warning. The keys on the keyboard to use SW-PB in all 12, for the number keys 0-9, connect to the 8255A A port corresponding binary number, and a confirmation key and password modify key, press the A port receives a low level signal.

KeywordsPassword lock, buzzer, microcomputer principle, interface technology,

2013学年第__2__学

目录

一、设计目的 ???????????????????????? 1

二、设计任务与要求 ????????????????????? 1

三、整体功能描述 ?????????????????????? 1

四、总体设计方案论证 ???????????????????? 1

4.1 方案一 ???????????????????????? 1

4.2 方案二 ???????????????????????? 2

五、硬件设计 ???????????????????????? 2

5.1 键盘 ????????????????????????? 3

5.2 中断控制 ??????????????????????? 3

5.3 计时 ????????????????????????? 4

5.4 输入输出接口 ????????????????????? 4

5.5 储存器及片选 ????????????????????? 5

5.6 整机电路图 ?????????????????????? 5

六、软件设计 ????????????????????????6

6.1 程序流程图 ?????????????????????? 6

6.2 程序清单 ??????????????????????? 7

6.3 程序调试运行 ????????????????????? 7

七、设计总结 ???????????????????????? 9

八、参考资料 ???????????????????????? 10

九、附录 ?????????????????????????? 11 微机原理与接口技术课程设计成绩评定表 ???????????? 21

一、设计目的

通过课程设计掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、8086微型计算机的应用方法、控制算法的设计及硬件设计方法。复习并学习用软件编程控制硬件。了解和掌握8086微机应用系统的软硬件设计过程、方法及实现,为以后设计实现8086微机应用系统打下良好的基础。

二、设计任务与要求

(1) 密码锁在输入密码正确时控制电控锁开启,同时显示00字样;当输入密码错误时,发出错误警告,并显示FF字样;当3次误码输入时,产生报警;具有密码修改的功能。

(2) 选用8086和适当的存储器及接口芯片完成相应的功能,用LED显示器显示电子锁的当前状态;画出详细的硬件连接图;给出程序设计思路、画出软件流程图;给出所有程序清单并加上必要注释;完成设计说明书(包括封面、目录、设计任务书、硬件设计思路、硬件原理图、软件设计思路、程序流程框图、程序清单、所用器件型号、总结体会、参考文献等)。

三、 整体功能描述

本设计为多功能密码锁,使用存储器保存密码防止断电后密码丢失。工作时按下按键蜂鸣器会发出声音提示按键有效并在数码管有“- -”闪烁字样,若相隔1分钟无按键按下,则清零。在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示OPEN字样。开锁后可按下“复位/修改密码键”实现修改密码功能的转入,之后先输入密码再输入同样的密码确认才可成功修改,修改成功后蜂鸣器会发出三声,数码管“00”闪烁三次提示修改密码成功。当输入密码错误时,发出错误警告声音,同时显示CLOSE字样,当输入密码错误次数累积够3次后,蜂鸣器会产生90秒的报警声响进行报警。

四、总体设计方案

根据本次设计的设计目的及设计要求,可有下列两种方案:

4.1 方案一

第1页

在本次设计中,因为密码锁的基本功能使可以判断密码是否正确,以及完成对密码的修改,所以需要用到输入设备以及CPU的接口电路以及相关存储设备;因为有报警提示功能,所以要用到相关的输出设备以及接口电路。因为要完成逻辑运算功能,所以必须要有CPU,CPU就选用我们最常用也最熟悉的8086,考虑到8255的端口兼具输入输出功能,灵活方便,所以选用一片8255作为输入输出设备与8086间的借口;采用0到9数字按键以及相关功能选择的输入;输出设备方面,采用两位数码管实现题目的状态提示要求,用一个蜂鸣器作为相关的警报,提示的声音输出。另外,为简化编程,采用8259中断控制器来触发中断实现密码锁工作模式的转换,其中的密码输入及判断功能与密码修改功能分别用两个外部中断来触发中断服务程序来实现。本设计的密码位数为6位。

4.2 方案二

1.系统结构框图

多功能密码锁控制芯片系统结构框图如图:

kljj

2.系统原理分析 多功能密码分3个模块:分频模块、核心状态控制模块和按键与七段数码管控制。其中,分频器模块主要是产生供按键、七段数码管扫描的时钟,周期大约在0.001~0.0001s之间。同时,分频时钟也可以用于核心控制模块的基本控制,由于扫描时钟要和按键、七段数码管控制电路构成一个同步电路,因此,必须使用同一个分频时钟。

按键和七段数码管显示控制电路时对外部的控制以及动态显示硬件进行驱动,该模块嘟ianjia内进行扫描,输出经过扫描至后的按键结果,并且可以把核心模块输出的二进制显示数据转换为BCD吗,

第2页

通过BCD译码和动态显示技术最终输出到动态七段数码管显示。 核心控制模块的作用是控制系统的状态。系统一共有5个状态,状态之间由外部按键和拨码进行切换,而状态显示则由LED灯以及数码管进行输出。

五、硬件设计

本设计使用了8086、8259A、8255、8253、2764、74LS138、74LS148、地址锁存器、数码管以及74系列逻辑门、蜂鸣器、开关等芯片与元器件,实现了键盘输入、中断控制、计时、按键响应、开锁及报警等功能模块,其硬件连接框图如图1所示。

微机原理课程设计电子密码锁

图1 硬件连接框图

5.1 键盘

本设计8255A的A口与两片级联的74LS148组合接用于输入键盘,实现对输入键号的读入。工作时,8086通过程序扫描键盘,当无键盘按下时,74LS148工作于无输入状态,GS口输出高电平,接到PA4作为识别有无按键按下信号,PA

第3页

口输入为10H;当有按键输入时,74LS148输入口接到低电平,输入有效,经编码后键号转换为相应二进制编码送到PA口,成为能为CPU识别的代表键值的有效信号。读入的按键信号经8086判断后,根据不同的功能,输出不同的按键响应,并转移到相对应的功能服务程序。

本设计总共用到11位按键,包括10位数码输入按键及一位“复位/修改密码”按键,电路设计总共可用按键有16位,供升级功能使用。键盘电路如下图2所示:

5.2 中断控制

用一片8259A芯片作为中断控制接口电路。其中IR0与IR1中断开放,单片工作于非缓冲方式,电平触发,优先级是普通全嵌套方式。可通过编程开中断,通过编程或者8253计时器关中断。电路连接如图3所示:

微机原理课程设计电子密码锁

图2 键盘连接图

5.3 计时

采用8253计时器控制中断的关断,实现单次输入密码超时则退出输入密码中断子程序、报警器响铃时间控制等功能。电路如图3所示。

第4页

图3 中断控制器连接图

5.4 输入输出接口

输入输出接口采用可编程的8255A,8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。在连接电路时8255 的PC0、PC1接到数码管片选,电路连接如图3所示。同时用8255A的B口控制数码管的显示,C口片PC0、PC1选数码管,PC2用来驱动SPEAK发出报警电路如图4所示。

微机原理课程设计电子密码锁

图4 按键响应、报警、开锁功能电路

第5页

微机原理课程设计电子密码锁

5.5.储存器及片选电路

存储器及片选电路采用一片2764存储器和一片74LS138,连接电路如图5所示:

微机原理课程设计电子密码锁

图5 片选及存储器电路

5.6 整机电路图:见附录一

六、软件设计

6.1 程序流程图

第6页

图6 程序流程图

6.2 程序清单:见附录二

第7页

微机原理课程设计电子密码锁

七、设计总结与体会

通过本次课程设计,我对 8255,8253,8259等芯片的各引脚的功能、名称、工作方式、内部结构有了更深层次的掌握,对这三种芯片的编程从陌生转向熟练。通过这次的微机课程设计,对书本所学的知识有了进一步的巩固,并且对三种芯片各自的功能、工作方式有了明确性的区分。在设计过程中遇到问题时,遇到含糊不清或者看不懂的地方及时翻阅相关课本知识。有时看课本也没有结果时就和组员互相探讨。在设计过程中,才发现自己遗漏许多课本的相关知识,对各芯片的功能及其工作方式掌握的不够清楚。这说明在实践中才能真正的掌握从课本中所学的知识。这次的课程设计让我为一年后的毕业设计打下了基础。

第8页

八、参考资料

[1] 冯博琴,吴宁. 微型计算机原理与接口技术. 北京 清华大学出版社(第二版),2007.

[2] 赵国相等. 微型计算机原理与汇编语言程序设计. 北京 科学出版社,2004.

[3] 吴荣光,吕钧星.微型计算机原理及应用.广州 华南理工大学出版社,2006.

[4] 张睿,赵艳华,刘志刚. 精通Protel DXP 2004电路设计. 北京 电子工业出版社2005.

[5]耿丹,梁佑斌.32位微型计算机原理及应用实验指导书.广州 华南理工大学教材供应中心,2001.

[6]王爽.汇编语言(第2版).北京 清华大学出版社,2008.

[7]康华光等 .电子技术基础(数字部分)第五版. 华中科技大学电子技术课程组编. 北京 高等教育出版社,2006

第9页

九、附录

附录一:电路基本连接图

第10页

微机原理课程设计电子密码锁

附录二:程序清单(一)

DATA SEGMENT ;以下代码写入RAM

CODEIN DB 6 DUP(?) ;输入的密码保存的地址

CODECH DB 6 DUP(?) ;修改后的密码的保存地址

CODEOR DB 0,0,0,0,0,0 ;初始密码

ORG 01000H ;下面的代码写入ROM

DTABLE DB 80H,02H,10H,3FH,79H,71H,60H,5BH

DATA ENDS

STACKS SEGMENT

STA DB 20 DUP(?)

STACKS ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACKS

START:

MOV SI,OFFSET CODEIN

MOV DI,OFFSET CODEOR

MOV BP,OFFSET DTABLE

MOV AL,09H ;(键盘输入中断)设定密码输入的中断向量(即IR0的中断向量) MOV AH,25H

INT 21H

PUSH BX

PUSH DS

MOV DX,SEG INPUT

MOV DS,DX

MOV DX,OFFSET INPUT

INT 21H

MOV AL,09H ;(键盘输入中断)设定密码修改的中断向量(即IR1的中断向量) MOV AH,25H

INT 21H

PUSH BX

PUSH DS

MOV DX,SEG CHANGE

MOV DS,DX

MOV DX,OFFSET CHANGE

INT 21H

MOV AL,1BH ;初始化8259

OUT 10H,AL ;单片工作,高电平有效

第12页

MOV AL,08H

OUT 11H,AL

MOV AL,03H

OUT 11H,AL

MOV AL,0FCH

OUT 11H,AL ;开放IR0,IR1 MOV AL,20H

OUT 10H,AL

MOV AL,68H

OUT 10H,AL

MOV AL,82H ;

OUT 06H,AL

AA:

STI

MOV AL,00H

OUT 04H,AL ;

INPUT: ;

CLI

MOV DL,00H

IN1:

CMP DL,03H ;

JNZ IN2 ;

MOV CX,03FFH ;

R1:

MOV DH,3FH

MOV AL,02H

OUT 00H,AL ;

R2:

DEC DH

CMP DH,00H

JNZ R2

LOOP R1

JMP IN4 ;

IN2: ;

MOV AL,[BP+4]

OUT 04H,AL ;

MOV BX,0H

MOV CX,03H ;初始化8255 A口方式0输出,B口方式0输入,C口输出输出低电平使数码管熄灭 密码输入程序 判断是否连续3次输入错误密码 若不是这继续输入 使蜂鸣器长鸣报警(通过延时实现) 输出高电平使蜂鸣器发声 报警完毕,跳至中断返回 输入密码 数码管显示‘--’提示输入密码 设置循环次数

第13页

IN3:

MOV BP,OFFSET DTABLE MOV AL,[BP]

OUT 04H,AL ;数码管提示输入位数 CALL CCSCAN ;调用键盘扫描程序 CMP AL,0BH ;判断是否按下返回键 JZ IN4

MOV [BX+SI],AL ;保存输入密码 INC BX INC BP LOOP IN3

MOV BP,OFFSET DTABLE ;CLD

MOV CX,03

MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR

REPZ CMPSB ;JNZ WRO ;MOV AL,[BP+3]

OUT 04H,AL ;MOV AL,04H

OUT 00H,AL ;XOR DL,AL JMP IN4

WRO: ;INC DL

MOV AL,[BP+5] ;OUT 04H,AL

MOV CX,03H ;W1:

MOV AL,02H ;OUT 00H,AL

W2: ;MOV BL,3FH DEC BL CMP BL,00H JNZ W2

XOR AL,AL ;OUT 00H,AL

W3: ;判断密码是否正确 判断密码是否正确 若错误就报警 若正确数码管就显示‘00‘且给LED高电平使其点亮 出错报警部分 数码管显示’FF‘提示错误设定蜂鸣器响的次数 使蜂鸣器发声 延时 输出低电平关蜂鸣器 延时

第14页

MOV BL,3FH

DEC BL

CMP BL,00H

JNZ W3

LOOP W1

JMP IN1 ;中断返回 IN4:

STI

IRET

CHANGE: ;CLI

MOV DL,00H

INP1:

CMP DL,06H

JNZ INP2

MOV CX,03FFH

RR1:

MOV DH,3FH

MOV AL,02H

OUT 00H,AL

RR2:

DEC DH

CMP DH,00H

JNZ RR2

LOOP RR1

JMP C4

INP2:

MOV AL,[BP+4]

OUT 04H,AL

MOV BX,0000H

MOV CX,03H

INP3:

MOV BP,OFFSET DTABLE

MOV AL,[BP]

OUT 04H,AL

CALL CCSCAN

CMP AL,0BH

JZ IN4

MOV [BX+SI],AL

INC BX

INC BP 密码修改程序

第15页

LOOP INP3

MOV BP,OFFSET DTABLE

CLD

MOV CX,03

MOV SI,OFFSET CODEIN

MOV DI,OFFSET CODEOR

REPZ CMPSB

JNZ WRRO

MOV AL,[BP+3]

OUT 04H,AL

XOR DL,DL

JMP CHANGE

WRRO:

INC DL

MOV AL,[BP+5]

OUT 04H,AL

MOV CX,03H

WW1:

MOV AL,02H

OUT 00H,AL

WW2:

MOV BL,3FH

DEC BL

CMP BL,00H

JNZ WW2

XOR AL,AL

OUT 00H,AL

WW3:

MOV BL,3FH

DEC BL

CMP BL,00H

JNZ WW3

LOOP WW1

JMP INP1 ;

CHAN: ;MOV SI,OFFSET CODEIN

MOV DI,OFFSET CODECH

MOV AL,[BP+6] ;OUT 04H,AL

MOV CX,03FFH

Y1:

LOOP Y1 当密码输入正确时,转入密码修改部分修改密码部分 数码管提示第一次输入

第16页

MOV BP,OFFSET DTABLE

MOV BX,0H

MOV CX,03H

C1:

MOV AL,[BP]

OUT 04H,AL

CALL CCSCAN

CMP AL,0BH

JZ C4

MOV [BX+SI],AL ;INC BX

INC BP

LOOP C1

MOV BP,OFFSET DTABLE

MOV AL,[BP+7]

OUT 04H,AL ;MOV CX,03FFH

Y2:

LOOP Y2

MOV BP,OFFSET DTABLE

MOV BX,0H

MOV CX,03H

C2:

MOV AL,[BP]

OUT 04H,AL

CALL CCSCAN

CMP AL,0BH

JZ C4

MOV [BX+DI],AL ;INC BX

INC BP

LOOP C2

MOV BP,OFFSET DTABLE

REPZ CMPSB

JNZ CHAN ;MOV DI,OFFSET CODEOR

MOV CX,03H

CLD

REP MOVSB ; MOV AL,02H ;OUT 00H,AL 存放在输入密码缓冲区 数码管提示第二次输入 存放在修改密码缓冲区 判断两次输入的密码是否一致 若是相等那就保存密码 且蜂鸣器响一下提示修改成功

第17页

MOV CX,03FFH

C3: LOOP C3

XOR AL,AL

OUT 00H,AL ;中断返回

C4:

STI

IRET

CCSCAN PROC NEAR ;键盘扫描子程序 MOV AL,00H

OUT 00H,AL

IN AL,02H

NOT AL

AND AL,0FH

CMP AL,00H ;

JNZ K1

JMP CCSCAN

K1:

MOV CX,0EFFH ;

LOOP K1

IN AL,02H

CMP AL,00H

JZ CCSCAN

MOV AH,60H ;

K2:

MOV AL,AH

OUT 00H,AL

IN AL,02H

NOT AL

AND AL,0FH

CMP AL,00H ;

JNZ K3

OR AH,01H

ROR AH,1 ;

AND AH,0FH

JMP K2

K3:

ADD AL,AH

RET

CCSCAN ENDP

CODE ENDS

END START 判断是否有键按下延时 扫描第一列 判断是否有键按下扫描下一列

第18页

程序清单(二)利用DOS调用显示

DATA SEGMENT

TABLE DB '888'

STRING1 DB 'Please enter a passward:',0DH,0AH,'$' STRING2 DB 'Wrong!',0DH,0AH,'$'

STRING3 DB 'OPEN!','$'

STRING4 DB 'CLOSE!','$'

BUFFER DB 40,?,40 DUP(0)

TAB_LEN EQU 26

DATA ENDS

;

STACK SEGMENT

DB 100 DUP(0)

STACK ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA DX,STRING1

MOV AH,09H

INT 21H

LEA DX,BUFFER

MOV AH,0AH

INT 21H

MOV SI,DX

INC SI

MOV BL,[SI]

MOV BH,0

INC SI

LEA DI,TABLE

MOV CX,TAB_LEN

CMP CX,BX

JNC GOON

LEA DX,STRING2

JMP EXIT

GOON: CLD

MOV AL,[SI]

SCAN:REPNZ SCASB

JZ MATCH

第19页

ERROR: LEA DX,STRING4 JMP EXIT

MATCH: INC CX CMP CX,BX JC ERROR PUSH CX PUSH SI PUSH DI MOV CX,BX DEC DI REPZ CMPSB POP DI POP SI POP CX JZ FOUND JCXZ ERROR JMP SCAN FOUND: DEC DI

LEA DX,STRING3 EXIT:MOV AH,09H INT 21H MOV AH,4CH INT 21H

CODE ENDS

END START

第20页

第21页

更多相关推荐:
微机原理课程设计报告

微机原理课程设计设计报告姓名朱文斋班级学号30905020xx教师张荣标20xx年1月5日微机原理课程设计一目的结合微型计算机原理课程的学习进一步巩固已学的知识同时针对计算机原理知识的具体应用学会对系统中DOS...

微机原理课程设计实验报告

河北科技大学课程设计报告学生姓名学号专业班级课程名称学年学期指导教师年月课程设计成绩评定表目录一课程设计的目的1二设计题目1三设计内容要求2四设计成员及分工2五课程设计的主要步骤2六课程设计原理及方案3七实现方...

数字钟_接口课设报告_8086微机原理与接口技术课程设计

接口技术基础实验报告学院计算机科学与技术学院班级计091学号09130220xx姓名曹恒楼指导老师顾晖时间20xx616接口技术课程设计目录数字钟的设计31设计需求分析与解决方案311设计需求分析3111题目要...

微机原理课程设计报告

微机原理课程设计报告设计名称:LED七段数码管数字钟学院:电子信息学院班级:电科091提交时间:20##年6月15日一:设计内容设计的电路功能是实现时钟的24进制计时并显示在数码管上,通过按键可对时钟的时、分、…

微机原理课程设计总结

南京航空航天大学微机原理课程设计数据采集系统中断法微机原理课程设计数据采集系统中断法南京航空航天大学微机原理课程设计数据采集系统中断法一课设目的进一步掌握微机原理知识了解微机在实时采集数据的应用学习掌握编程和程...

微机原理课程设计报告

课程设计报告纸数据采集系统三中断法一实验目的进一步掌握微机原理知识了解微机在实时采集过程中的应用学习掌握编程和程序调试方法二实验内容1用中断法将ADC0809通道0外接05V电压转换成数字量后在七段LED数码管...

微机原理课程设计报告(电子时钟)

微机原理课程设计报告1设计目的培养和锻炼在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力通过课程设计要求熟悉和掌握微机系统的软件硬件设计的方法设计步骤得到微机开发应用方面的初步训练掌握825...

西电微机原理课程设计报告(11级)

基于8088的微机最小系统设计与应用一引言微机发展概述1微型计算机的发展历史第一台微型计算机19xx年罗伯茨用8080微处理器装配了一种专供业余爱好者试验用的计算机牛郎星Altair第一台真正的微型计算机19x...

江苏大学 《微机原理》课程设计报告

《微机原理》课程设计报告班级:姓名:学号:一、目的结合微机原理课程的学习,进一步巩固所学只是,掌握汇编语言的编程要领,熟悉汇编程序上机过程以及进行程序调试。二、设计任务,程序清单,流程图任务1(具体题目要求):…

微机原理跑马灯课设报告

微机原理课程设计说明书设计题目跑马灯学院计算机科学与工程学院专业班级学生学号同组者指导教师年学期目录一实验简介21基本要求22设计提示23进一步设计要求2二实验原理21实验原理描述228254芯片3218254...

微机原理课程设计报告(电子秒表)

微机原理课程设计报告电子与控制工程学院计算机原理与接口技术课程设计姓名高强强学号320xx00232专业建筑设施智能技术设计题目可任意启动停止的电子秒表指导老师傅攀峰目录微机原理课程设计报告1电子秒表课程设计要...

微机原理课程设计报告

并行接口芯片8255A的应用键盘与数码管一设计内容8255A是通用的可编程并行接口芯片可以直接与8066CPU连接使用在微机系统中应用较为广泛它有三个并行输入输出端口可通过编程为端口设置多种工作方式以及规定端口...

微机原理课程设计报告(35篇)