




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、设计目的:本课程设计旨在使学生在学习微机原理与接口技术这门课程之后,能够掌握Intel8086/8088微型计算机系统的组成原理,熟练运用8086宏汇编语言进行程序设计,熟悉各种I/O接口的配套使用技术,掌握用Intel8086/8088CPU进行一些基本的微型计算机系统的软硬件设计方法。通过对具体应用的课程设计使学生对所学知识有进一步的加深和了解,培养和提高学生的动手能力和实际应用能力。二、设计内容:随着电子技术的发展,计算机应用技术起着越来越重要的作用。多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。本课程设计是基于微机原理与接口技术的简单应用。运用所学的微机原理和接口技术知识完成简易数码锁。 数码锁主要由8086系统及Intel 8255A可编程并行接口芯片和密码输入电路、显示电路、密码确认电路这几部分构成。根据设计的功能和要求,编写相应的汇编程序,以支持整个系统的运行,实现数码锁的功能。汇编程序只要分为输入密码、判断密码、修改密码这几部分流程来编写,以满足整个数码锁的设计要求并完成相应的功能.三、设计任务和要求:1:数码锁系统主要有8086系统和8255A可编程并行接口芯片及密码输入电路、显示电路、密码确认电路组成。2:用K0K7开关作为密码控制输入键3:K2K7为6位密码设置及输入开关4:K0、K1分别做控制键5:当K1开关闭合时,通过开关K2K7重设并保存新密码6:当K1开关断开时,查看开关K0的状态,若K0闭合,将K2K7输入的密码与原密比较,若相同则灯亮,否则,灯灭;若K0断开,则重复输入密码进行比较。四、可选器材:PC机;EL-1型微机原理教学实验箱系统;信号发生器;五、参考资料:1EL-1型微机教学系统实验指导书2 赵彦强.微机原理与接口技术(第二版).合肥:合肥工业大学出版社,2010. 3周荷琴,吴秀清.微型计算机原理与接口技术(第三版).合肥:中国科学技术大学出版社,2004.4 戴梅萼,史嘉权.微型计算机技术及应用.北京:清华大学出版社,19965 李伯成.微型计算机原理及接口技术.北京:清华大学出版社,2005.6 洪永强.微机原理与接口技术.北京:科学出版社,2004.硬件设计方案:一、设计概述 原理图 硬件工作流程首先对可编程器件进行初始化操作,即对8255写入方式控制字,配置I/O端口的输入输出方向。本系统选择PA端口为输入口,接收密码输入区的电平状态;选择PB端口为输出口,控制彩灯的显示。对8255的配置如表1所示,具体接法详见附录的系统硬件原理图部分。表1 8255 I/O资源配置表Intel 8255A地址端口方向工作方式外接电路模块输入方式0输出方式0彩灯寄存器配置10010000按照系统硬件原理图 和8255的配置连接好电路,对8255进行相应的I/O端口操作即可二、8086微处理器8086微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中。28086微处理器的一般性能特点: 16位的内部结构,16位双向数据信号线; 20位地址信号线,可寻址1M字节存储单元; 较强的指令系统; 利用第16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口; 中断功能强,可处理内部软件中断和外部中断,中断源可达256个; 单一的5V电源,单相时钟5MHz。另外,Intel公司同期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。38086CPU的编程结构编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。如图21所示是8086CPU的内部功能结构。从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。(1) 执行部件(EU)功能:负责指令的执行。组成:包括ALU(算术逻辑单元)、通用寄存器组和标志寄存器等,主要进行8位及16位的各种运算。(2) 总线接口部件(BIU)功能:负责与存储器及I/O接口之间的数据传送操作。具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。组成:它由段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器组成。(3) 8086 BIU的特点8086的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:每当8086的指令队列中有两个空字节,或BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。从上述BIU与EU的动作管理原则中,不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这正是8086获得成功的原因之一。(5) 8086 CPU内部寄存器8086 内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括指针寄存器、变址寄存器等。通用寄存器8086 有4个16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作数,也可分为8个8位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)来使用。其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,这些寄存器在具体使用上有一定的差别,如表21所示。指针寄存器系统中有两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置; BP是基数指针寄存器,通常用于存放基地址。变址寄存器系统中有两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。控制寄存器IP、标志寄存器是系统中的两个16位控制寄存器,其中IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。标志寄存器的内容被称为处理器状态字PSW,用来存放8086 CPU在工作过程中的状态。段寄存器系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。(6) 处理器状态字PSW8086 内部标志寄存器的内容,又称为处理器状态字PSW。其中共有9个标志位,可分成两类:一类为状态标志,一类为控制标志。其中状态标志表示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态标志进行判断,实现转移;控制标志则可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。图22 标志寄存器PSW中各标志位的安排如图22所示,这些标志位的含义如下:状态标志:6个 CF进位标志位,做加法时最高位出现进位或做减法时最高位出现借位,该位置1,反之为0。 PF奇偶标志位,当运算结果的低8位中l的个数为偶数时,则该位置1,反之为0。 AF半进位标志位,做字节加法时,当低四位有向高四位的进位,或在做减法时,低四位有向高四位的借位时,该标志位就置1。通常用于对BCD算术运算结果的调整。(例:1101 1000+1010 1110=1 1000 0110其中AF1,CF1) ZF零标志位,运算结果为0时,该标志位置1,否则清0。 SF符号标志位,当运算结果的最高位为1,该标志位置1,否则清0。即与运算结果的最高位相同。 OF溢出标志位,OF溢出的判断方法如下:加法运算:若两个加数的最高位为0,而和的最高位为1,则产生上溢出;若两个加数的最高位为1,而和的最高位为0,则产生下溢出;两个加数的最高位不相同时,不可能产生溢出。减法运算:若被减数的最高位为0,减数的最高位为1,而差的最高位为1,则产生上溢出;若被减数的最高位为1,减数的最高位为0,而差的最高位为0,则产生下溢出;被减数及减数的最高位相同时,不可能产生溢出。如果所进行的运算是带符号数的运算,则溢出标志恰好能够反映运算结果是否超出了8位或16位带符号数所能表达的范围,即字节运算大于十127或小于128时,字运算大于十32767或小于32768时,该位置1,反之为0。三、8255的内部结构与引脚功能8255是一种通用的可编程并行接口芯片,它可用程序来改变功能,通用性强,常常应用于I/O设备需要与CPU并行通信的场合。8255具有3个带锁存或缓冲的数据端口,可于外设进行数据交换。A口和B口内具有中断控制逻辑,在外设和CPU之间可用中断方式进行信息交换。在条件传送方式下可用“联络”线进行控制。抄书上的P245P246 8255内部结构图特性(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定. 引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择; 当A0=1,A1=0时,PC口被选择; 当A0=1.A1=1时,控制寄存器被选择.8255控制字 抄书P247P248软件设计方案一、设计概述此程序在于用K2K7作为密码设置部件,K1作为重置密码键,K0作为密码比较键。当K1闭合则设置新密码,当K0闭合则将输入信号与原密码比较。首先将8255初始化,工作在方式0,A口作为输入口,B口作为输出口。此程序假设8255A口、B口,以及控制字的地址为60H、61H、63H。所以,8255初始化程序可写为如下形式 MOV AL,90H MOV DX,63H OUT DX,AL在程序执行过程中首先判断K1,若K1闭合则重置密码,当K1断开再判断K0,K0闭合则将输入与原密码进行比较。在程序中为屏蔽K0、K1对输入密码的影响,还应将从A口读到的信息与0FC相与,然后再比较密码或重置密码。重置密码的程序如下 L0: IN AL,60H TEST AL,02H JZ L1 IN AL,60H AND AL,0FCH MOV BLOCK,AL JMP L0在程序中为保存设置的密码和不断输入的测试密码,特开辟了以字节定义的存储单元BLOCK和INPUT。将原密码存于BLOCK中,通过K2K7不断输入的测试密码则保存在INPUT中。当检测到K0闭合时,将BLOCK与INPUT中内容相比较,相同则灯亮不同则灯灭。 比较密码的程序如下 IN AL,60H TEST AL,01H JZ L2 MOV AL,BLOCK CMP AL,INPUT JNZ M MOV AL,0FFH OUT 61H,AL 在每次比较完密码,读取完输入信息或是存储完密码都将程序转到对K1的比较。这样才可以在程序执行过程中判断是否需要重置密码。二、程序流程图 三、程序代码DATAS SEGMENT;BLOCK用于存储原密码BLOCK DB 0;INPUT用于存储输入信息 INPUT DB 01HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA ORG 100HSTART: MOV AX,DATA MOV DS,AX MOV AL,90H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汇丰银行AI面试题库:金融科技领域求职必 备
- 2025质量管理体系注册审核员题库(附含参考答案)
- 国有企业干部岗位选拔面试题库
- 检维修安全培训考试及答案
- 逻辑学考题及答案
- 高级编程技能必 备面试题与答案解析
- 面试经验分享:新兴事务面试题与解答
- 校园职场成长路:职业领域新面试题解答
- 职场竞争力提升之路:解读面试题目的精神内涵与实践方法
- 银行慰问发言稿
- 2024年新人教PEP版三年级上册英语课件unit1 B 第1课时
- 房屋安全鉴定理论考试复习题及答案
- 彩钢瓦检验批
- 2024-2030年中国大米行业市场深度调研及发展趋势与投资前景研究报告
- 中国近现代史纲要-第七章
- 营销中心岗位职责及流程样本
- 送货单完整模板
- 如何成为一名好的医生
- 消防员考试:消防监控上岗证试题及答案
- 雅安市雨城区2024年重点中学小升初数学入学考试卷含解析
- 土地出租合同书电子版
评论
0/150
提交评论