微机原理与应用第六章
微机原理及应用答案

微机原理及应⽤答案参考答案第⼀章计算机中的数制和码制第⼆章计算机概述⼀、填空题1.82. 23.10244.25.5、11001.1、00100101.0101B5.1000010B、42H、66H6.41.625、29.AH7.10001101B8.11001001、110010109.-128 ~ +12710.系统软件、应⽤软件11.电⼦管、超⼤规模集成电路⼆、单选题1. A 2. C 3. D4. C 5. A 6. C三、分析简答题1.8086 CPU的总线根据其中信息传送的类型可分为⼏种?哪⼏种?答:8086 CPU的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2.写出-25的原码、反码、补码,并将补码转换成⼗六进制数(设机器字长为8位)。
答:X=-25=-11001B X原码:10011001BX反码:11100110BX补码:11100111B = E7H3.举例说明什么是机器数,什么是真值?答:将符号数值化了的数称为机器数。
如:-18=-10010B(真值);机器数为:10010010B第三章半导体存贮器⼀、填空题1.ROM、RAM2.6个3.8、4⼆、单选题1. A 2. B 3. D 4. B5. C 6. C 7. B三、分析简答题1.在对存储器芯⽚进⾏⽚选时,全译码⽅式、部分译码⽅式和线选⽅式各有何特点?答:①全译码⽅式:存储器芯⽚中的每⼀个存储单元对应⼀个唯⼀的地址。
译码需要的器件多;②部分译码⽅式:存储器芯⽚中的⼀个存储单元有多个地址。
译码简单;③线选:存储器芯⽚中的⼀个存储单元有多个地址。
地址有可能不连续。
不需要译码。
四、硬件接⼝设计题1.答:(1)(2) 存储器类型为RAM 总容量为 4K×8地址范围: 0#2000H-27FFH1# 2800H-2FFFH2.答:(9分)(1)存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K字节)(2)1#芯⽚的地址范围:1000H ~ 17FFH2#芯⽚的地址范围:0800H ~ 0FFFH3#芯⽚的地址范围:0000H ~ 07FFH3.1)1K×42)2K×8或2KB3)地址分配范围第⼀组: A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0最⼩地址 0 ~ 0 0 0 0 0 0 0 0 0 0 0 00000H~最⼤地址 0 ~ 0 1 1 1 1 1 1 1 1 1 1 003FFH第⼆组: 0 ~ 1 0 0 0 0 0 0 0 0 0 0 00400H~0 ~ 1 1 1 1 1 1 1 1 1 1 1 007FFH第四章微型计算机及微处理器的结构和组成⼀、填空题1.BIU、EU、指令的译码和指令执⾏2.4、16、16、6、203.8、164.1、2⼆、单选题1. B 2. B三、分析简答题1.8086/8088微处理器内部有那些寄存器,它们的主要作⽤是什么?答:执⾏部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
微机原理与应用自学课件 第六章

6 中断系统
6.3 中断编程与应用
中断编程
中断服务程序 清除中断请求:一旦响应中断请求,必须立即清除中断源。否则,中断服 务程序执行结束后,该中断请求信号会再次得到CPU的响应。 TF0和TF1:响应中断请求后,自动复位; TI和RI:在中断服务程序中使用指令(CLR TI、CLR RI)进行复位; /INT0、/INT1:下降沿触发时,自动复位; 电平触发时,先使中断请求信号无效,再手动复位。 保护与恢复断点现场 参数传递:入口参数、出口参数。 中断功能程序 中断嵌套:中断响应后,将自动关闭中断。如果希望在中断服务程序能响 应更高级的中断,必须打开中断。 中断返回: RETI
6 中断系统
6.2 MCS-51单片机中断系统
中断响应时间
遇到特殊情况时,会延长这个最快的响应时间。 当检测到中断请求且允许响应时: 如果正在执行RETI,或 正在执行访问IE/IP的指令,则再执行一条指令后才能响应中断请求。 执行RETI或访问IE/IP的指令耗时1个MC, 再执行的一条指令最大可能耗时4个MC:共耗时5个MC。 中断响应时间:3~8个机器周期。 若CPU正在服务更高级的中断,则响应时间会更长,且无法确定。
∙
6 中断系统
6.3 中断编程与应用
扩展MCS-51单片机外部中断源
采用专用中断控制器,如Intel8259 借用计数/定时器溢出中断扩展 计数/定时器有外部计数脉冲输入引脚,当被设置在工作方式2、且初值为 FFH时,只要输入引脚出现 1个计数脉冲就会产生溢出中断。从而计数脉 冲输入引脚可以被当作外部中断源输入,且触发方式为负脉冲。 采用查询法扩展:借用外部中断源
中断分类
根据中断源类型:硬件中断、软件中断(中断指令) 根据计算机对中断响应的控制能力:可屏蔽中断、不可屏蔽中断
微机原理与接口技术第6章PPT课件

