微机原理与接口技术第八章作业
1632位微机原理汇编语言及接口技术第八章课后习题答案

习题8.4中断请求寄存器IRR保存8条外界中断请求信号IR0~IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断服务寄存器ISR保存正在被8259A服务着的中断状态Di位为1表示IRi中断正在服务中;为0表示没有被服务中断屏蔽寄存器IMR保存对中断请求信号IR的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许习题8.6某时刻8259A的IRR内容是08H,说明IR3引脚有中断请求。
某时刻8259A 的ISR内容是08H,说明IR3正在被中断服务,其它不被处理。
在两片8259A级连的中断电路中,主片的第5级IR5作为从片的中断请求输入,则初始化主、从片时,ICW3的控制字分别是 20H 和 05H 。
习题8.9普通全嵌套方式:8259A的中断优先权顺序固定不变,从高到低依次为IR0、IR1、IR2、……IR7;中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线;在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套。
普通中断结束方式:配合全嵌套优先权方式使用;CPU用输出指令往8259A发出普通中断结束EOI命令;8259A就会复位正在服务的中断中优先权最高的ISR位。
习题8.13int08h proc far ;远过程sti ;开中断,允许中断嵌套push ds ;现场保护push axpush dx…… ;日时钟计时…… ;控制软驱马达int 1ch ;调用指令中断1CHmov al,20h ;发送EOI命令(00100000B,D4D3=00,说明是OCW2)out 20h,alpop ax ;现场恢复pop dxpop dsiret ;中断返回。
北京交通大学《微机原理与接口技术》作业答案

目录《微机原理与接口技术》第一章作业 (2)一、书上P22作业题 2、3、7 (2)《微机原理与接口技术》第二章作业 (2)一、书上P59作业题 2、5、6、9、14 (2)《微机原理与接口技术》第三章作业 (3)一、书上P95作业题 4、5、6、7、10、11、12、13、14、15、16、17、18、22、27 4《微机原理与接口技术》第四章作业 (8)一、课本P155 8、12、13、14 (8)《微机原理与接口技术》第五章作业 (10)一、作业P180 2、5、7、8、9、10 (11)《微机原理与接口技术》第六章作业 (13)一、P207: 1,3,5,10,14。
18,19,20 (13)《微机原理与接口技术》第七章作业(一) (17)一、P268: 3, 6 , 7, 10 , 11 , 12 (17)《微机原理与接口技术》第七章作业(二) (20)一、P268: 15 , 16 , 19, 21,25 (20)《微机原理与接口技术》第八章作业 (24)一、P292 6、7 (24)《微机原理与接口技术》第一章作业一、书上P22作业题 2、3、72.完成下列数制之间的转换。
(1)01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H3.组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型BCD数。
答:组合型BCD码的储存格式用一个字节存放2位BCD码,高4位表示十进制的十位数,低4位表示十进制的个位数,数值表示范围为0~99;非组合型的储存格式是用一个字节的低4位存放1位BCD码,高四位可以为0或任意数,数值表示范围为0~9。
254D的组合型BCD码:0254D的非组合型BCD码:007.计算机中为什么采用补码的形式储存数据?当计算机的字长n=16时,补码的数据表示范围是多少?答:是为了便于进行加减运算,简化机器硬件结构。
第8章微机原理与接口技术

