微机原理与单片机技术 8086微处理器及其系统
微机原理与接口课程设计基于8086微处理器和8255A芯片的汽车信号灯微机控制系统的设计与实现

课程设计题目汽车信号灯目录一、设计目的 (2)二、系统硬件设计 (3)三、系统软件设计 (9)四、系统调试及结果 (15)五、总结和体会 (16)六、参考文献 (16)一、设计目的通过所学知识和现代计算机技术来模拟模拟汽车信号灯控制系统,把所学的理论的知识用到现实实践中去,加强了对理论知识的理解和记忆。
展示了计算机技术在汽车行业的应用。
设计出汽车信号灯微机控制系统。
汽车信号灯的作用是大家所熟知的,汽车通过显示不同的信号灯来告诉前后左右的行车者本汽车正在进行的操作,本控制系统采用8086微处理器作为处理器和可编程的8255A芯片来模拟汽车信号灯控制系统。
通过在实验箱上分别按K1,K2,K3和K4键来显示汽车左转、右转,前进和后退等状态。
左/右转弯开关K1,K2闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁;紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁;当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮;停靠时(合上停靠开关),即按K4键时,所有的灯闪烁。
所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯灯、暂停灯、照明远灯和照明近灯共五类类灯.二、系统硬件设计1.硬件连接图:利用8088驱动8255 8253来连接外部电路。
2.器件选择:CPU(8088) 1个发光二极管 5个74ALS373 2个电阻 5个74ALS245 1个 74LS00 5个8255 1个控制开关 5个8253 1个3、8088,8255,8253功能及说明8088的引脚包括20根地址线,16根数据线及控制线,状态线,时钟,电源和地线等,大致可分五大类.第一类只传送一种信息,第二类每个引脚电平的高低代表不同信息,第三类代表不同的工作方式,第四类每个引脚可以传送两种信息,第五类引脚在输入和输出时分别传送不同的信息.同时还要地址锁存器及数据总线收发器来构成最小系统.因本电路用到各种比较重要的芯片,因此有必要对芯片进行简要介绍。
微机原理第2章课后答案

第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
微机原理第三章8086的寻址方式和指令系统PPT课件

04 寻址方式和指令系统的关 系
寻址方式对指令执行的影响
01
寻址方式决定了指令操作数的来源和访问方式,从而
影响指令的执行效率和正确性。
02
不同的寻址方式可能导致指令执行时间不同,因为它
们可能需要不同的计算步骤和内存访问次数。
03
寻址方式的正确选择可以简化指令的执行过程,提高
指令的执行效率。
指令系统对寻址方式的支持
在个人电脑(PC)领域,IBM PC/AT是基于8086的扩展版 80286开发的,奠定了现代PC 的基础。
8086也被广泛应用于工业控制、 自动化设备、仪器仪表等领域。
现代计算机系统中8086的继承和发展
尽管随着技术的进步,更先进的微处理器已经取代了8086在主流应用中的地位, 但8086的设计理念和架构仍然在许多嵌入式系统、低功耗应用中得到继承和发展 。
CALL指令用于调用子程序, 并将返回地址压入堆栈。
处理器控制类指令
处理器控制类指令用于控制 处理器的状态和行为。
包括HLT、INT、IRET等指令。
02
01
03
HLT指令用于暂停处理器执 行,等待中断或系统调用。
INT指令用于触发软件中断, 执行中断处理程序。
04
05
IRET指令用于从中断返回, 恢复程序的执行。
算术运算类指令用于执行 加、减、乘、除等算术运 算。
ADD指令将两个操作数 相加并将结果存储在目标 操作数中。
ABCD
包括ADD、SUB、MUL、 DIV等指令。
SUB指令从第一个操作数中 减去第二个操作数,并将结 果存储在目标操作数中。
逻辑运算类指令
逻辑运算类指令用于执行逻 辑与、或、非等逻辑运算。
第2章 8086微处理器与汇编语言——_微机原理及单片机寻址方式