习题6
6.1 利用全地址译码将6264芯片接在8088的系统总线上, 其所占地址范围为BE000H~BFFFFH,试画连接图。
6.2 试利用6264芯片,在8088系统总线上实现 00000H~03FFFH的内存区域,试画连接电路图。
6.3 叙述EPROM的编程过程。说明EEPROM的编程过 程。
译码器74LS138的工作条件是G1=1,G2A=0,G2B=0,译码 输入端为C、B、A,故输出有八种状态,因规定CS低电平选中 存储器,故译码器输出也是低电平有效。
A1
B2
C3
G2A
4
G2B
5
G1
6
Y7
7
GND 8
16
VCC
15 Y0
14
Y1
13
Y2
12
Y3
11 10
Y4 Y5
9
Y6
G1 G2A G2B
1) 读方式 读方式是2764A通常使用的方式,此时两个电源 引脚VCC和VPP都接至+5 V。 PGM=1,CE=0、OE=0。
2) 备用方式 CE为高电平,没有选中芯片,输出端为高阻态。 3) 编程方式 这时,VPP接+12.5 V,VCC仍接+5 V。 CE=0,输出允许信号OE=1。每写一个地址单 元,都必须在PGM引脚端给一个低电平。
第6章 主 存 储 器
6.1 概 述
存储器芯片在标定存储器容量时,经常同时标出 存储单元的数目和每个存储单元的位数,因此有
存储器芯片容量=单元数×位数
如Intel 2114芯片容量为1 K×4位/片,Intel 6264为8 K×8位/片。
单元数= 2地址线数量 位数=数据线数量
微机原理及其应用第6章

当A1A0=00,01,10时表示分别选中计数器0, 1,2 当A1A0=11时选中控制寄存器
这种电路不
仅定时值和定时范围可用程序确定和改变,而且具有多种工作方式,
可以输出多种控制信号
由微处理器
的时钟信号提供时间基准,故计时也精确稳定。如Intel 8253。
3.可编程的定时
6.2 Intel 8253可编程 定时器/计数
器
6.2.1 8253的基本功能和内部结构
1. 8253 PIT的基本功能
0 FF
C. 方式0 计数过程中改变计数值
8253写计数值是由CPU的WR信号控制的,在WR信 号的上升沿,计数值被送入对应计数器的计数值寄存 器,在WR信号上升沿之后的下一个CLK脉冲才开始计 数。如果设置计数初值N,输出OUT是在写入命令执 行后,第N+1个CLK脉冲之后,才变为高电平的。后 面的方式1、2、4、5也有同样的特点。
CLK
GATE OUT
3 21 3 2
10
图6.6(b) 方式1时GATE 信号的作用
CW = 12 WR
LSB = 2
CLK
GATE OUT
LSB=4 2 1 0 FF FE 4 3
图6.6(c) 方式1时计数过程中改变计数值
三.方式2 —— 比率发生器、分频器
(Rate Generator)
和计数格式。
(2) 写入计数 初值
﹡若是8位数,只要用一条输出指令就可完 成初值的设置。
《微机原理及其应用》

3.单片机-Single Chip Microcomputer 。 CPU+RAM+ROM+T/C+I/O接口+UART一块芯片
2,3 间的差别在于:
CPU不同 复杂和简单:外 存设 贮不 器同 量不同
操作平台不同
软件:编译器 和仿真系统 监控程序 汇编语言,
C51
但应用领域广泛,价格也不同。
1964-1971 第三代集成电路计算机。使用半导体存储 器,出现多终端计算机和计算机网络。
1971- 第四代大规模集成电路计算机。出现微型计算 机、单片微型计算机,外部设备多样化。
1981- 第五代人工智能计算机。模拟人的智能和 交流方式。
0.2 单片机简介与发展
0.2.1 单片机简介 单片机即单片微型计算机,是将计算机主机(CPU、 内
存和I/O接口等)集成在一小块硅片上的微型机。
单片机为工业测控而设计,又称微控制器。具有三高
优势(集成度高、可靠性高、性价比高)。
主要应用于工业检测与控制、计算机外设、智能仪器 仪表、通讯设备、家用电器等。 特别适合于嵌入式微 型机应用系统。
0.2.2 单片机发展概况
1976-1978 初级8位单片机 Intel MCS-48 系列 1978- 高档8位单片机 Intel MCS-51系列:
高级语言:用C语言来编写程序,然后通过“编译”程序
生成代码,是一种面向问题的语言,容易学习和理解。
1.4.6 单片机在控制领域中应用的优点
(1) 体积小,成本低,易于嵌入系统内部。 (2) 面向控制,能解决各类简单到复杂的控制任务。 (3) 抗干扰能力强,适应温度范围宽,可在恶劣环境下可靠工作。 (4) 易实现多机和分布式控制
单片机与嵌入式技术
微机原理与接口技术 第6章2

