1. 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点? 【解答】经历了6代演变,各典型芯片的特点如表1-1所示。 表1 微处理器的发展及典型芯片的特点
发展时代 第一代 (1971~1973年) 第二代 (1974~1977年) 第三代 (1978~1984年) 第四代 (1985~1992年) 第五代 (1993~1999年) 第六代 (2000年以后) 类别 4、8位低档微处理器 8位中高档微处理器 16位 微处理器 32位 微处理器 超级32位 微处理器 64位 微处理器 典型芯片及性能特点 Intel 4004集成2300多个晶体管,主频108KHz,寻址640Byte,指令系统简单;Intel 8008采用PMOS工艺,集成3500晶体管,基本指令48条,主频500KHz。 Intel 8080采用NMOS工艺,集成6000晶体管,主频2MHz,指令系统较完善,寻址能力增强,运算速度提高了一个数量级。 Intel 8086采用HMOS工艺,集成29000晶体管,主频5MHz/8MHz/10MHz ,寻址1MB。Intel 80286集成度达到13.4万晶体管,主频20MHz。 Intel 80386集成27.5万个晶体管,主频33MHz,4GB物理寻址。有分段存储和分页存储部件,可管理64TB虚拟存储空间。Intel 80486集成120万个晶体管,包含浮点运算部件和8KB的一级高速缓冲存储器Cache。 Intel Pentium、Pentium Pro、Pentium MMX、Pentium II、 Pentium III、Pentium 4微处理器等,采用新式处理器结构,数据加密、视频压缩和对等网络等方面性能有较大幅度提高。 由Intel公司与HP公司联手开发的Merced采用全新的IA-64结构设计,是一种采用长指令字、指令预测、分支消除、推理装入和其他一些先进技术的全新结构微处理器。
2. 数制之间的转换问题,如十进制25.625转换为二进制等
(1)十进制到二进制:整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”; (2)二进制到十进制:将二进制数按权展开即可。
(3)二进制到八进制:将3位二进制一组对应1位八进制数码。 (4)八进制到二进制:将1位八进制数码对应3位二进制数码。
(5)十六进制与二进制间转换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。
3. 名词解释:
位:在计算机中,数据的最小单位是位,位是指一位二进制数,英文名称是bit。
字节:8个二进制位构成1个字节(B),1个字节可以储存1个英文字母或半个汉字。字节是存储空间的基本计量单位,计算机的内存和磁盘的容量都是以字节表示的。
字:不同计算机系统中字长的整数倍.
字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。
4. 什么是微型计算机的系统总线?说明数据总线、地址总线、控制总线各自的作用。
【解答】系统总线是CPU与其它部件之间传送数据、地址和控制信息的公共通道。
(1)数据总线(DB):用来传送数据,主要实现CPU与内存储器或I/O设备之间、内存储器与I/O设备或外存储器之间的数据传送。16位机有16条数据总线,32位机有32条。数据总线是双向的。
(2)地址总线(AB):用来传送地址。主要实现从CPU送地址至内存储器和I/O设备,或从外存储器
传送地址至内存储器等。地址总线的多少决定了系统直接寻址存储器的范围,如8086的地址总线有20条,可以寻找从00000H-FFFFFH共220=1M个存储单元,可以寻址64K个外设端口。地址总线是单向的。
(3)控制总线(CB):用于传送控制信号、时序信号和状态信息等。
5. 微机即微型计算机,微处理器即微型计算机中央处理器,微机系统即微型计算机系统包含软件和硬件配
置,他们的关系是:微处理器是构成计算机的部件之一,微型计算机是由微处理器、存储器、接口等组成,微机系统是以微型计算机的硬件和软件为中心构成的一个比较大的应用系统。
6. 关于源码、补码、反码之间的转换运算,一定要仔细的看课本第十页的例题5、6、7以及第十一页的表
1.4,否则你会后悔的。
7. 写出下列带符号十进制数的原码、反码、补码表示(采用8位二进制数)。
(1)+64
(2)+64
(3)+127
(4)-128
(5)+1000000B
(6)-0010101B
答案略:这么简单的题就不要答案了。
第二章
8. 8086CPU具有 20 条地址线,可直接寻址 (220=)1MB 容量的内存空间,在访问I/O端口时,如果
使用地址线 16条 ,最多可寻址 (216=)64K 个I/O端口。
9. 8086CPU的数据外总线宽度为 16 位,指令缓冲器为 6 个字节,选通存储器或I/O接口的信号是
;8088CPU的数据外总线宽度为 8 位,指令缓冲器为 4 个字节,选通存储器或I/O接口
的信号是
10. 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?
【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。
8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。
11. 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?
【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。
为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。
。
12. 8086的标志寄存器分为 6 个 状态 标志位和 3 个 控制 标志位,它们各自的含义和作用是什么?
【解答】标志寄存器各标志位的含义和作用如下表: 标志位 CF PF AF ZF SF OF TF IF 含义 进位标志 奇偶标志 辅助进位标志 零标志 符号标志 溢出标志 陷阱标志 中断允许标志 作用 CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生 PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1 AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位 ZF=1,运算结果为零;ZF=0,则运算结果不为零 SF=1,运算结果为负数;SF=0,则结果为正数 OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出 TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序 IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求 DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理 DF 方向标志
13. 解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样
进行计算?
【解答】逻辑地址:表示为段地址:偏移地址书写程序时用到,一个存储单元可对应多个逻辑地址; 偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。 有效地址:是指令中计算出的要访问的存储单元的偏移地址。
物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。 物理地址计算公式:物理地址 = 段地址×10H+有效地址(或偏移地址)
14. 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈
示意图。2400:1200
【解答】(SS)=2400H,(SP)=1200H;PA=(SS)×10H+(SP)= 2400H×10H+1200H = 25200H。
SP 堆栈段 栈底 图2-1 堆栈示意图
15. 什么是总线周期?8086CPU的读/写总线周期各包含多少个时钟周期?什么情况下需要插入等待周期
TW,什么情况下会出现空闲状态TI?
【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。
在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。
在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。 (本题要求:会分析写读操作时序图,课本44、45页)
16. 了解堆栈的概念(课本52页)。
17. 掌握下列引脚的作用。
8086CPU的AD0~AD15是数据与地址引脚,INTR是发送可屏蔽请求信号,ALE是发送地址锁存允许信号,8086CPU工作在哪种模式下通过CPU的第33条引脚MN/MX来控制,或I/O接口,
18. 什么是时钟周期和指令周期?
时钟周期也称为振荡周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。指令周期是CPU的关键指标,指取出并执行一条指令的时间。
引脚控制选通存储器
有效
引脚有效时表示CPU正在进行存取或I/O读操作,READY准备就绪输入信号,
时表示CPU正在进行写存储器或写I/O端口的操作,RESET是CPU的复位输入信号。
第三章
19. 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是
什么?8086指令系统有哪些寻址方式?
【解答】8086的指令格式由操作码和操作数字段组成:“标号:助记符 操作数;注释”。 操作码:要完成的操作。 操作数:参与操作的对象。 寻址:寻找操作数或操作数地址的过程。
寻址方式:指令中给出的找到操作数或操作数地址采用的方式。
8086指令系统的寻址方式主要有立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、相对基址变址寻址方式和隐含寻址方式。
20. 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL
的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?
(1) MOV AX,21H (4) MOV AX,VAL (7) MOV AX,[BP]
(2) MOV AX,BX (5) MOV AX,[BX] (8) MOV AX,[SI]
(3) MOV AX,[1000H] (6) MOV AX,ES:[BX] (9) MOV AX,[BX+10] (12) MOV AX,VAL[BX][SI]
(10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI]
【解答】
(1) MOV AX,21H
立即寻址,源操作数直接放在指令中 (2) MOV AX,BX
寄存器寻址,源操作数放在寄存器BX中 (3) MOV AX,[1000H]
直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H (4) MOV AX,VAL
直接寻址,EA = [VAL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H (5) MOV AX,[BX]
寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H (6) MOV AX,ES:[BX]
寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H (7) MOV AX,[BP]
寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H (8) MOV AX,[SI]
寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H (9) MOV AX,[BX+10]
寄存器相对寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH (10) MOV AX,VAL[BX]
寄存器相对寻址,EA =(BX)+[VAL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H (11) MOV AX,[BX][SI]
基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H+EA = 2000H×10H+01A0H = 201A0H (12) MOV AX,VAL[BX][SI]
相对基址变址寻址,EA = (BX)+(SI)+[VAL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H
21. 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101)
= 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。 (1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100H[BX] (6) MOV AX,[BX][SI] 【解答】
(1) MOV AX,1200H ;执行后,(AX)= 1200H (2) MOV AX,BX ;执行后,(AX)= (BX)= 0100H
(3) MOV AX,[1200H] ;直接寻址,EA = [VAL] = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH
(4) MOV AX,[BX] EA = (BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H,执行后,(AX)= 5132H (5) MOV AX,1100H[BX] ;EA =(BX)+1100H = 0100H+1100H = 1200H,PA =(DS)×10H+EA = 2000H×10H+1200H = 21200H,执行后,(AX)= B61AH
(6) MOV AX,[BX][SI] ;EA =(BX)+(SI)= 0100H+0002H = 0102H,PA =(DS)×10H+EA = 2000H×10H+0102H = 20102H,执行后,(AX)= 29D1H
22. 分析下列指令的正误,对于错误的指令要说明原因并加以改正。
(1) MOV AH,BX (2) MOV [BX],[SI]
(3) MOV AX,[SI][DI] (4) MOV MYDAT[BX][SI],ES:AX (5) MOV BYTE PTR[BX],1000 (6) MOV BX,OFFSET MAYDAT[SI]
(7) MOV CS,AX (8) MOV DS,BP
【解答】
(1) MOV
AH,BX
错误,寄存器类型不匹配,可改为MOV AX,BX (2) MOV [BX],[SI]
错误,两个操作数不能都为存储单元,可改为MOV BX,[SI]或MOV [BX],SI (3) MOV AX,[SI][DI]
错误,寻址方式中只能出现一个变址寄存器,可改为MOV AX,[BX][DI]。 (4) MOV MYDAT[BX][SI],ES:AX
错误,AX签不能有段跨越前缀,去掉ES:,改为MOV MYDAT[BX][SI],AX (5) MOV BYTE PTR[BX],1000 错误,1000超出字节空间存储范围
(6) MOV BX,OFFSET MAYDAT[SI];正确 (7) MOV CS,AX
错误,MOV指令CS不能做目的操作数,可改为MOV DS,AX (8) MOV DS,BP;正确
23. 掌握以下数据传送指令:
MOV
XCHG
PUSH
POP
IN
OUT
XCHG BH,AL;数据交换指令(P71 例3.10) PUSH DX;进栈指令 IN OUT
24. 掌握加减法指令及其对进位标志位的影响:
P76 例3.15
25. 掌握非、与、位测试、或、异或指令:
NOT
26. 掌握以下跳转指令和子程序返回指令:
无条件转移指令JMP (P94) RET(P102)
27. 掌握以下标志位操作指令:
SRC(置CF=1) CLD(置DF=0)
28. 空操作指令NOP不执行任何操作,但是占一个字节的内存空间,执行时间是三个时钟周期。
29. 设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。
(1) ADD VAR1,VAR2 (2) MOV AL,VAR2 (3) SUB AL,VAR1 (4) JMP LAB[SI] (5) JNZ VAR1 (6) JMP NEAR LAB 【解答】
CLC(置CF=0) STI(置IF=1)
CMC(CF取反) CLI(置IF=0)
STD(置DF=1)
INT
单条件转移指令:JZ JNZ JS JNS (P96) INRT (P104)
AND
TEST(P86 例3.32)
OR
XOR
P76 例3.16
P77 例3.17
P78减法指令(1)(2)(3)(4)(5)
POP BX;出栈指令
(P74 例3.13)
输入输出指令(P75 例3.14)
(1) ADD VAR1,VAR2
错误,两个操作数不能都为存储单元,可改为 MOV BX,VAR2 ADD VAR1,BX (2) MOV AL,VAR2
错误,数据类型不匹配,可改为MOV AX,VAR2 (3) SUB AL,VAR1
错误,数据类型不匹配,可改为SUB AX,VAR1 (4) JMP LAB[SI]
错误,寄存器相对寻址形式中不能用标号做位移量,可改为JMP VAR1[SI] (5) JNZ VAR1
错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为JNZ LAB (6) JMP NEAR LAB
错误,缺少运算符PTR,可改为JMP NEAR PTR LAB
第四章
30. 了解段、语句、标识符、过程名、段名等基本概念(P122-P125)。
1) 段属性(SEG)变量所在的存储单元的段基址
2) 偏移量属性(OFFSET) 变量所在的存储单元距段起点的字节数
3) 类型属性(TYPE) 一个单位变量占用存储单元的字节数,分为: DB(1个字节) DW(2个字节) DD(4个字节)
4) 段名:用户为程序中某个段所起的名字,等于该段的段基址。
5) 过程名:用户为程序中某个过程(子程序)所起的名字,等于该过程的入口地址,即该过程第一条指令的目标地址,与标号一样也有三个属性。
31. 数据的定义DB(定义字节)、DW(定义字)(P130例4.10、4.11、4.12、4.13)、EQU、= 表达式(P131
例4.15、4.16)。
32. 会使用段定义(P132)、过程定义(P133)等。
33. 掌握汇编语言程序的三种基本结构:顺序程序、分支程序、循环程序。
顺序型结构程序的特征是在程序的指令中无转移指令,CPU从程序的第一条指令开始顺序执行,直到程序的最后一条指令为止。
例:编程计算Z=3(X2+Y2)/4
DATA SEGMENT X DB 8 Y DB 4 Z DW ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE , DS:DATA , SS:STACK START: PUSH
DS
XOR AX , AX
PUSH AX MOV AX , DATA MOV DS , AX MOV AX, 0 MOV AL, X MUL AL MOV BX, AX MOV AL, Y MUL AL ADD AX , BX
MOV BX, 3 MUL BX MOV CL , 2 SHR AX, CL MOV Z, AX CODE ENDS END START
分支程序根据条件是真或假决定执行与否。判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志。转移指令JZ和JMP等可以实现分支控制。
例:编程实现符号函数。
DATA SEGMENT X DB ? Y DB ? DATA ENDS
STACK SEGMENT
DB 100 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA, SS:STACK START:
PUSH DS XOR AX , AX PUSH AX
MOV AX,DATA MOV DS,AX
MOV AL,X CMP AL,0 JZ JG MOV
ZERO GREAT Y,-1
JMP FIN ZERO: MOV Y,0 JMP
FIN
Y,1
GREAT: MOV
FIN: MOV AH,4CH INT 21H CODE ENDS END START
循环型结构从本质上讲也是一种分支型结构,它也具有判定条件转移指令。不过,循环型结构中的转移,是转移到曾经执行过的程序段,这样就有可能重复测试和条件转移,形成周而复始的循环,能重复执行一组指令是循环型结构的重要特征。
例:已知有N个数据存放在以BUF为首地址的字节存储区中,编程统计其中负数的个数。
DATA SEGMENT BUF DB –2,5,-3,6,100, 0,-20, -9,8,-110,20 N=$-BUF RESULT DW ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,N MOV AX,0 CY : CMP BYTE PTR [BX],0 JGE NEXT INC AX NEXT: INC BX DEC CX JNZ CY
MOV RESULT,AX MOV AH,4CH INT 21H CODE ENDS END START
34. DOS功能调用(P145、P146)
1) 在显示器上显示单个字符(2号功能) 功能:在屏幕的光标处显示单个字符
入口参数: 要显示字符的ASCII码放在DL中 出口参数: 无
MOV DL, ‘A’ ; 在屏幕光标处显示字符A MOV AH, 2 INT 21H
; 提供调用功能号 ; 系统功能调用
2) 在屏幕上显示字符串(9号功能)
功能:在屏幕上当前光标处输出存储在内存数据段的一串字符串,该字符串以‘$’结束。 入口参数: DS:DX指向欲显示字符串的首址 出口参数:无 DATA SEGMENT
STRING DB ‘I am a student.$’ DATA ENDS ……
MOV DX, OFFSET STRING ; 指向字符串首址 MOV AH, 9 INT 21H
; 提供调用功能号 ; 系统功能调用
3) 带显示的键盘输入(1号功能)
功能:等待键盘输入,直到按下一个键。 入口参数: 无
出口参数: 键入键的ASCII码放在AL中,并在屏幕上显示该键。 MOV AH, 1 INT 21H ……
4) 不带显示的键盘输入(7号功能)
同上
功能:将控制权移交DOS。 入口参数:无 出口参数:无 MOV AH, 4CH INT 21H
35. 用二进制形式显示从键盘输入的一个字符的ASCII码
MOV AH,1 ;从键盘输入一个字符 INT 21H
MOV BL,AL ;DOS功能会改变AL内容,故字符ASCII码存入BL MOV AH,2
5) 程序结束,返回DOS( 4C号功能 )
; 提供调用功能号 ; 系统功能调用
MOV [2000H], AL
MOV DL,’:’ ;显示一个分号,用于分隔 INT 21H
MOV CX,8 ;CX←8(循环次数)
AGAIN: SHL BL,1 ;左移进CF,从高位开始显示 MOV DL,0 ;MOV指令不改变CF ADC DL,30H ;DL←0+30H+CF MOV AH,2
INT 21H ;显示
LOOP AGAIN ;CX减1,如果CX未减至0,则循环
36. 下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。
DATA SEGMENT
DD1 DB 23H DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX
LEA SI,OFFSET DD1 MOV AL,[SI] MOV CL,4 RCR AL,CL MOV [SI],AL MOV AH,4CH INT 21H
CODE ENDS
END START
;CF若是0,则DL←'0';若是1,则DL←'1'
【解答】程序第8行错误:LEA SI,OFFSET DD1,应去掉OFFSET; 程序第10行错误:RCR AL,CL,应使用ROR或ROL,改为ROR AL,CL
第五章
37. 存储系统的层次结构图:
38. 只读存储器ROM、PROM、EPROM、E2PROM、Flash Memory各有何特点?用于何种场合?
外存(磁存储器、光存储器等) 主存(半导体存储器) CACHE(高速缓存) 寄存器(CPU内) 【解答】掩膜式ROM中的信息是在生产厂家制造时写入的。制成后,信息只能读出不能改写。 PROM中晶体管的集电极接VCC,基极连接行线,发射极通过一个熔丝与列线相连。出厂时,晶体管阵列的熔丝完好。写入信息时,选中某个晶体管,输入高低电平保留或烧断熔丝对应1和0。烧断熔丝不能再复原,因此只能进行一次编程。
EPROM芯片的顶部开有一石英窗口,通过紫外线的照射可擦除片内原有信息,一块芯片可多次使用,缺点是只能进行整片写。
E2PROM是可用电擦除和编程的只读存储器,能在线读写,断电情况信息不丢失,能随机改写;其擦写次数可达1万次以上,数据可保存10年以上。可作为系统中可靠保存数据的存储器。
Flash Memory是新型的半导体存储器,可实现大规模电擦除,擦除功能可迅速清除整个存储器的所有内容;可高速编程;闪速存储器可重复使用,适用于文件需要经常更新的可重复编程应用中。对于需要实施代码或数据更新的嵌入性应用是一种理想的存储器。
39. 半导体存储器有哪些优点?SRAM、DRAM各自有何特点?
【解答】特点是容量大、存取速度快、体积小、功耗低、集成度高、价格便宜。
SRAM存放的信息在不停电的情况下能长时间保留不变,只要不掉电所保存的信息就不会丢失。而DRAM保存的内容即使在不掉电的情况下隔一定时间后也会自动消失,因此要定时对其进行刷新。
40. 动态RAM为什么需要经常刷新?微机系统如何进行动态RAM的刷新?
【解答】动态RAM是利用电容存储电荷的原理来保存信息的,由于电容会泄漏放电,所以,为保持电容中的电荷不丢失,必须对动态RAM不断进行刷新。
DRAM的刷新常采用两种方法:一是利用专门的DRAM控制器实现刷新控制,如Intel 8203控制器;二是在每个DRAM芯片上集成刷新控制电路,使存储器件自身完成刷新,如Intel 2186/2187。
41. 常用的存储器地址译码方式有哪几种?各自的特点是什么?
【解答】线选译码:连接简单,无须专门的译码电路;缺点是地址不连续,CPU寻址能力的利用率太低,会造成大量的地址空间浪费。
全译码:将低位地址总线直接连至各芯片的地址线,余下的高位地址总线全部参加译码,译码输出作为各芯片的片选信号。可以提供对全部存储空间的寻址能力。
部分译码:该方法只对部分高位地址总线进行译码,以产生片选信号,剩余高位线可空闲或直接用作其它存储芯片的片选控制信号。(P179(1)、P180(2))
42. 存储器芯片的扩展公式(P183页开始有例题):
芯片字长与CPU一致:芯片数目 = 系统扩展容量 ÷ 存储器芯片容量 芯片字长与CPU不一致:
43. 已知某微机系统的RAM容量为4K×8位,首地址为2600H,求其最后一个单元的地址。
【解答】RAM的容量为4K×8位=4KB,对应的地址有4K个,首地址为2600H,则其最后一个单元的地址为
2600H+(4K—1)= 2600H+4095 = 2600H+FFFH = 35FFH
44. 已知一个具有14位地址和8位数据的存储器,回答下列问题:
芯片数目 = (系统扩展容量 ÷ 存储器芯片容量)×(系统字长 ÷ 存储器芯片字长)
(1)该存储器能存储多少字节的信息?
(2)如果存储器由8K×4位RAM芯片组成,需要多少片? (3)需要多少位地址作芯片选择?
【解答】(1)该存储器能存储的字节个数是214= 24×210 = 16K。
(2)该存储器能存储的总容量是16KB,若由8K×4位RAM芯片组成,需要的片数为(16K×8)/
(8K×4)= 4片
(3)因为该存储器中读写数据的宽度为8位,所以4片8K×4位RAM芯片要分成两组,用一位地址就可区分;另一方面,每一组的存储容量为8K×8位 = 213×8位,只需要13位地址就可完全访问。
45. 常用的存储芯片的属性:
RAM
2114:1K×4
2716:2K×8 2864A:8K×8
6116:2K×8
2164A:64K×1
EPROM E2PROM
46. 用16K×1位的DRAM芯片组成64K×8位的存储器,要求画出该存储器组成的逻辑框图。
【解答】总容量为64K×8位,由16K×1位的DRAM芯片组成: (64K×8位)/(16K×1位)= 32片
既要进行位扩展又要进行字扩展:由8片组成一组进行位扩展,由这样的4组进行字扩展。
每一组的存储容量为16K×8位 = 16KB = 214B,需要14位地址做片内寻址;4组芯片需要2位地址做片组选择,即片选信号。
逻辑框图见图4-1。为清楚起见,图中只画出了各个芯片的部分连线。
D7„D016K×1 CS„„16K×1 CS„„„„16K×1 CSCPU„„16K×1 CS16K×1 CS„„16K×1 CS„„A0„A13A14A15译码器„„
图4-1 题4.9存储器组成逻辑图
寻址?哪些作为芯片组的片选信号?
47. 若用4K×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?A19~A0地址线中哪些参与片内
【解答】(16K×8位)/(4K×1位)= 32片
每8片一组,分成4组。每组的存储容量为4KB = 212B,片内寻址需要12位地址线,即A11~A0;4组芯片可用2位地址线进行区分,即可用A13~A12做片选信号,A19~A14可浮空或做其他用途。
48. 若用2114芯片组成2KB RAM,地址范围为3000H~37FFH,问地址线应如何连接?(假设CPU有16
条地址线、8条数据线)。
【解答】2114芯片单片容量为1K×4位,组成2K×8位RAM需要: (2K×8位)/(1K×4位)= 4片
每2片一组,分成2组。每组的存储容量为1KB = 210B,片内寻址需要10位地址线。对应的地址范围为3000H~37FFH = 0011000000000000B ~ 0011011111111111B,可见,CPU的16条地址线中A9~A0用于片内寻址,A10用做片选信号,A13~A12接高电平,A15~A14、A11接地。
第六章
49. 什么是接口?其作用是什么?
【解答】接口就是连接外部设备与微型计算机的接口电路。
作用:(1)解决CPU与外设工作速度不匹配的问题;(2)解决CPU与外设工作时序配合问题;(3)实现信息格式转换;(4)解决0信息类型与信号电平匹配的问题。
50. CPU与输入输出设备之间传送的信息由哪几类?相应的端口称为什么端口?
【解答】CPU与输入/输出设备交换的信息有3类:数据信息、状态信息和控制信息。数据信息相应的端口称为数据端口;状态信息相应的端口称为状态端口;控制信息相应的端口称为控制端口。
51. 什么叫端口?I/O端口的编址方式有哪几种?各有何特点?
【解答】端口指输入/输出接口中的寄存器。 I/O端口有两种编址方式:
统一编址方式(6800/68000系列、6502系列等)是将I/O端口与内存单元统一起来进行编号。该方式优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。
独立编址方式(8086/80x86系列、Z80/Z8000系列等)是在端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。
(P197独立编址方式的端口访问)
52. 无条件传送方式的代码书写(P205例6.4)。
53. 查询传送方式的代码书写(P207、P208例6.5)。
54. 了解三态缓冲器(P218)、地址译码器、显示译码器(P221、 P222、 P223)。
55. 输入/输出接口电路有哪些寄存器,各自的作用是什么?
【解答】通常有数据输入、数据输出、控制和状态寄存器等。在CPU与外部设备之间进行数据传输时,各类信息写入接口中相应的寄存器,或从相应寄存器读出。CPU从数据输入寄存器和状态寄存器中读出数据和状态,但不能向其中写内容; CPU往数据输出寄存器和控制寄存器中写数据和控制信息,但不能从其中读内容。
通常一个外设的数据端口是8位的,而状态端口和控制端口往往由于只用其中的一位或两位,故不同
外设的状态和控制信息可以共用一个端口。
56. 在一个微型计算机系统中,确定采用何种方式进行数据传送的依据是什么?
【解答】无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。 查询传送方式主要用于不能保证输入设备总是准备好了数据,或者输出设备已经处在可以接收数据的状态。
中断控制方式主要用于需要提高CPU利用率和进行实时数据处理的情况。 DMA控制方式主要用于快速完成大批的数据交换任务。
57. 会设计课本200页图6.8的译码电路,图上方有详解,不再详述。
58. 设某接口的状态端口地址为STATE,状态位从D7位输入,数据端口的地址为OUTPORT,输出数据的
总字节数为OUTCOUNT,试编制查询式输出数据的程序段。
解:(以下是代码片段,考试时必须写完整代码)设输出数据段在内存单元的首地址为BUFF MOV SI,BUFF MOV CX,OUTCOUNT OUTPUT: IN AL,STATE TEST AL,80H JZ OUTPUT MOV AL,[SI] OUT OUTPORT,AL INC SI LOOP OUTPUT
第七章
59. 简述中断处理的概念、优点和过程是什么。
所谓中断,就是指当CPU正在执行程序时,外设(或其它中断源)向CPU发出请求,CPU暂停当前程序的执行,转向该外设服务(或称中断服务)程序,当中断服务程序运行结束后,返回原程序继续执行的过程。
中断的优点是能实现分时操作、实时处理和故障处理。
中断处理的包括中断源识别、中断优先级判断、中断嵌套管理、CPU的中断响应、中断服务和中断返回等。(P235中断过程除中断嵌套管理外都需掌握)(中断处理基本过程图如P139图7.4)
60. 外部中断(硬中断)就是来自INTR和NMI引脚的中断。
非屏蔽中断的优先权高于可屏蔽中断。其中断请求信号是发生在NMI上的电压跳变(边沿触发)。可屏蔽中断是由出现在INTR线上的请求信号是电平触发的。只有当中断允许标志位IF为1时,CPU才能响应INTR的中断请求。如果IF为0,即使INTR端有中断请求信号CPU也不会响应。这种情况称为中断屏蔽。
61. 内部中断是来自CPU内部的,通过软件调用的中断。
除法溢出中断――0号中断
单步中断――1号中断 INT指令中断 溢出中断――4号中断
62. 简述中断向量表的概念、机制(理解)、中断向量的置入。
对应于每种中断源存在一个相应的中断服务程序,每一个中断服务程序都有一个确定的入口地址即中断向量,把系统中所有中断源的中断向量集中起来放到存储器的某一片连续区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表。
在实模式下,CPU把所有的256个中断向量集中起来,按中断类型号从小到大的顺序放到主存储器的RAM中从最低地址(物理地址为0)开始,长度为1024个字节(4个字节×256个向量=1024个字节=1KB),物理地址范围介于00000H~003FFH的中断向量表中。可见,中断向量表中每一个向量的序号就是中断类型号,中断向量表是中断类型号与相应的中断服务程序入口地址之间的连接表。中断向量表的初始化一般是在计算机启动时由BIOS程序或者DOS负责设置。当然,当用户开发自己的中断服务程序以取代系统原有的服务程序时,中断向量的修改由用户自己完成。 中断向量表的设置(此部分看不懂可参考课本P243) 方法一:在程序设计时定义一个如下格式的数据段: VECDATA SEGMENT AT 0 ORG n* 4
VINTSUB DW noffset, nseg „„
VECDATA ENDS
方法二:DOS中的功能调用INT 21H,预置的参数是: AH中预置入功能号25H; AL中预置入要设置的中断类型号;
DS:DX中预置入中断服务程序的入口地址(包括段地址和偏移地址)。 方法三:
VECDATA SEGMENT AT 0 ORG n*4
VINTSUB DW 2 DUP(?) „„„„ VECDATA ENDS ININT SEGMENT
ASSUME CS:ININT,DS:VECDATA MOV AX,VECDATA MOV DS,AX
MOV VINTSUB,noffset MOV VINTSUB+2,nseg ININT ENDS
63. 什么是中断向量表?已知中断类型码分别是84H和FAH,它们的中断向量应放在中断向量表的什么位
置?
答:中断向量表是内存中 00000H-003FFH 地址范围内连续存放各类中断的中断向量(中断服务程
序的入口地址)的一个存储区域。
某中断的中断类型码n与它的中断向量在中断向量表中的位置有4n的关系,故中断类型码是84H的中断,4n=210H,其中断向量在中断向量表的0000:0210H-0000:0213这四个字节单元中。 中断类型码是FAH的中断,4n=3E8H,其中断向量在中断向量表的0000:03E8H-0000:03EB这四个字节单元中
64. 掌握8259的初始化编程(P251)和操作编程(P253)。下面是初始化流程图:
写ICW1 A0=0 写ICW2 A0=1 是否用级 N A0=1 写ICW3 Y 是否用ICW4 Y A0=1 写ICW4 N
65. 某系统中设置三片8259A级联使用,两片从片分别接至主片的IR2和IR6,同时,三片芯片的IR3上还 分别连接了一个中断源,已知它们的中断入口均在同一段,段基址为4000H,偏移地址分别为1100H,
40B0H,A000H,要求电平触发,普通EOI结束。画出它们的硬件连接图,编写全部的初始化程序。 答:初始化程序: START:MOV AL,19H
MOV DX,偏移地址(主) OUT DX,AL MOV AL,0A0H MOV DX,奇地址(主) OUT DX,AL MOV AL,44H OUT DX,AL MOV AL,11H OUT DX,AL MOV AL,11H OUT DX,AL MOV AL,0B3H OUT DX,AL
MOV AL,22H
MOV DX,偶地址(主) OUT DX,AL MOV AL,19H
MOV DX,偶地址(从1) OUT DX,AL MOV AL,0B0H
MOV DX,奇地址(从1) OUT DX,AL MOV AL,02H OUT DX,AL MOV AL,11H OUT DX,AL MOV AL,0F7H OUT DX,AL
MOV DX,偶地址(从1) MOV AL,22H OUT DX,AL 从2: MOV AL,19H
MOV DX,偶地址(从2) OUT DX,AL MOV AL,0C0H
MOV DX,奇地址(从2) OUT DX,AL MOV AL,06H OUT DX,AL MOV AL,11H OUT DX,AL MOV AL,0F7H OUT DX,AL
MOV DX,偶地址(主) MOV AL,22H OUT DX,AL STI HH: HLT
JMP 11H
第八章
66. 可编程并行接口芯片8255A有哪几种工作方式?每种工作方式有何特点?
【解答】方式0:又称为基本输入输出方式,为单向的8位端口。在此方式下,可分别将A口的8条线、B口的8条线、C口高4位对应的4条线和C口低4位对应的4条线定义为输入或输出。
方式1:又称为选通输入输出方式,为单向的8位端口。在这种方式下,只有A口和B口仍作为数据的输出口或输入口,同时还要利用C口的某些位作为控制和状态信号,即C口作为联络线。
方式2:又称为双向传输方式。只有A口可以编程,C的高5位可以作为端口A的联络线,低3位可以作为B口方式1的联络线。
67. 8255A怎样区分这两种控制字?写出端口A作为基本输入,端口B作为基本输出的初始化程序。
【解答】8255A的方式选择控制字和C口按位控制字的端口地址是一样的,通过控制字的最高位D7进行区分:D7=1时,为方式选择控制字;D7=0时,为C口按位控制字。
初始化程序段如下:
MOV DX,PORT ;PORT为端口地址 MOV AL,10010000B OUT DX,AL
68. 会编写8255A的应用程序(P172例8.3)。
69. 并行通信和串行通信各有何特点?其应用场合如何?
并行通信是指数据的各位同时传送;串行通信是指数据一位一位顺序传送。并行传送具有传送速度快、可靠性高的特点,但在进行远距离传送时,线路的投资大。因此,并行传送主要用于近距离传送,如磁盘、光盘、打印机、扫描仪以及计算机与各种仪器之间的通信等。串行传送的成本低,但是传送效率低、可靠性差主要用于远距离传送和通信,如网络通信、无线通信等。
70. 试按以下要求对8255A进行初始化编程:
(1)设端口A、端口B和端口C均为基本输入/输出方式,且不允许中断。请分别考虑输入/输出。 (2)设端口A为选通输出方式,端口B为基本输入方式,端口C剩余位为输出方式,允许端口A中断。
(3)设端口A为双向方式,端口B为选通输出方式,且不允许中断。
【解答】(1)端口A、端口B和端口C均为基本输入/输出方式,则为方式0,任何一个口都可用于输入或输出,可出现16种组合,这里只举出2种组合。
若端口A、B为数据输入口;C口的低4位为控制信号输出口,高4位为状态信号输入口,程序段如下:
MOV AL,10011010B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
若端口A、B为数据输出口;C口的高4位为控制信号输出口,低4位为状态信号输入口,程序段如下:
MOV AL,10000000B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
(2)端口A为选通输出方式,方式1;端口B为基本输入方式,程序段如下:
MOV AL,10100010B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001101B ;设PC6为中断信号控制引脚,PC6=1,允许中断 OUT DX,AL
(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下:
MOV AL,11000100B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
第九章
71. 试分析8253的6种工作方式的特点和功能。各方式下的时钟信号CLK和门控信号GATE分别起什么作
用?(只要求掌握方式2和方式3及其区别) 【解答】
方式0:计数结束,产生中断 方式1:可重复触发的单稳态触发器 方式2:分频器 方式3:方波发生器
方式4:软件触发的选通信号发生器 方式5:硬件触发的选通信号发生器
时钟信号CLK的作用:在8253进行定时或计数工作时,每输入1个时钟脉冲信号CLK,便使计数值减1。GATE信号的控制作用如下: 工作方式 方式0 低电平 禁止计数 下降沿 暂停计数 不影响 GATE引脚输入状态所起的作用 上升沿 置入初值后WR上升沿开始计数,由GATE的上升沿继续计数 置入初值后,GATE的上升沿开始计数,或重新开始计数。 置入初值后,WR上升沿开始计数,方式2 禁止计数 停止计数 由GATE的上升沿重新开始计数 置入初值后,WR上升沿开始计数,由GATE的上升沿重新开始计数 置入初值后,WR上升沿开始计数,由GATE的上升沿重新开始计数 置入初值后,GATE的上升沿开始计数,或重新开始计数。 允许计数 高电平 允许计数 不影响计数 OUT引脚 输出状态 计数过程中输出低电平。计数至0输出高电平 输出宽度为n个CLK的低电平(单次) 输出宽度为n个CLK宽度为1个CLK的负脉冲 输出宽度为n个CLK的方波(重复波形) 计数至0,输出宽度为1个CLK的负脉冲(单次) 计数至0,输出宽度为1个CLK的负脉冲(单次) 方式1 不影响 方式3 禁止计数 方式4 禁止计数 方式5 不影响 停止计数 停止计数 不影响 允许计数 允许计数 不影响计数
72. 8255A的控制字格式和编程要求(P286):
编程初始化原则:
(1) 8253三个端口有各自独立的地址,控制字对个端口的工作方式进行控制;
(2) 对于某一个端口设置初值时,设置初值前必须先写控制字,然后才能读/写计数值; (3) 设置初值时要按D5、D4规定的顺序分别输入计数值,16位计数值要用两条指令输入;
(4) 锁存(D5D4=00)的目的是,当CPU读取计数值之前先用锁存命令锁存减1计数器的当前值,否则
得不到正确的结果,CPU读走数据后,锁存功能自动失锁;
(5) 编程顺序为:先写入控制字到控制寄存器,然后写入计数初值到所确定的计数器端口。 控制字的格式:
73. 掌握8255A的应用实例(P298例9.10)。
74. 设8253芯片的计数器0、计数器1和控制口地址分别为04B0H、04B2H、04B6H。定义计数器0工作在
方式2,CLK0为5MHz,要求输出OUT0为1KHz方波;定义计数器1用OUT0作计数脉冲,计数值为1000,计数器减到0时向CPU发出中断请求,CPU响应这一中断请求后继续写入计数值1000,开始重新计数,保持每一秒钟向CPU发出一次中断请求。试编写出对8253的初始化程序,并画出硬件连接图。 【解答】由题目知计数器1工作在方式0下,参考程序段如下:
;计数器0初始化
MOV AL,34H MOV DX,04B6H OUT DX,AL
;计数器0赋初值
MOV MOV OUT MOV OUT
AX,5000 DX,04B0H DX,AL AL,AH DX,AL
三八译码器A7A6A5S1D1S2S3D8A2A1D7-D0CSA1A0CLK0OUT0CLK1OUT15MHzINTR;计数器1初始化
MOV AL,72H MOV DX,04B6H OUT DX,AL
0D7-D0GATEGATE1;计数器1赋初值
MOV
MOV OUT MOV OUT
AX,1000 DX,04B2H DX,AL AL,AH DX,AL
+5V 连接图如右所示:
75. 将8253定时器0设置为方式3(方波发生器),定时器1设置为方式2(分频器)。要求定时器0的输出
脉冲作为定时器l的时钟输入,CLK0连接总线时钟4.77MHz,定时器1输出OUT1约为40Hz,试编写实现上述功能要求的程序。 【解答】参考程序段如下:
;0号计数器初始化
MOV AL,16H MOV DX,PORTC OUT DX,AL
;0号计数器赋初值
MOV AL,1200 MOV DX,PORT0 OUT DX,AL
;1号计数器初始化
MOV AL,54H MOV DX,PORTC OUT DX,AL
;1号计数器赋初值
MOV AL,100 MOV DX,PORT1 OUT DX,AL
注:PORT0、PORT1、PORTC分别为0号、1号和控制口的地址。
76. 设8253端口地址为200H~203H,使用计数器1,工作于方式3(方波发生器),二进制计数,计数初值
为3000H,请编写初始化程序。
方法1,16位计数,先写低8位,后写高8位。根据题目写出控制字为01110110B(76H)。 MOV DX,203H ;8253控制寄存器
MOV AL,76H ;二进制计数、方式3、先写低8 位、后写高8位、计数器1 OUT DX,AL ;控制字写入控制字寄存器 MOV DX,201H ;计数器1 MOV AL,00H
;计数初值低8位
OUT DX, AL ;计数初值低8位写入计数器1 MOV AL,30H ;计数初值高8位 OUT DX, AL ;计数初值高8位写入计数器1 方法2: 16位计数,只写高8位,低8位自动为0。 MOV DX,203H ;8253控制寄存器 MOV AL,66H ;控制字01100110B OUT DX,AL ;控制字写入控制字寄存器 MOV DX,201H ;计数器1 MOV AL,30H ;计数初值高8位
OUT DX,AL ;计数初值高8位写入计数器1
77. 6种工作模式,都遵守的基本规则:
① 控制字写入时,进入初始状态;
② 初值写入后,要经过上升沿和一个下降沿,计数执行部件才开始计数;
③ 在CLK的上升沿,GATE被采样,对于一给定的工作模式,GATE的触发方式有具体规定; ④ 在CLK下降沿,计数器作减1计数;(0是计数器的最大初值) 模式2——分频器
写入控制字,OUT端为高电平,计数初值写入计数器后,等待到触发信号时,计数器开始递减计数。减到1,OUT端变成低电平,经过一个时钟脉冲OUT端又变为高电平,然后开始一个新的计数过程,
重复进行。
特点:
电平触发、上升沿触发,自动重复计数。 软件同步、硬件同步。
计数过程中,CPU可随时改变计数初值,若GATE=1,当计数器减为0时,按新的计数值分频;若GATE端出现上升沿,下一个时钟脉冲时,按新的计数值计数。 输出的脉冲周期是N个CLK周期,高电平为N-1个CLK周期。 模式3——方波发生器
CPU写入控制字后OUT变高,写完计数初值并受触发后,开始减1计数,输出保持高电平。当计到一半计数值时,输出变低,直到计数到0,输出又变为高,重新开始计数。
特点:
电平触发、上升沿触发,自动重复计数。 软件同步、硬件同步。
计数过程中,若GATE=1,当计数器减为0时,按新的计数值重新计数;若GATE端出现上升沿,下一个时钟脉冲时,按新的计数值计数。
输出的方波周期是N个CLK周期。计数初值N为偶数,N/2个CLK,N/2个CLK;N为奇数 (N+1)/2个CLK,(N-1)/2个CLK 。
第十章
78. 串行通信基本概念:
串行通信是在传输线上一位一位地的传送,设置有联络信号。串行通信越来越多地用于中低速、甚至高
速外设与主机的通信。并行与串行通信应用场合比较: ⑴ 串行通信传输距离长,可达到数千公里;
⑵ 在短距离内,并行通信速率比串行通信速度高得多;但在长距离内,串行通信在各方面比并行通信更有优势。
⑶ 串行通信抗干扰能力强,信号间的互相干扰完全可以忽略。 ⑷ 对于远距离通信,串行通信的费用显然低得多。
79. 串行传送速率:
波特率:单位时间内传送的二进制数据的位数,也称数据位率。单位为波特(即比特/秒:bps) 在异步通信方式进行通信时,发送端需要用时钟来决定每1位对应的时间长度,接收端也需要用一个时钟来测定每1位的时间长度,前一个时钟叫发送时钟,后一个时钟叫接收时钟。这两个时钟的频率可以是波特率的数倍,一般取16倍、32倍或64倍。这个倍数就称为波特率因子。
位周期Td:是指每个数据位传送所需要的时间,它与波特率的关系是:Td=1/波特率。它用以反映连续二次采样数据之间的间隔时间。
80. 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两
个相邻位代码间的时间间隔是固定的。异步通信的每个字符由4部分组成: (1) 1个起始位,低电平。后面紧跟最低数据位; (2) 5~8个数据位(如ASCII码为7位);
(3) 1个奇偶校验位(在通信线路上因噪声干扰而引起的某些数据位的改变,则会引起奇偶校验错,一
般接收方检测到奇偶校验错时,则要求发送方重新发送); (4) 1、1.5或2个停止位,高电平。
两个相邻字符之间的间隔叫空闲位,可以有任意多个
81. RS-232C标准具体如下:
逻辑高电平:有负载时为-3V~-15V,无负载时为-25V 逻辑低电平:有负载时为+3V~+15V,无负载时为+25V
通常使用±12V为RS-232C电平, +12V表示“0”, -12V表示“1”
计算机与I/O接口芯片多用TTL电平, 0~0.8V表示逻辑0, +2.0~+5V表示逻辑1
与RS-232C电平不匹配,需进行转换,典型的芯片如MC1488、MC1489, MC1488将TTL电平转换成RS-232C电平,发送数据时用;MC1489将RS-232C 电平转换成TTL电平,接收数据时用 连接方式需要掌握(P314)
82. 8251A的初始化和工作流程:
方式字:用来定义8251A的一般工作特性。紧接在复位操作后由CPU写入。
命令字:用来指定芯片的实际操作。在写入了方式指令字后,才能由CPU写入同步字符和命令指令字。在8251A工作过程中,可根据操作需要随时写入新的命令指令字。
状态字:状态字给出8251A当前的运行状态。这些状态的定义基本与相应引脚同名同义,但有一些含义与同名引脚不同。
8251A的初始化和工作流程——方式字:
8251A的初始化和工作流程——命令字:
8251A的初始化和工作流程——状态字:
8251A的初始化和工作流程——初始化操作流程(详解参照课本P326):
83. 异步模式下的初始化程序举例(掌握课本例子P327例10.1):
设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H。完成初始化程序。 【分析】 根据题目要求,可以确定模式字为:11111010B即FAH 而控制字为:00110111B 即37H 则初始化程序如下:
MOV AL, 0FAH ;送模式字 MOV DX,00E2H
OUT DX, AL ;异步方式,7位/字符,偶校验,2个停止位
MOV AL,37H ;设置控制字,使发送、接收允许,清出错标志,使RTS、DTR OUT DX, AL ;有效
84. 同步模式下初始化程序举例:
设端口地址为52H,采用内同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符。 【分析】根据题目要求,可以确定模式字为:00111000B 即38H
而控制字为:10010111B 即97H。它使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;此外,使8251A的发送器启动,接收器也启动;控制字还通知8251A,CPU当前已经准备好进行数据传输。 具体程序段如下:
MOV AL,38H ;设置模式字,同步模式,用2个同步字符, OUT 52H,AL ; 7个数据位,偶校验 MOV AL,16H
OUT 52H,AL ;送同步字符16H OUT 52H,AL
MOV AL, 97H ;设置控制字,使发送器和接收器启动 OUT 52H, AL
85. 串行传送的两种基本工作方式:
简单的说,所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。
有上述可知,同步传输的优点就是数据传输效率高,缺点是硬件电路复杂,而异步通信正好相反。 考试时间安排: 19周 星期一10:20-12:20 编译原理 教三楼608 19周 星期三08:00-10:00 微机原理及应用 东一楼200
因篇幅问题不能全部显示,请点此查看更多更全内容