责任教师:曲郁生
《微机原理及与应用》课程主要内容是微型计算机8086到目前流行的各类奔腾机(Pentium)的基本组成和工作原理,汇编语言程序设计的基本方法,微机与输入输出设备及生产过程的典型接口电路和接口技术。目的是使学生通过学习,获得在相应专业领域内应
用微型计算机的初步能力。
一、课程复习范围
微机原理与应用课程具有工作原理与编程方法、接口技术并重,软件与硬件结合,理论与实践结合的特点,要求学生在有限的时间内重点复习相关的教学内容,以达到课程大纲教学要求目标。复习范围包括教材的前8章内容,出此之外,8087协处理器简介、汇编语言中的列表控制、条件控制、宏处理、模块通信等伪指令、CPU输入输出时序内容也不要求掌握。
二、复习基本要求
1、计算机基础知识
(1)、 掌握计算机中的数和编码系统。二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,位、字节、字和字长的概念,十进制数用8421BCD码表示,ASCII码与国际码的区别,二进制数的加、减、乘、除算术运算,二进制数的与、或、非、异或逻辑运算,进位和溢出的概念。
(2)、 掌握微机的软、硬件系统组成。微处理器、微型计算机、微型计算机系统的概念,微机系统组成框图及各部分的主要功能,指令和程序的概念,软件的分类,微机中软、硬件的关系,当前PC机的标准配置。
(3)、 掌握计算机常用术语(位、字节、字)及主要技术性能指标(字长、内存容量、主频、运算速度、存取周期)的含义。
(4)、 通过简化的微型计算机初步理解计算机的工作过程,建立起整机概念。
(5)、 了解微机的工作环境。
2、 微型计算机基本组成
(1)、 理解8086微处理器的内部结构、引脚功能和它的定时关系。8086的寄存器结构和功能结构,最小组态与最大组态的区别,主要引脚的功能,指令周期、总线周期、时钟周期的概念。
(2)、 了解半导体存储器的体系结构和分类,理解RAM和ROM的工作特点。微机存储器的三级结构:高速缓冲存储器(Cache)、主存储器、外部存储器。半导体存储器主要分类,RAM与ROM工作的主要区别,静态RAM、动态RAM的特点,DRAM的刷新原理,ROM,PROM,EPROM及Flash的不同。
(3)、 理解微处理器与存储器的连接方法及8086中存储器的组织。微处理器与存储器连接中应注意的问题,8086中20位地址的形成,8086存储器的分段方法。
(4)、 了解总线的概念及目前常用的总线标准。
(5)、 了解常用外围设备的简单工作原理。键盘扫描按下键的工作原理,LED显示字形的原理,CRT显示器的工作原理及主要性能参数,显示存储器的组织及有关概念,用于PC机显示器的几种显示模式。打印机的种类及针式打印机能打印出字符或图形点阵的简单原理。软磁盘存储器的构成及软磁盘的结构、规格和记录格式。硬磁盘存储器与软磁盘存储器的区别。光驱种类及CD[CD*2]ROM特点。鼠标器的种类,与主机的连接和驱动程序的安装。
3、 80x86指令系统
(1)、掌握8086主要寻址方式。立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址变址寻址、串寻址、端口寻址和隐含寻址。
(2)、掌握8086中的标志寄存器各位的含义。
(3)、掌握8086主要常用指令的功能。数据传送类、算术运算类、逻辑运算类、转移类、移位类、串操作类、处理器操作类指令中的常用指令。
4、 汇编语言
(1)、 以Intel8086 CPU为背景,了解汇编语言的特点、汇编语言的基本语
法。
(2)、 掌握常用汇编伪指令的含义和用法:符号定义伪指令、数据定义伪指令、段和模块定义伪指令和过程定义伪指令。了解其它伪指令的含义和用法。
(3)、 掌握汇编语言程序的格式和运行方法。
(4)、 掌握汇编语言程序中返回DOS的方法,了解其它常用的系统功能调用。
5、 基本程序设计方法
理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能读写、运行、调试简单的汇编语言程序,如数据传送、比较、求和等简单程序。
6、 输入与输出
(1)、 掌握CPU寻址外设的方式、CPU与外设间的接口信息、CPU与外设间数据传送
的形式。
(2)、理解查询传送方式。
(3)、了解DMA方式的特点。
7、 中断控制技术
(1)、 理解中断的基本概念。中断、中断源的含义,实现中断的意义,中断的类型,中断系统的功能,CPU响应中断的条件。
(2)、 了解8086CPU的中断机构。中断类型,中断矢量,中断响应过程。
8、 接口电路
(1) 、掌握并行接口
(2) 、掌握定时/计数器8253[CD*2]5的主要性能、工作方式和初始化编程方法。
(3) 、理解D/A及A/D转换器接口方法。
(4) 、理解串行概念和8251初始化编程方法。
3、考试题型说明
考试题型有:计算题、简答题、判断题、选择题、填空题、分析题、读程序、程序题。
三 、课程练习题及解答
1、计算题
(1) 、将二进制数110110.01转换为十进制、十六进制及8421BCD码形式。
答:54.25D、 36.4H、 0101 0100 0010 0101BCD
(2) 、已知x=-18,求它的原码、反码和补码(用十六位二进制)。
答:[x]原=1000 0000 0001 0010
[x]反=1111 1111 1110 1101
[x]补=1111 1111 1110 1110
(3) 、二进制加法1111 0101+1010 1010=? 如果将它们看为补码,结果是否出错?为什么?
答:1111 0101+1010 1010=1001 1111
结果对,无溢出。
2、填空题
(1) CPU寻址外设可以有两种方式,一种是 寻址方式,另一种是 寻址方式。
(2) 8086有两类中断,它们是 中断和 中断。
(3) 目前微机系统的存储器分为 存储器、 存储器、 存储器三级。这种体系结构解决了存储器要 , ,而 又比较合理的矛盾。
答:(1) 存储器、端口
(2) 硬件中断、软件中断(或:外部中断、内部中断)
(3) 高速缓冲、主、外部、容量大、速度快、成本
3、选择题
(1) 一台计算机的字长是4个字节,这意味着( )。
A能处理的最大数值为4位十进制
B能处理的字符串最多由4个英文字母组成
C在CPU中作为一个整体加以传送处理的二进制代码为32位
D在CPU中运算的结果最大为2的32次方
(2) 下列指令中正确的是( )。
AMOV AX,BH
BMOV SS,AX
CMOV BX],[SI]
DMOV AX,[DI][SI]
(3) 查询方式是( )。
A程序控制方式
B中断控制方式
CDMA方式
D接口控制方式
答案:(1)C (2)B (3)A
4.判断题
(1) 同步传输时,由于不需要给每一个数据加上起始、停止位,所以它比异步传输效率高。
(2) RS
(3) 硬件UART的含义是“通常非同步(异步)接收器/发送器”。
答案:(1)正确 (2) 正确(3) 正确
5.简答题
(1) 8086CPU的字节寻址范围有多大?为什么?存储器为什么分段?20位物理地址的形成
过程是怎样的?
答:8086CPU寻址范围1MB。因为8086CPU地址线为20条,220=1024KB,即1MB。8086系统中,指令仅给出16位地址,与寻址有关的寄存器也只有16位长,因此寻址范围只有64KB,为了寻址1MB,所以分成四个逻辑段。当CPU访问内存时,段寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏移量相加,形成20位的物理地址。
(2) 使用中断有什么好处?
答:解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。计算机实现对控制对象的实时处理。计算机可以对故障自行处理。
(3) 什么是伪指令?
答:伪指令语句在形式上与指令语句很相似,但它不产生任何目标代码,只对汇编程序在汇编过程中提供必要的控制信息。
6.分析题
(1) 利用一个异步传输系统传送英文资料,系统的速率为1200波特,待传送的资料为5000字符长,设系统用ASCII码传送,不用校验位,停止位只用一位,问至少需要多少时间才能传送完全部资料?
答:每一字符用9位传输,全部传送的字符数为5000个,共需9×5000=45000位按照1200波特率计算,所需时间为4500位/1200位/秒=37.5秒
(2) 设某系统的CPU有地址线16条,连接了4K ROM和1K RAM。已知ROM用8708芯
片(1024×8),RAM用2114芯片(1024×4)。若用高位地址线全译码输出作为各芯片的选片信号,最高地址的4条输出线接ROM,最低地址的输出线接RAM,则各片的地址范围是多少?
答:4片ROM地址范围是F000H~F3FFH,F400H~F7FFH,F800H~FBFFH,FC00H~FFFFH;RAM的地址范围是0000H~03FFH。
7.阅读程序
(1)指出下列程序的功能,并将有分号(;)的语句加上注解。
NAME EXAMPLE; 模块名为EXAMPLE
DATA SEGMENT;数据段
BUF DB 100 DUP(?)
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’ ;堆栈段
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT ; 代码段
ASSUME CS:CODE,DS:DATA,SS:STACK ; 段寄存器地址说明
START: MOV AX,DATA
MOV DS,AX ;代码段地址装填
MOV BX,OFFSET BUF ;置地址指针
MOV CL,64H ;置计数器初值
LP: MOV BYTE PTR[BX],0 ;内存单元清0
INC BX ;地址加1
DEC CL ;计数减1
JNZ LP ;计数不为0继续
MOV AH,4CH
INT 21H
CODE ENDS
END START
将BUF单元开始的100个存储单元全部清0。
(2)已知8253的初始化程序如下,说明程序的含义。
MOV AL,50H ;控制字送AL
OUT 07H,AL ;输出控制字
MOV AL,80H ;计数值送AL
OUT 05H,AL ;输出到计数器1
使计数器1工作在方式0,用8位二进制计数,计数值为128。
8. 编写程序
(1)已知有三个8位无符号数X,Y,Z分别存放于BUF,BUF+1和BUF+2单元,编程计算3X+2Y+5Z,结果送RES和RES+1单元(要求使用子程序完成乘法)。省略伪指令。
解: MOV AX,0
MOV RES,AX
LEA BX,BUF
MOV AL,3
CALL
MOV AL,2
CALL
MOV AL,5
CALL
HLT
MUL [BX]
ADD RES,AX
MOV AX,0
INC BX
RET
(2)利用并行接口芯片
解:
MOV DX,
MOV AL,80H
OUT DX,AL
四 、课程模拟测试题
一、指出下列指令的错误。
(1)、 MOV AH, CXH
(2)、 ADD 20H,DX
(3)、 MOV CS, AX
二、指出下列指令的功能。
(1)、 XOR CX,CX
(2)、 ADD CL,10
(3)、 PUSHF
三、指出下列指令中源操作数的寻址方式。
(1)、 MOV AL,TABLE[BP]
(2)、 MOV AX,5000H
(3)、 MOV AX,[DI]
(4)、 MOV AL,[BP][SI]
四、编程题。
1、 已知在X单元开始的10个连续单元中存放了10个无符号数,求它们的和并将结果
存入Y单元内。
2、从XX单元开始的10个单元中找出最大的无浮号数,并将结果存入YY单元中。
3、从STRIN单元开始有一字符串,以“*”作为结束标志,编程求字符串的长度。
五、判断下列各小题的正确性,正确打√,错误打╳ 。)
(1)、不可屏蔽中断就是不允许发生的中断。( )
(2)、动态存储器在使用时需要进行刷新。( )
(3)、 外设地址的编址有:存储器统一编址和专用端口编址两种方式。( )
(4)、 中断向量是中断程序的入口地址。( )
(5)、 波特率是指每分钟传输的二进制的位数。( )
六、简答题。
1、存储器系统与CPU连接时需要考虑那些问题?当ROM选用1024*4的芯片时,需要几片才能组成16K*16的存储器,采用何种扩展方法完成?
2、何为8086的软件中断?说明CPU在进入中断响应周期后应完成的工作。(共10分)
3、8086有几种中断方式,如果软中断为INT 13H时,求中断向量表指针值。设该指针指向的四个内存单元顺序存放:59H、ECH、、00H、F0H值时,求该中断服务程序的入口地址。
4、一计算机系统的CPU地址线共有16条,用它来连接4K ROM和1K RAM。已知每片ROM芯片的容量是:1024*8,每片RAM芯片的容量是:1024*4,各需要多少片ROM和RAM组成存储器?如果采用高位地址线全译码输出方式作为各芯片的片选信号,16条地址线中,最高地址的4条输出线接ROM,最低地址的输出线接RAM,给出各片的地址范围值。
5、CPU通过并行接口与A/D转换器连接时,CPU是否可以在任何时间读入变换后的数据?为什么?
6、键盘扫描按下键的工作原理是怎样的?
7、查询方式、中断方式、DMA方式各有什么特点?
8、8086有哪几种中断方式?它们在中断响应和处理过程中最主要的区别是什么?什么是中断向量?什么是中断向量表?
9、 串行接口芯片
七、已知
八、
九、
十、什么叫波特率?在一个异步通信系统中,如果数据速率为1200波特,数据格式为8个数据位、一个校验位、2个停止位,那么每秒钟能传送多少字符?为什么同步传输比异步传输效率高?