MOV DX,OFFSET MESG INT 21H MOV AH,1 INT 21H CMP AL,’0’ JC AGA
源程序清单:
CMP AL,’9’
JA
AGA
SUB
AL,30H
MOVZX BX,AL
ADD BX,BX;2×BX→BX
MOV SI,OFFSET TAB
·486 DATA SEGMENT USE16 TAB DW P0,P1,…,P9 ;汇编后自动装入相应的偏移地址 MESG DB 0DH,0AH,’strike 0~9:$’ DATA ENDS CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA
SEGMENT USE16
ASSUME CS : CODE , DS : DATA
MOV AX , DATA
MOV DS , AX
MOV AH , 1
INT 21H
;AL=键入字符的
MOV BUF , AL
ASIIC码
MOV AH , 4CH
INT 21H
ENDS
END BEG
分支程序设计
转移指令可用来实现分支程序设计
MOV INT
AH,1 21H ;等待键入
MOV DX,OFFSET MESG2 INT 21H
CMP AL,3AH
;显示错误信息
JNC ERROR ;>'9'转 EXIT: MOV AH,4CH
CMP AL,30H
INT 21H
[EXE格式程序清单]
;--------------------------------DISP PROC
微机原理与应用

《微机原理与应用》复习资料第1 章微型计算机基础知识1.计算机的基本组成(P16-P23)2.CPU 的三组总线 AB,DB,CB3.微计算机中数和字符的表示:真值,原码,反码,补码,BCD 码,ASCII 码(1)给定一个十进制数,求其原码、反码、补码,例如:求-112 的原码、反码、补码(2)BCD 码与 ASCII 码之间的转换方法(读程序或写程序)ADD AL,30H OR AL,30H SUB AL,30H4.十进制,二进制,十六进制之间的转换(读程序或写程序)5.补码的加减运算和对标志位的影响:CF,ZF,OF,SF计算机中的计算方法,补码运算过程。
第2 章微处理器结构、处理器总线时序和系统总线(*)1.8086CPU 的内部结构:EU,BIU (P36-P40)2.8086CPU 的逻辑地址和物理地址(P48-P53)3.8086CPU 的寄存器结构(P37-P40)4.标志寄存器、常用的标志位以及对应的条件转移指令(P39)5.有符号数与无符号数运算对标志位的影响,以及溢出判断方法(双高位判断法)5.8086/8088 有最小组态和最大组态的区别,8086/8088 的区别。
6.基本概念:指令周期—执行一条指令所需的时间。
不同指令的指令周期是不同的。
有些指令周期划分为一个个总线周期。
例:最短指令: 寄←寄, 只需要 2 个时钟周期.最长指令: 16 位乘、除,约需 200 个时钟周期.总线周期—每当 CPU 与存储器或 I/O 端口交换一个字节(或字、双字)数据所需的时间称之为一个总线周期。
每个基本总线周期包含4 个T 状态。
T 状态—就是一个时钟周期,是 CPU 处理动作的最小单位。
7.掌握8086/8088 的引脚最小组态和最大组态时的含义,掌握三总线分析方法。
8.能看懂存储器的读周期9.为什么要插入Tw,以及如何处理这种情况。
(P45)解决快速 CPU 与任何速度的存储器的时序配合。
《微机原理及应用》复习精华

