微型计算机原理及应用基本学习要求 (注:以下基本要求按内容排列,而不是按章节排列)
一、 微型计算机基础与概念
1、计算机中信息的表示方式?为何要用二进制表示方式?
用二进制,电路实现起来很方便
2、掌握二进制数、八进制数、十进制数、十六进制数的概念(数码符号、进位、展开式);
数码符号:分别是B、Q、D、H
进位:逢二进一、逢八进一、逢十进一、逢十六进一
展开式:
3、掌握二进制、十进制、十六进制数间的相互转换,要熟练掌握将8位二进制数转换为相应的十进制数,能熟练的将0~255范围内的十进制数转换为二进制数,能将十六进制数转换成二进制形式,能将二进制转换成十六进制表示形式;
4、机器数与真值的概念,熟练掌握真值与机器数之间的相互转换;
真值和机器数概念补充:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011。如果是-3,就是10000011。那么,这里的00000011和10000011就是机器数。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数10000011,其最高位1代表负,其真正数值是-3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。例:0000 0001的真值= +000 0001 = +1,1000 0001的真值=–000 0001 = –1简单说,计算机中二进制数据要用0 1表示大小和正负,一般将最高位作为符号位,0表示正号,1表示负号,其余位表示数值大小。这种在计算机内部将正负号数字化后得到的数称为机器数,而在计算机外部用正负号表示的实际数值,称为机器数表示的真值
5、带符号数的原码、反码和补码表示,熟练掌握原码和补码之间的相互转换(已知一个数的原码求它的补码,已知一个数的补码求出它的原码);
6、已知一个数的补码,会求它的真值,掌握补码的加减法运算,掌握机器负数的求法;
7、能简述微型计算机系统硬件的组成(微处理器、存储器、输入及输入设备、输出接口及输出设备、总线);
8、CPU在内部结构上由哪几部分组成(算术逻辑运算单元ALU、控制器、寄存器),简要说明各部分的作用?
算术逻辑运算单元ALU:1、进行算术/逻辑运算;2、按指令的寻址方式计算出所寻址的16位偏移地址;
控制器:执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等;
寄存器:P33
9、地址总线、数据总线、控制总线的作用?它们各自是双向还是单向?
地址总线:专门用来传送地址,单向输出三态
数据总线:是用于传送数据信息,双向三态
控制总线:是用于传送控制信号和时序信号,双向三态
二、 80x86微处理器
1、8086处理器物理地址的生成:段基地址左移4位+段内偏移地址。会计算类似条件下的物理地址:
(1)段寄存器CS=1200H,指令指针寄存器IP=2000H,此时,指令的物理地址为多少?
(2)一个存放在8086计算机系统内存中的数据,它以DS作为段基址寄存器且设(DS)=1000H,段内偏移地址为2300H,会计算该数据的物理地址(同样是:段基地址左移4位+段内偏移地址),指向这一物理地址的DS值和段内偏移地址值是唯一的吗(不是唯一的)?
2、掌握物理地址的生成方法(8086只有实地址模式,物理地址=段寄存器的内容左移4位+偏移地址);注意向段寄存器传送数据的方法(CS位代码段基地址寄存器,不能做目的地址,立即数不能直接传送给段基地址寄存器),注意代码段寄存器CS不能作为目的寄存器;
3、掌握8086的寄存器及其使用方法,注意AX、BX、CX、DX可以作为8位寄存器使用;
8086内部有14个16位的寄存器,8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。4个16位的段寄存器CS、DS、SS、ES,用于存放段地址。
4、8086的标志寄存器有哪些状态标志位?各个标志位在什么情况下置位?注意数据传送指令不影响标志寄存器(除了向标志寄存器传送指令);掌握标志寄存器中各个控制标志位的作用?如何设置这些控制位?注意标志寄存器的传送指令、压栈与弹出指令,修改标志寄存器的方法;
5、能描述计算机中IO端口的编制方式有几种(独立编址和统一编址2种),每种编址方式的特点?8086采用IO独立编址方式,注意X86中IO接口的寻址方式,X86的IO操作指令,IN和OUT指令的端口地址、IN/OUT指令只能是端口与累加寄存器AX(或AL)进行传送;
独立编址特点:(1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计(2)缺点:需要有专用的I/O指令,程序设计的灵活性较差统一编址特点:(1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数量几乎不受限制(2)缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加8086采用IO独立编址方式注意:X86中IO接口的寻址方式,X86的IO操作指令,IN和OUT指令的端口地址、IN/OUT指令只能是端口与累加寄存器AX(或AL)进行传送;
6、系统的复位后内部寄存器的状态(除CS=0FFFFH外,其他寄存器=0000H),8086系统复位后,第一条执行的指令的地址(0FFFF0H);
7、8086的中断系统,向量中断的概念,中断向量表和结构,中断向量表和中断向量的存放位置,对一个中断类型号为n的中断,会计算它的中断向量的存放地址;
中断的概念:P240
向量中断:中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务的入口地址
中断向量表、向量地址:P249
存放位置:低地址、高地址、偏移地址、段基址
8、什么叫中断类型号?什么是中断向量?中断向量放在那里?对应于中断类型号为20H的中断其中断向量存放在哪里?如果20H的中断处理子程序从3000H:1000H开始,则中断向量应怎样存放(00080H开始存放:00H,10H,00H,30H)?
中断类型号:有硬件产生的中断标识码
向量中断是中断处理子程序的入口地址,它放在中断向量表中
9、8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址?
8086的存储空间最大可以为1MB(2的20次方);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成的20位物理地址。
三、指令系统及汇编语言程序设计
主要要求掌握8086的寻址方式与指令系统
1、寻址方式的概念;
寻找指令或操作数存放地址的方法
2、数据传送指令的特点、对标志寄存器的影响(除了向标志寄存器的传送指令外,其它传送指令不影响标志位);
除了向标志寄存器的传送指令外,其它传送指令不影响标志位
3、堆栈的概念,8086系统的堆栈是向上增长还是向下增长?堆栈段基址寄存器是哪个寄存器?
堆栈:一种数据项按序排列的数据结构,只能在一端对数据项进行插入和删除
向下增长,SS寄存器
4、掌握汇编语言程序基本结构,数据段、堆栈段、代码段各自的作用以及定义方法,程序代码存放在那一段中?哪一个段是必须有的?
5、汇编语言的基本程序结构:有几种(顺序程序、分支程序、循环程序);
6、标号的作用,命名标号时应该注意的问题;
7、掌握段定义伪指令、字节定义伪指令、字定义伪指令、双字定义伪指令、结束伪指令、符号定义伪指令、过程定义伪指令等伪指令的作用,如何使用?P129
8、汇编语言程序设计的基本步骤,掌握流程图的画法(各种不同功能框的规范符号,程序流向符号);P168
9、程序设计
(1)实现某个数学函数,如: P207
(2)对于内存中从地址DATA1开始连续存放的一组字节型数据,寻找最大值和最小值程序;(差不多而已)
(3)设计基于8086 CPU的汇编语言程序,实现Z=X+Y,其中X和Y均为8位无符号数。
10、给出一段程序,能够读懂,说明它的功能,说明程序执行后的结果(寄存器的值,存储单元的值、标志的状态)。
例如:能阅读分析类似以下的程序
(1)一段8086汇编语言编写的程序如下
MOV AX,1000H
MOV DS, AX
MOV DI, 0200H
MOV CX,100
XOR AL,AL
MOV_DATA:
MOV [DI], AL
INC DI
DEC CX
JNZ MOV_DATA
……
请阅读该段程序,说明这段程序的功能(把1000H:0200H开始的100个存储单元清0)
(2) MOV AH, 12H
MOV AL, 34H
MOV CL, 04H
SAL AX, CL
MOV CL, 04H
SHR AL, CL
执行程序段后,AX=_______________________
(3) 读程序,并画图标明内存中数据段的相关地址和内容。
DATA SEGMENT
BUFFER DB 3 DUP (0)
A DB 41H
B DW ‘AB’
DATA ENDS
四、 存储器
1、存储器的作用? 存放程序和数据
2、存储器的分类?
3、例如某个使用8086的微机系统有二十位地址信号:A19~A0,十六位数据信号:D15~D0,写控制信号WR 、读控制信号 RD,存储器/输入输出控制信号M/IO, 在M/IO=1时是进行存储器访问。现要求使用如下图所示128K*8位静态RAM 芯片设计256KB内存系统,要求既能够进行字节访问又能够进行十六位访问。
(1)需要多少片存储器芯片?
(2)要求存贮器空间为00000H开始的连续地址空间,选择地址译码方法
(3)画出存储器系统电路原理图。
注:除下图给出的芯片外,所需的其它电路可自由选择。
需要2片,选择全译码方式;
原理图应该如下表示
五、 微型计算机和外设的数据传送
1、为什么要用接口?
2、接口电路的数据传送方式有几种(串行传送、并行传送两种)?各自特点?
I/O端口的编址方式:统一编址方式、独立编址方式
(1)统一编址方式
优点:I/O端口的编址空间大,且易于扩展I/O指令丰富、功能齐全;对大型控制系统和数据通信系统很有意义
缺点:端口占用了存储器地址空间,使存储器容量减小I/O指令比独立编址方式的专用I/O指令长,译码时间长,执行速度慢增加了地址线,增加了地址译码电路的硬件开销
(2)独立编址方式
优点:I/O端口不占存储器的编址空间,使存储器的容量可达系统的最大寻址能力I/O指令短、执行速度快;指令清晰、可读性强、地址线少,简化了地址译码电路的硬件
缺点:I/O端口地址范围一旦确定,不易扩展I/O指令种类少,对的处理能力较差增加了控制信号引脚,增加了CPU负担
CPU与外设间数据传送的控制方式有几种(程序控制方式、中断方式、DMA方式)?各自的特点?
六、 中断概念及中断控制器
1、 中断的概念
2、 掌握80x86实地址模式下,中断类型号为n的中断向量的存放地址?
3、 单片8259可管理多少级中断?级联情况下最多可管理多少个中断请求?2片8259级联方式工作,可管理多少级中断?
七、常用可编程接口芯片
主要要求掌握8255、8253、8251、AD/DA的应用
(一) 8255
8255有几个IO端口?各端口的特点?
8255的工作方式有几种?
8255的方式控制字?会利用方式控制字选择8255的工作方式;
8255的PC端口按位操作控制字?会利用该控制字编写程序对PCn(n=0~7)进行置“1”和清“0”操作
一个使用8255的接口电路如图(参考实验)
(1)一个使用8255的接口电路,四个端口地址为:30H,32H,34H,36H,在PA端口接8位开关,开关闭合时对应输入线为0。PB端口接8个LED信号灯,PB端口输出=1时对应LED信号灯亮。请编写程序,利用8个LED信号灯显示8个开关的状态,某一个开关闭合,对应的LED信号灯亮。
实验程序清单(T8255-1.ASM)
IOY0 EQU 0C000H ;8255的CS引脚连接IOY0对应的端口始地址
MY8255_A EQU IOY0+00H2 ; ;8255的端口A地址
MY8255_B EQU IOY0+01H2 ;8255的端口B地址
MY8255_C EQU IOY0+02H2 ;8255的端口C地址
MY8255_MODE EQU IOY0+03H2 ;8255的控制寄存器地址
CODE SEGMENT ;定义代码段
ASSUME CS:CODE
START: MOV DX,MY8255_MODE ;8255控制端口地址为3006H
MOV AL,82H ;设置8255方式控制字,A、B口工作方式0,A口输出,B口输入
DX,AL
LOOP1: MOV DX,MY8255_B ;读B口发出的起始数据,B口输入
IN AL,DX
MOV DX,MY8255_A ;写A口发出的起始数据,A口输出
OUT DX,AL
MOV AH,1 ;判断是否有按键按下
INT 16H
JZ LOOP1 ;无按键则跳回继续循环,有则退出
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
(2)循环流水灯
编写程序让8个接在PC口上的LED信号灯每次一个亮不断循环显示。
实验程序清单(T8255-2.ASM)
IOY0 EQU 0C000H ;8255的CS引脚连接IOY0对应的端口始地址
MY8255_A EQU IOY0+00H2 ;8255的端口A地址
MY8255_B EQU IOY0+01H2 ;8255的端口B地址
MY8255_C EQU IOY0+02H2 ;8255的端口C地址
MY8255_MODE EQU IOY0+03H2 ;8255的控制寄存器地址
STACK1 SEGMENT STACK ;定义堆栈段
DW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT ;定义数据段
LA DB ?
LB DB ?
DATA ENDS
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,MY8255_MODE ;8255控制端口地址为3006H
MOV AL,80H ;设置8255方式控制字,A、B口工作方式0,A、B口输出
OUT DX,AL
MOV DX,MY8255_A ;写A口发出的起始数据
MOV AL,80H
OUT DX,AL ;点亮数据灯D7
MOV LA,AL
MOV DX,MY8255_B ;写B口发出的起始数据
MOV AL,01H
OUT DX,AL ;点亮数据灯D8
MOV LB,AL
LOOP1: CALL DALLY
MOV AL,LA ;将A口起始数据右移再写入A口
ROR AL,1
MOV LA,AL
MOV DX,MY8255_A45
OUT DX,AL
MOV AL,LB ;将B口起始数据左移再写入B口
ROL AL,1
MOV LB,AL
MOV DX,MY8255_B
OUT DX,AL
MOV AH,1 ;判断是否有按键按下
INT 16H
JZ LOOP1 ;无按键则跳回继续循环,有则退出
DALLY PROC NEAR ;软件延时子程序
PUSH CX
PUSH AX
MOV CX,0FFFH
D1: MOV AX,0FFFFH
D2: DEC AX
JNZ D2
LOOP D1
POP AX
POP CX
RET
DALLY ENDP
CODE ENDS
END START
(二)8253
(三) AD/DA
1、DAC接口的功能?ADC接口的功能?ADC、DAC接口的主要技术指标?
如果觉得《微型计算机原理及应用基本学习要求》对你有帮助,请点赞、收藏,并留下你的观点哦!