端口A和端口B作为选通输入或输出的数据端口时, 端口C的指定位与端口A和端口B配合使用,用作控 制信号或状态信号。
6
8.1.1 8255的组成与接口信号
2.A组和B组控制电路
根据CPU的方式命令字控制8255的工作方式。 根据CPU的命令对端口C的每一位实现按位复位或置
14
8.1.2 8255的工作方式与控制字
例8.1 将8255 C端口的8根I/O线接8只发光二极管的 正极(八个负极均接地),用按位置位/复位控制字编 写使这8只发光二极管依次亮、灭的程序。设8255的 端口地址为380H~383H。
本程序要使用8255的2个控制字--方式选择字和 按位置位/复位字。这2个控制字都写入8255的控制 字寄存器,由它们的D7位为1或0来区别写入的字是 方式选择字还是置位/复位字。8255的控制字寄存器 的端口地址为383H。方式选择字只写入一次,其后 写入的都是置位/复位字。
位。 A组控制电路控制端口A和端口C的上半部(PC7~
PC4)。 B组控制电路控制端口B和端口C的下半部(PC3~
PC0)。
7
8.1.1 8255的组成与接口信号
4.读/写控制逻辑 控制把CPU的控制命令或输出数据送至相应的端口, 控制把外设的状态信息或输入数据通过相应的端口
送至CPU。
控(制3)字C寄PU存读器取寄某存个数计据数缓器冲的器现传行送值来时的 控制字。 控制字寄存器有3个,都是8位的寄存器, 分别对应于3个计数器。 最高2位确定送入哪个计数器的控制字 寄存器寄存。
PC5
110
PC6
111
PC7
13
8.1.2 8255的工作方式与控制字
微机原理及接口第八章习题解答

“微机系统原理与接口技术”第八章习题解答(部分)1. 什么叫总线和总线操作?为什么各种微型计算机系统中普遍采用总线结构?答:总线是模块与模块之间传送信息的一组公用信号线;而模块间信息传送时与总线有关的操作统称为总线操作;模块间完成一次完整信息交换的时间称为一个总线操作周期。
总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。
因此微型计算机系统中普遍采用总线结构。
2.微机总线有哪些种类?其数据传输的主要过程是什么?答:微机中目前普遍采用的总线标准包括系统内总线标准和系统外总线标准两类:系统内总线标准一般指微机主板插槽(系统扩展板)遵循的各种标准,如PC/XT总线标准、ISA 总线标准(PC/AT总线标准)、VL总线标准(VESA具备总线标准)、PCI局部总线标准等;系统外总线标准指系统互连时遵循的各种标准,多表现为微机对外的标准接口插头,有时也称为接口标准,如EIA RS-232异步串行接口标准、USB通用串行接口标准、IEEE-488通用并行接口标准等。
一个总线操作周期一般分为四个阶段,即:总线请求及仲裁阶段、寻址阶段、传数阶段和结束阶段。
在含有多个主控制器的微机系统中,这四个阶段都是必不可少的;而在仅含一个主控制器的单处理器系统中,则只需要寻址和传数两个阶段。
3.计算机系统与外部设备之间相互连接的总线称为系统外总线(通信总线);用于连接微型机系统内各插件板的总线称为系统内总线(板级总线);CPU内部连接各寄存器及运算部件之间的总线称为片内总线。
4.一次总线的信息传送过程大致可以分为4个阶段,依次为总线请求及仲裁阶段、寻址阶段、传数阶段和结束阶段。
8.同步总线有哪些优点和缺点?主要用在什么场合?答:同步并行总线时序是指总线上所有信号均以同步时钟为基准,所有接在总线上的设备的信息传输也严格与同步时钟同步。
同步并行总线的优点是简单、易实现;缺点是无法兼容总线上各种不同响应速度的设备,因为同步时钟的速度必须以最慢的响应设备为准,这样总线上的高速设备将无法发挥其高速性能。
微机原理与接口技术课后第八章习题答案