寄存器寻址 操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
寄存器名表示其内容(操作数)。 注意:源操作数和目的操作数的位数必须相同。
操作码 操作数 ...... 操作数
8086指令格式中的操作数有:零操作数、一操作数 和二操作数三种形式。 例: RET INC CX ADD AX , BX
寻址方式※
数据寻址方式
立即数寻址 寄存器寻址
地址寻址方式
直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址
演示
MOV AX, [SI+06H]
;AX←DS:[SI+06H]
MOV AX, 06H[SI]
;AX←DS:[SI+06H]
基址变址寻址
有效地址由基址寄存器(BX或BP)的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP 基址寄存器默认是SS;可用段超越前缀改变。
计划学时:2
指令的基本格式
计算机中指令由操作码字段和操作数字段两部分 组成。
操作码字段―指示计算机要执行的操作。 操作数字段―指出在指令执行操作过程中所需要的数据。 操作数本身 操作数地址或是地址的一部分 可以是指向操作数地址的指针或其他有关 操作数的信 息
指令的一般格式:
直接寻址
微机原理8086汇编语言

微机原理8086汇编语言微机原理和8086汇编语言是计算机科学与技术领域中的重要基础知识,对于理解计算机的运行原理和编程开发具有关键作用。
本文将全面介绍微机原理和8086汇编语言的基本概念、功能特点以及应用实践。
一、微机原理概述微机原理是指微型计算机的构成、工作原理、体系结构和外围设备等的基本原理。
微机由中央处理器(CPU)、存储器和输入输出设备等组成,其内部实现了数据的存储和处理,并能够与外部环境进行交互。
微机原理的研究与应用对于计算机硬件的设计和控制至关重要。
二、8086汇编语言介绍8086汇编语言是在微机原理基础上发展起来的一种低级程序设计语言。
它以机器指令的形式直接对CPU发出控制命令,实现数据处理和操作。
8086汇编语言具有直观、高效的特点,可以对计算机内部各种硬件资源进行精细控制,实现复杂的算法和功能。
三、8086汇编语言的基本语法8086汇编语言的基本语法包括指令、寻址方式和操作数等。
指令通常由操作码和操作数组成,用于执行特定的操作。
寻址方式指定操作数在内存中的位置,可以是直接寻址、寄存器间接寻址、立即数寻址等多种方式。
操作数表示要进行操作的数据,可以是寄存器、内存单元或立即数。
四、8086汇编语言的常用指令8086汇编语言提供了丰富的指令集,包括数据传输指令、算术运算指令、逻辑运算指令、条件转移指令、无条件转移指令等。
通过这些指令的组合和调用,可以实现各种复杂的功能和处理需求。
五、8086汇编语言的应用实践8086汇编语言广泛应用于嵌入式系统设计、驱动程序开发、操作系统编程以及性能优化等领域。
在嵌入式领域,汇编语言可以直接操作硬件资源,实现高效的数据处理和控制;在操作系统编程中,汇编语言可以直接访问操作系统内核,实现底层功能的扩展和优化。
六、8086汇编语言的优势与不足8086汇编语言具有高效、灵活的优势,可以直接操作硬件资源和内存,实现高性能的程序。
然而,汇编语言的开发和调试困难,可读性低,维护成本高,对程序员的要求较高。
8086微机原理与接口技术课程设计