EPROM:可紫外线擦除的可编程 ROM
EEPROM:可电擦除的可编程 ROM
2.典型存储器芯片及容量
SRAM
EPROM
E 2 PROM
6264: 8K×8bit
2764: 8K×8bit
28C64: 8K×8bit
62128:16K×8bit
27128:16K×8bit
28C128:16K×8bit
2.8086 与 8088 主要区别: ①外部数据总线位数的差别:8086 是 16 位,8088 是 8 位; ②指令队列容量的差别:8086 指令队列可容纳 6 个字节,8088 只能容纳 4 个字节;
《微机原理及应用》复习精华 第 3 页
淮阴工学院
科学男孩 /kexuenanhai
______
______
连),WE是★★★(一般与 CPU 的WR直接相连),还有地址线 A..和数据线 D..(这
两者一般与 CPU 对应连接即可)。
③当还有 74LS373、Intel8282 等芯片时,一般将 CPU 的地址锁存允许信号
ALE 接至芯片的使能端,将 CPU 的 AD7~AD0 接至芯片的 I7~I0,将芯片的 O7~O0 接至存储器的 A7~A0 .
62256:32K×8bit
27256:32K×8bit
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组字<AX? N 内容交换 修改数组指针 N 到100字?
YRT: MOV MOV MOV MOV MOV NEXT1: CMP
AX,2000H DS,AX BX,0042H AX,0 CX,100 AX,[BX]
循环次数已知 (计数控制)
JA
MOV NEXT: INC
NEXT
MAX PROC NEAR PUSHF PUSH AX PUSH CX PUSH SI
STAR:MOV BX,2000H MOV AL,5 MOV AH,0 [BX+AL] XLAT HLT ADD BX,AX
MOV AL,[BX] 执行后:AL=19H
复习换码指令
…… 64H 51H 40H 31H 24H 19H 10H 09H 04H 01H 00H
⑴ 段内直接调用与返回
格式:CALL 过程名 功能:调用当前段内的子程序 操作:SP←SP-2,[SP]←IP,IP←IP+disp 格式:RET 操作:IP ←[SP],SP← SP+2 16位通用寄存器或 ⑵ 段内间接调用与返回 字存储器 格式:CALL OPRD 操作:SP←SP-2,[SP]←IP,IP←(OPRD) 格式: RET 操作:IP ←[SP],SP← SP+2
子 程 序 段
子 程 序 段
subr1 proc near ...... ret subr1 endp main endp code ends
主 程 序 段
code ends
例:
MY SEGMENT ASSUME CS:MY MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV CL,04 CALL DP5 MOV BL,CL CALL DP5 ADD AL,BL RET MAIN ENDP DP5 PROC MOV SAL SAL ADD MOV NEAR AL,CL AL,1 AL,1 AL,CL CL,AL
AX,[BX] BX
;AX高于[BX]转到NEXT
INC
LOOP MOV
BX
NEXT1 [0040H],AX
必须采用寄存 器间址,才能实现 循环。
HLT
子程序:也叫过程,相对主程序而言,是一个子的程序段, 它能被主程序调用,也能被其它子程序调用 一般把有公用性、重复性或有相对独立性的程序设计成子程序 把功能相对独立的程序段单独编写和调试,作为一个 相对独立的模块(子程序)供其他程序使用。
二、举例
例: 主 程 序 段
code segment main proc far ...... call subr1 ...... ret main endp subr1 proc near ...... ret subr1 endp
code segment main proc far ...... call subr1 ...... ret
6.3 分支程序(2) 开始
① 分析 根据题意需要两次判断M的大小,根据判 输入71H外 断结果把00H或0FFH或88H输出到73H端口。 设值→AL ② 确定算法 可以使用低于JB和高于或等于转移指令JAE … AL<10? Y LP1 IN AL,71H;71H端口数→AL CLC BL=00H CMP AL,10 AL≥20? Y JB LP1 ;小于10转LP1 LP2 CMP AL,20 BL=0FFH JAE LP2 ;大于或等于20转LP2 BL=88H MOV BL,88H JMP LP3 LP3 LP1: MOV BL,00H 输出BL到 JMP LP3 外设73H LP2:MOV BL,0FFH LP3:OUT 73H,BL ;将BL的内容输 MOV AL,BL 暂停 HLT 73H,AL 出到端口73H OUT
MOV AX,1000H MOV DS,AX MOV S1,50H MOV DI,58H MOV BX,60H MOV CX,4 CLC AA: MOV AX,[SI] ADC AX,[DI] MOV [BX],AX PUSHF ADD SI,2 ADD DI,2 ADD BX,2 POPF LOOP AA HLT
④内存分配
条件满足? N 语句系列
Y
N
Y
条件满足? 语句系列2
语句系列1
两种分支结构示意图 例:编一个程序。从外设71H取一个数M,判断其值是否在10和 20之间,即10≤M<20。如果M≥20,则送0FFH给外设73H; 如果M<10,则送00H给外设73H;如果10≤M<20, 则送88H给外设73H。
一、子程序编写注意事项
一、子程序编写注意事项
⑴子程序要利用过程定义伪指令声明。 ⑵子程序中对堆栈的压入和弹出操作要成对使用,保持堆栈的平衡。 ⑶子程序应安排在代码段的主程序之外,最好放在主程序执行终止后的位置, 也可以放在主程序开始执行之前的位置。 ⑷处理好子程序与主程序间的参数传递问题。 ⑸提供必要的子程序说明信息。
⑴ 现场保护与恢复
返回时,恢复现场。后入栈的要先弹出。
例: DELAYIS: PUSHF 后进先出 PUSH CX MOV CX,176H ;循环374次 LP1:PUSHF POPF LOOP LP1 ;CX-1,CX≠0转LP HLT POP CX POPF RET
2、子程序设计与应用应注意的问题
子程序设计举例:
开始
初始化
N
AL≤ [SI]? AL←[SI]
找出一个数据块中的最大 数,数据块长度在(2001H )单元,数据块从(2002H )单元开始存放,把找出的 最大值放到(2000H)单元 , 假设数据块中的数是无符号 的 8 位数
SI←SI+1
N
CX=0? AL→[2000H] 暂停
MOV SI,2001H MOV CL,[SI] INC SI MOV AL,00 MOV CH,00 NEXT: CLC 入口信息:2002H单元存放数据 CMP AL,[SI] 2001H单元存放数据个数 JC LESS 出口信息:最大值在2000H单元 JMP NLESS LESS: MOV AL,[SI] POP SI NLESS: INC SI POP CX LOOP NEXT POP AX MOV [2000H],AL POPF HLT RET ENDP MAX
⑷ 段间间接调用与返回
双字存储器操作数 格式:CALL OPRD 操作:SP←SP-2,[SP]←CS, SP←SP-2 ,[SP]←IP IP←(OPRD低),CS←(OPRD高) 格式: RET 操作:IP ←[SP],SP← SP+2 ,CS←[SP],SP←SP+2
子程序中要保护该程序中要使用的寄存器
子 程 序
proadd proc near push ax push cx push si lea si, ary mov cx, [count] xor ax, ax next::add ax, [si] add si, 2 loop next mov [ sum ], ax pop si pop cx pop ax ret proadd endp code ends end start
暂停
21.4节拍
假设时钟为8M
延时时间 1ms 循环次数=────── =───────≈374次 一次循环时间 21.4×0.125μs
举例 例: 求无符号字组中的最大值。已知: 数组存放在20042H开始的单元,字组长 度100,最大值送存20040H开始的单元 。(实验5A)
开始
置数组首址BX 置数组长度CX 置数组无符号数最小值AX
子程序入口地址与 当前地址的差值
⑶ 段间直接调用与返回
远过程 格式:CALL 过程名
功能:调用其它代码段中的子程序 操作:SP←SP-2,[SP]←CS,SP←SP-2,[SP]←IP IP←过程入口地址的偏移量 CS←过程入口地址的段值 格式:RET 操作:IP ←[SP],SP← SP+2,CS←[SP],SP←SP+2
6.1 6.2 6.3 6.4 6.5
程序设计步骤 简单程序 分支程序 循环程序 子程序
程序:计算机命令(语句)的有序集合。
汇编语言程序设计步骤: ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ 分析问题 建立数学模型 确定算法 绘制程序流程图 内存空间分配 编制程序与静态检查 程序调试
开始 处理
处理
Y
判断
N
处理
结束
⑵ 参数传递——必须设计好子程序中用到了哪些寄存器或 存储单元。哪些是需要调用程序提供的, 哪些是结果提供给调用程序的。 ⑶ 子程序说明——一个子程序,可以被其它程序调用,必须 提供一些说明。如:
程序名、程序的功能、占用的寄存器或 存储单元、入口及出口参数、嵌套了哪 些子程序。
SI=2001H 循环次数CL=[SI] 最大值初值AL=00 SI+1指向数据块
RET DP5 ENDP MY ENDS END START AL=? BL=? CL=?
例: 累加数组中的元素。
主程序 data segment ary dw 1,2,3,4,5,6,7,8,9,10 count dw 10 sum dw ? data ends code segment main proc far assume cs:code, ds:data start: push ds sub ax, ax push ax mov ax, data mov ds, ax call proadd ret main endp
例:设计一个软件延时程序,延时时间约1ms
开始
CX=循环次数
压栈出栈操作
N
延时时间到?
MOV BX,1000 LP2: MOV CX,176H ;循环374次 LP1: PUSHF POPF LOOP LP1 ;CX-1,CX≠0转LP DEC BX HLT JNZ LP2 HLT PUSHF 10节拍 POPF 8节拍 LOOP 3.4节拍