第8章中断系统与可编程中断控制器8259A1.什么叫中断?8086微机系统中有哪几种不同类型的中断?答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。
这个过程称为中断。
8086微机系统中有3种中断:1)外部可屏蔽中断。
2)外部不可屏蔽中断。
3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。
8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。
这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。
3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。
对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。
(3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求和总线请求。
4.什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的存放位置。
答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。
在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。
微机原理第一章至第八章作业参考答案

1KB 512B
8KB
1KB=210 的偏移地址范围为: 00 0000 0000~11 1111 1111 即 000H~3FFH 512B=29 的偏移地址范围为: 0 0000 0000~1 1111 1111 即 000H~1FFH 8KB=213 的偏移地址范围为: 0 0000 0000 0000~1 1111 1111 1111 即 0000H~1FFFH
POP AX
PUSH CX
2.10 下列程序段中每一条指令执行完后,AX 中的十六进制内容是什么?
MOV AX,0
;0000H
DEC AX
;0000H-1=0FFFFH
ADD AX,7FFFH
;0FFFFH+7FFFH=7FFEH
ADD AX,2
;7FFEH+2=8000H
NOT AX
;NOT 8000H=7FFFH
目标:寄存器寻址
(5)TEST ES:[SI],DX
目标:寄存器间接寻址 源:寄存器寻址
(6)SBB SI,[BP]
目标:寄存器寻址
源:寄存器间接寻址
2.8 假定 DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据段中变
量名 VAL 的偏移地址值为 0050H,试指出下面源操作数字段的寻址方式是什么?其物理地址值是多少?
每条指令执行后 AX 的内容为:
0000H
0FFFFH 7FFEH
8000H
7FFFH
8000H
0000H
0BFDFH 0ABCDH 0CDABH 9B56H
36ADH
2.15 假定 DX=00B9H,CL=3,CF=1,确定下列各条指令单独执行后 DX 中的值。
微机原理、汇编与接口技术习题答案 第8章习题答案

微机原理、汇编与接口技术第八章习题答案8.1端口地址为380H~383H 4个A端口基本输入、B端口基本输出的方式控制字为90H,方式控制字寄存器的端口地址为383H。
初始化程序段如下:MOV AL, 90HMOV DX, 383HOUT DX, AL8.2MOV DX, 383HMOV AL, 80H ;3个端口基本输出的方式控制字80HOUT DX, ALMOV AL, 0EH ;PC7置“0”的置位/复位字0EHOUT DX, ALMOV AL, 9 ;PC4置“1”的置位/复位字09HOUT DX, AL8.3stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUF DB 0data endscode segmentstart pro farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axMOV ES,AX ;ES为中断向量表的段地址 0000Hmov ax,datamov ds,axMOV DX,383H ;A端口方式1输入MOV AL,0B0HOUT DX,ALMOV AL,9 ;PC4置1,允许A端口中断OUT DX,ALMOV AX,SEG IS8255 ;填写中断向量表MOV ES:01C6H,AXMOV AX,OFFSET IS8255MOV ES:1C4H,AXMOV DX,380H ;A端口的端口地址送DXIN AL,0A1H ;修改中断屏蔽字,允许IQR9中断IND AL,0FDHOUT 0A1H,ALJMP $IN AL,0A1H ;恢复中断屏蔽字,禁止IRQ9中断OR AL,02HOUT 0A1H,ALretIS8255: IN AL,DX ;读键值MOV BUF,AL ;存键值MOV AL,61H ;指定EOI命令OUT 0A0H,ALMOV AL,62HOUT 20H,ALPOP AX ;修改返址INC AXINC AXPUSH AXIRETstart endpcode endsend start8.4控制程序的框图stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUF DB 00H, 10H, 10H, 10H ;SEGPT表中位移量为10H处的显示代码为全灭SEGPT DB 40H, 79H, 24H, 30H, 19H, 12H, 2,78HDB 0, 18H, 8, 3, 46H, 21H, 6, 0EH, 7FHKYTBL DB 17H, 27H, 2BH,2DH, 47H, 4BH, 4DH, 87H, 8BHDB 8DH, 8EH, 4EH, 2EH, 1EH, 1DH, 1BHdata endscode segmentstart proc farassume ss: stack, cs: cods, ds: datapush dssub ax, axpush axmov ax, datamov ds, axMOV DX, 383HMOV AL, 81H ;A口基本I/O出、PC H出、PC L入MOV DX, ALMOV DI, 0 ;存键入数的指针DISUP: MOV AH, 88H ;位选值, 从PC H输出, 1位为0, 3位为1 MOV BX, 0DISUP1: MOV CL, BUF [BX] ;取一个显示数XOR AL, ALMOV CH, AL ;将显示数扩展为16位MOV DX, 382HOUT DX, AL ;关显示,七段显示器的共阴极为高电平MOV SI, OFFSET SEGPT ;七段显示代码表的偏移首地址ADD SI, CX ;求得显示数的显示代码的偏移地址MOV AL, [SI] ;取显示代码MOV DX, 380H ;输出显示代码到A口OUT DX, ALMOV AL, AHMOV DX, 382H ;输出显示数位到C口(PC H)OUT DX, ALCALL D1MS ;1ms延时CMP AH, 11H ;是最低数位吗?JE DECKY ;是,转键盘扫描和键译码程序INC BX ;否,指向下一位数的存储地址ROR AH, 1 ;移到下一个数位JMP DISUP1DECKY: MOV AL, 7FHMOV DX, 380HOUT DX, AL ;关显示,七段显示器的七段均为低电平MOV AL, 0F0HMOV DX, 382HOUT DX, AL ;输出,使所有行线为低电平IN AL, DX ;读入键盘列数据AND AL, 0FH ;屏蔽无用位(D7~D4)CMP AL, 0FH ;有键按下吗?JE DISUP ;无键按下,返回显示程序CALL D20MS ;有键按下延时20ms,消除键抖动MOV CX, 4 ;行计数器MOV AH, 10HDECKY1: MOV AL, AHOUT DX, AL ;设置选择的行为低电平IN AL, DX ;输入列数据AND AL, 0F0H ;屏蔽无用位CMP AL, 0F0H ;该行有键按下吗?JNE DECKY2 ;有,转键译码SHL AH, 1 ;无,扫描下一行LOOP DECKY1 ;所有行扫描完成了?否,扫描下一行JMP DISUP ;是,转显示DECKY2: OR AL, AH ;行和列数值合并为键码MOV BX, 0DECKY3: CMP AL, KYTBL [BX] ;查键码表,找到按键吗?JE DECKY4 ;找到按键转DECKY4INC BX ;没找到JMP DECKY3 ;循环查找DECKY4: MOV BUF [DI], BL ;存按键INC DICMP DI, 4 ;存满4位键入数吗?JNE DECKY5 ;未存满,不修改指针MOV DI, 0 ;已存4位,修改指针DECKY5: IN AL, DX ;检测键释放AND AL, 0FHCMP AL, 0FHJNE DECKY5 ;直到键释放CALL D20MS ;消去键释放时的抖动等待20msJMP DISUPretstart endpD1MS PROC ;延时1ms子程序┇RETD1MS ENDPD20MS PROC ;延时20ms子程序┇RETD20MS ENDPcode endsend start8.5stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codspush dssub ax, axpush axmov ax, datamov ds, axMOV DX, 383HMOV AL, 90H ;A口方式0入,B口和C口方式0出OUT DX, ALMOV DX, 380HIN AL, DX ;从A口读入原码AND AL, AL ;判原码的符号JNS DN ;为正去DNAND AL, 7FH ;为负,取其绝对值MOV DX, 382HOUT DX, AL ;绝对值从C口输出NEG AL ;将负数的绝对值求补DEC DXOUT DX, AL ;负数的补码从B口输出RETDN: INC DX ;正数直接从B口和C口输出OUT DX, ALINC DXOUT DX, ALretstart endpcode endsend start8.68.7设端口地址为380H~383H。
《微机原理与接口技术》第八章作业答案

《微机原理与接口技术》第八章作业一、P292 6、76、有几种方法解决A/D转化器和微机接口中的时间分配问题?各有何特点?答:固定延时等待法,程序查询等待法,中断法(1)固定延时等待法在向A/D发出启动信号后,先根据所采用的A/D转换器所需的转换时间进行软件延时等待,延时程序执行完以后,A/D转换过程也已结束,便可读入数据。
在这种方式中,为了保险起见,通常延时时间应略大于A/D转换所需时间。
缺点:占用较多时间,适合于微处理器任务较少的场合。
优点:可靠性高,不占用查询端口。
(2)程序查询等待法在微处理器发出A/D转换启动命令后,就不断反复测试转换结束信号STS的状态,一旦发现STS有效,就执行输入转换结果数据的指令。
接口简单,CPU同样效率低,且从A/D转换完成到微处理器查询到转换结束并读取数据,可能会有相当大的时延。
(3)中断法当转换完成后,转换结束状态信号STS有效,利用 STS作为中断请求信号,向CPU提出中断申请,当微处理器响应中断,在中断服务程序中执行转换结果数据的读入。
这种方法CPU可与A/D转换器并行工作,效率高,硬件接口简单。
7、试设计一个CPU和两片DAC0832的接口电路,并编制程序,使之分别输出锯齿波和反锯齿波。
DATA SEGMENTDB 100 DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODESTART:MOV AX,DATAMOV DS,AXMOV DX,3F3H ;8255A控制口地址MOV AL,80H ;设置8255方式字,PA、PB、OUT DX,AL ;PC均为方式0输出MOV DX,3F2H ;8255A的C口地址MOV AL,10H ;置DAC0832为直通工作方式OUT DX,ALA1:MOV DX,3F0H ;8255A口地址MOV AL,00H ;输出数据初值LOP1:OUT DX,AL ;锯齿波输出INC AL ;修改数据NOPNOPJMP LOP1 ;锯齿波循环MOV DX,3F1H ;8255B口地址MOV AL,0FFH ;输出数据初值LOP2:OUT DX,AL ;反锯齿波输出DEC AL ;修改数据NOPNOPJMP LOP2 ;反锯齿波循环JMP A1CODE ENDSEND START。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术第八章作业
课本P292 第7、8题
7.试设计一个CPU和两片DAC0832的接口电路,并编制程序,使之分别输出锯齿波和反锯齿波。
答:电路图如下:
设8255A的端口地址分别为3F0H,3F1H,3F2H,3F3H。
程序如下:
DATA SEGMENT
DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START:MOV AX,DATA
MOV DS,AX
MOV DX,3F3H ;8255A控制口地址
MOV AL,80H ;设置8255方式字,PA、PB、
OUT DX,AL ;PC均为方式0输出
MOV DX,3F2H ;8255A的C口地址
MOV AL,10H ;置DAC0832为直通工作方式
OUT DX,AL
A1:MOV DX,3F0H ;8255A口地址
MOV AL,00H ;输出数据初值
LOP1:OUT DX,AL ;锯齿波输出
INC AL ;修改数据
NOP
NOP
JMP LOP1 ;锯齿波循环
MOV DX,3F1H ;8255B口地址
MOV AL,0FFH ;输出数据初值
LOP2:OUT DX,AL ;反锯齿波输出
DEC AL ;修改数据
NOP
NOP
JMP LOP2 ;反锯齿波循环
JMP A1
8.试设计一个采用查询法并用数据线选择通道的CPU和ADC0809的接口电路,并编制程序,使之把所采集的8个通道的数据送入给定的内存区。
答:电路图如下:
4.75~
5.25V
若译码器输出地址分别为100H,110H,120H,8个通道各采样50个点,程序如下:DATA SEGMENT
WP DB 100 DUP(?)
DATA ENDS
STACK SEGMENT 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 WP ;设定内存区起始地址MOV CL,50 ;写入采样计数初值50 NA:MOV DX,100H
P8:OUT DX,AL
PUSH DX
NOP
MOV DX,110H
WT:IN AL,DX
TEST AL,01H
JZ WT
MOV DX,120H
IN AL,DX
MOV [BX],AL
INC BX
POP DX
INC DX
CMP DX,108H
JNZ P8
DEC CL
JNZ NA
CODE ENDS
END START。