引言8086微机是早期个人计算机使用的一种微处理器,它具有复杂的内部结构和丰富的外部接口,广泛应用于计算机系统的设计和开发中。
本文档旨在介绍8086微机的原理和接口技术,并为课程设计的实施提供指导。
8086微机原理8086微机的基本结构:8086微机包括CPU、内存、外围设备以及系统总线等部分。
其中,CPU是控制和执行各种指令的核心部件,内存用于存储程序和数据,外围设备用于与外部进行数据交互,而系统总线则负责实现各部分之间的有效通信。
8086微机的内部结构:8086微机的内部结构包括通用寄存器、指令寄存器、段寄存器、标志寄存器等。
通用寄存器用于存储临时数据和计算结果,指令寄存器存储当前执行的指令,段寄存器用于定位内存中的数据段和代码段,而标志寄存器则存储程序运行过程中的标志位信息。
8086微机的指令系统:8086微机具有丰富的指令系统,包括数据传输指令、算术指令、逻辑指令、条件转移指令、循环指令等。
这些指令能够满足各种数据处理和控制需求,为程序的编写提供了灵活性和高效性。
8086微机接口技术内存与CPU的接口技术:8086微机通过地址总线和数据总线与内存进行通信。
其中,地址总线用于指定内存中的地址位置,数据总线用于传输数据。
通过适当的地址和数据线连接,可以实现对内存的读写操作。
外部设备与CPU的接口技术:8086微机可以通过端口和中断请求线与外部设备进行通信。
通过端口地址和端口数据线连接,可以在CPU和外部设备之间进行数据传输。
通过中断请求线,CPU可以接收外部设备的中断信号,从而进行相应的处理。
时序控制技术:8086微机的各个部件之间需要进行协调和同步。
通过合理的时序控制技术,可以确保各部件之间的数据传输和操作按照正确的时间序列进行,避免出现数据冲突和错误。
课程设计实施课程设计目标:本课程设计旨在通过8086微机原理与接口技术的学习和实践,培养学生的计算机系统设计和开发能力。
通过对8086微机的原理和接口技术的深入理解,学生可以独立完成微机系统的设计和实现。
微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR
第2章 8086微处理器与汇编语言——_微机原理及单片机汇编语言

分析运算操作符应用之例
ARRAY DW 1 , 2 , 3 : ADD SI , TYPE ARRAY
汇编后: ADD VAR ARRAY STR
MOV MOV MOV
SI , 2 ; VAR为字变量 ;ARRAY为双字变量 ; STR为字节变 ; (AX) ← 2 ; (BX) ← 4 ; (CX) ← 1
第2章 8086微处理器与汇编语言
汇编语言
学习目标
了解8086汇编语言格式以及伪指令的应用 要求。
学习内容
汇编语言语句的种类及其格式 汇编语言数据 表达式与运算符 伪指令
汇编语言语句的种类及其格式
指令语句
能产生目标代码, CPU可以执行, 完成特定功能的语句, 由 CPU指令组成。
功能:定义变量的类型,分配空间并赋初值。
格式:[变量名] DB/DW/DD 操作数[,操作数…]
[变量名]
是任选项,是数据单元的符号地址。
操作数的几种形式
操作数为常数,常数表达式或为字符(串) 操作数是“?”只定义存储空间,但不预存储数据
操作数是已定义的变量或标号
操作数字段的几种形式举例
DATA_BYTE
DATA_WORD
Hale Waihona Puke DATA_DW0A 04 10 64 00 00 01 FB FF 3C 00 00 00 FD FF 00 00
10d 4 10h 100d 100h -5 60d
0FFFDh
操作数字段的几种形式举例
操作数是字符串 MESSAGE DB ‘HELLO’ ABC
综合运算符
属性运算符PTR
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.2 内部寄存器
1 通用寄存器
4个16位的通用寄存器:AX,BX,CX,DX。 可以存放16位的操作数 也可分别分解为2个8位寄存器(AL、AH 、..)
AX (primary accumulator):累加器。乘、除运算,字的输入输出,中间结果 的缓存。 AL 字节的乘、除运算,字节的输入输出,十进制算术运算。 AH 字节的乘、除运算,存放中断的功能号。 BX (base, accumulator):基址寄存器。存储器指针。 CX (counter, accumulator):计数寄存器。串操作、循环控制的计数器。 CL 移位操作的计数器 DX (accumulator, other functions):数据寄存器。字的乘、除运算,间接的输 入输出。
2.1.3 存储结构
2.1.3 存储结构
3 物理地址合成
物理地址的形成:
由编译器完成,编译过程中不需要编程人员参与计算
但要知道实现的方法和计算结果(程序调试) 。 期末要考。
2.1.3 存储结构
4 特殊内存区域
系统中,有些内存区域的作用是固定的,用户不能随便使用。 中断向量区:00000H—003FFH共1K字节,用以存放256种中断类型的中
存储结构:地址概念及其分段表示
2.1 8086微处理器结构
8086微处理器的一般性能特点: •16位的内部结构,16位双向数据信号线; •20位地址信号线,可寻址1M字节存储单元; •较强的指令系统; •可寻址64K个I/O端口; •可处理内部软件中断和外部中断,中断源可达256个; •单一的+5V电源,时钟5MHz。
微机原理与单片机技术
信息学院 电路与信号教研部
2 8086微处理器及其系统
1
2.1 8086微处理器结构
2
3
2.2 8086引脚信号和系统配置
2.3 8086主要操作
作业(107页) :2, 3, 4, 5, 7, 9, 13, 14
2.1 8086微处理器结构
编程结构:总线接口部件,执行部件EU 内部寄存器:分类,功能,标志寄存器
2.2.1工作模式
2 最大模式
系统中至少包含两个微处理器,其中一个为主处理器(8086),其 它的微处理器称之为协处理器,协助主处理器工作。 8087:数值运算协处理器。硬件实现多种类型的数值运算,如高 精度的整型和浮点型数值运算,超越函数(三角函数、对数函 数)的计算等,提高主处理器的运行速度。 8089:输入/输出协处理器。专门用于输入/输出操作的指令系统 ,直接为输入/输出设备服务,提高主处理器的效率,尤其是在 输入/输出操作比较频繁的系统中。
2.2 8086引脚信号和系统配置
2.2.1工作模式
2.2.2 8086 CPU的引脚功能 2.2.3 8086最小模式系统典型配置
2.2.1工作模式
1 最小模式
系统中只有一个8086微处理器 所有的总线控制信号,都是直接由8086产生。 该模式系统中的总线控制逻辑电路被减到最少,适用于规模较 小的微机应用系统,工业控制系统,无复杂数值计算系统等。
2.1.3 存储结构
2 存储空间分段及段地址
目的:描述一个存储单元的地址。 问题: 存储器空间为1MB个单元,地址编号用20位 二进制数。 使用内部寄存器, 16位。 解决方法:系统中采用了存储器分段的方法。 规定:存储空间一个段为64KB 。 段首地址低4位为’0’ ,高16位存于段寄存器。
2.1.3 存储结构
2.1.2 内部寄存器
3 段寄存器
4个16位段寄存器:CS 、 DS、SS、ES。 功能段指针。 CS(Code Segment):代码段寄存器。
DS(Data Segment): 数据段寄存器。
ES(Extra Segment):附加段寄存器。 SS(Stack Segment):堆栈段寄存器。
2.1.2 内部寄存器
2 指针与变址寄存器
2个16位指针寄存器:SP,BP。 SP(Stack Pointer):堆栈指针寄存器。与堆栈段寄存器SS一起来 确定堆栈在内存中的位置。 BP(Base Pointer):基数指针寄存器。通常用于存放基地址。 2个16位变址寄存器:SI,DI。 SI(Source Index):源变址寄存器。存储器指针、串指令中的源操 作数指针 DI(Destination Index):目的变址寄存器。存储器指针、串指令中 的目的操作数指针
1个16位标志寄存器:FR( Flags Register) Flags Register:
15 14 13 12 11 10 9 IF 8 7 6 5 4 AF 3 2 PF 1 0 CF
bit position
OF DF
TF SF ZF
Flags
2.1.2 内部寄存器
5 标志寄存器
6个状态标志位:OF, SF,ZF,AF,PF,CF。 记录CPU工作状态,可读。 CF (Carry Flag):进/借位标志位。(运算结果低8位中的最高位发生进/借位时,置1。) PF(Parity Flag):奇偶标志位。 (运算结果低8位中l的个数为偶数时,置1。) AF(Auxiliary Flag):半进位标志位。 (做字节加/减运算时,当低四位有向高四位进/借位时,置1。)
启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令的
代码,转移到系统的初始化部分。
2.1 8086微处理器结构_小结
编程结构:总线接口部件,执行部件EU。P73 图4-1 14个寄存器名称和作用:编程时用。 16位的数据总线线;
20位的地址线线,寻址1M个存储单元。
存储单元的内容:存储一个字节。 1M个存储单元分段使用:代码段,数据段,堆栈段。 存储单元的地址:物理地址 = 段地址×16 + 偏移地址。
2.1.1 内部结构
block diagram over Intel 8086 1:main registers 2:segment registers and IP 3:address adder 4:internal address bus 5:instruction queue 6:control unit 7:bus interface; 8:internal databus; 9:ALU 10/11/12:external address/data/control bus FR
2.2.2 8086 CPU引脚功能
1 管脚图
外部结构图 封装:DIP 命名方法: 管脚顺序号 1 功能名称 GND
(手册:8086.pdf)
2.2.2 8086 CPU引脚功能
2 最小模式下管脚功能分类
最小系统: VCC: +5V。
GND: 地。
CLK: 时钟信号输入引脚。 Reset: 复位信号输入引脚,高电平有效。 MN/MX(Minimum/Maximum Model Control ): 接+5V,CPU工作于最小模式下。
AL BL CL DL
4 AF
3 -
2 PF
1 -
0 CF
Segment register
2.1.2 内部寄存器
8086内部有14个16位的寄存器。 通用寄存器组: AX、BX、CX、DX
指针与变址寄存器组: SP 、BP 、DI、 SI 段寄存器: 指令指针寄存器: 标志寄存器: CS、DS、SS、ES IP FR
参见手册:8086.pdf
2.1 8086微处理器结构
2.1.1 内部结构(编程结构/功能结构) 2.1.2 内部寄存器 2.1.3 存储结构
2.1.1 内部结构(编程结构/功能结构)
总线接口部件 BIU
执行部件 EU
/wiki/8086
2.1.1 内部结构
2.1.2 内部寄存器
GENERAL PURPOSE REGISTERS
AH BH CH DH Index registers SI DI BP SP
Status register 15 14 13 12 11 OF 10 DF 9 IF 8 TF CS DS ES SS Instruction pointer IP 7 SF 6 ZF 5 -
2.1.1 内部结构
2 总线接口部件BIU(Bus Interface Unit)
作用:从内存中取指令,送入指令队列, 实现CPU与存储器和I/O接口之间数据传送。 组成: 4个段地址寄存器:代码段寄存器CS 数据段寄存器DS 附加段寄存器ES 堆栈段寄存器SS 16位指令指针寄存器IP。 20位地址加法器:利用16位寄存器和成20位物理地址。 6字节的指令队:预取指,提高CPU的工作效率。 总线接口及其控制逻辑。
ZF(Zero Flag):零标志位。 (运算结果为0时置1。)
SF(Sign Flag):符号标志位。 OF(Overflow Flag):溢出标志位。
2.1.2 内部寄存器
5 标志寄存器
3个控制标志位:DF,IF,TF。 可改写,控制CPU工作方式。 TF(Trap Flag):陷阱标志位(单步标志位、跟踪标志)。 置1,将使8086/8088进入单步工作方式,通常用于程序调试。 IF(Interrupt enable Flag):中断允许标志位。 置1,则处理器可以响应可屏蔽中断。 DF(Direction Flag):方向标志位。 置1,则串操作指令的地址修改为自动减量方向。
2 存储空间分段及段地址
逻辑地址:指段地址和偏移地址,是指令中引用的形式地址。 一个逻辑地址只能对应一个物理地址,而一个物理地址可以对 应多个逻辑地址。 偏移地址:某存储单元相对其所在段起始位置的偏移字节数, 或简称偏移量。它是一个16位的地址,根据指令的不同,它可 以来自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX 等)。 例: 一条指令的物理地址 CS:IP