微机原理 周荷琴 答案
周荷琴版微机原理习题答案
第九章(并行接口,8255A)
4. 若8255A的系统基地址为2F9H,则8255A的三个端口和控制口地址各是多少?已知CPU的
系统总线为A9~A0,D15~D0,M/IO,IOR,IOW,RESET,试画出8255A的地址译码电路及它与CPU系统总线的连线图。
【解答】A、B、C和控制口的地址分别为:2F9H、2FBH、2FDH、2FFH。
5. 设8255A的的地址为:80H、82H、84H、86H。要求A口工作在方式0输出,B口工作在方
式0输入,C口高4位输入,低4位输出,试编写8255A的初始化程序。 【程序段】 mov al , 10001010b out 86h , al 6. 8255A的地址同5题,要求PC4输出高电平,PC5输出低电平,PC6输出一个正脉冲,试写
出完成这些功能的程序段。
【程序段】方法1:设置C口置位/复位字 mov al , 80h mov al , 0ch nop out 86h , al out 86h , al nop mov al , 09h nop mov al , 0ch out 86h , al nop out 86h , al mov al , 0ah mov al , 0dh out 86h , al out 86h , al 方法2:直接从C口输出数据 mov al , 80h out 86h , al mov al , 00010000b out 84h , al
nop
nop mov out
nop nop mov out
al , 01010000b 84h , al al , 00010000b 84h , al
7. 8255A的端口地址同5题,(a)若A口方式0输入,B口方式1输出,C口各位的作用是什么?
控制字是何?(b)若B口方式0输出,A口方式1输入,C口各位的作用是什么?控制字是何? 【解答】(a) PC1:OBFB,PC2:ACKB,PC0:INTRB,以上3位当联络信号,其余各位当输入/输出线。
控制字:1001×11×B (b) PC4:STBA,PC5:IBFA,PC3:INTRA,以上3位当联络信号,其余各位当输入/输出线。
控制字:1011×00×B 8. 若A口工作在方式2,B口方式0输入,C口各位的作用是什么?若A口工作在方式2,B口
方式0输出,C口各位的作用是什么? 【解答】(a)PC3:INTRA,PC4:STBA,PC5:IBFA,PC6:ACKA,PC7:OBFA;作为A口的联络信号;PC0~PC2:作B口的联络信号。 (b)PC3~PC7: 意义同上,PC0~PC2:作输入/输出线。 9. 8255的口地址为:80H~83H,8253 的口地址为84H~87H。
(1) 若A口接8个开关K7~K0,B口接8个指示灯LED7~LED0,当开关闭合上时相应的指示灯点
亮,断开时灯灭,要求每隔0.5秒检测一次开关状态,并在开关上显示出来,试画出硬件连线图,并编写出实现该功能的程序。 【方法1】中断方式。设8253的输入时钟频率为1MHz。将计数器0和1串接,从OUT1输出周期为0.5秒的负脉冲序列,用它作为中断源,接到8259A的IR2端(设中断类型是0AH)。每进入中断就检测一次开关状态。程序段如下:
周荷琴版微机原理习题答案
;8253初始化,计数器0为3方式,初值N1=10000;计数器1为2方式,初值N2=50。 mov al , 00110110b mov ax , 10000d mov al , 50d out 87h , al out 84h , al out 85h , al mov al , 01010100b mov al , ah out 87h , al out 84h , al
;8255A初始化,工作于0方式,A口输入,B口输出。 mov al , 10010000b out 83h , al
;设置中断向量,等待中断。 mov ax , 350ah in al , 21h cli ;关中断 int 21h ;取原IMR中内容 pop ax push es out 21h , al push ax ;压栈保存 push bx ;恢复原IMR的内容 and al , 11111011b push ds out 21h , al pop dx mov ax , seg int_pro pop ds ;写OCW1,打开IR2中断 mov ds , ax mov ax , 250ah wite_int: sti ;开中断 mov dx , offset int_pro int 21h jmp wite_int ;等待中断 mov ax , 250ah ;恢复原0AH类型的中断向量 mov ah , 0bh int 21h
mov ah , 4ch int 21h pop ds int 21h inc al
cli ;关中断
jnz wite_int
;允许8259A的IR2中断
;判断有无键按下,有则退出
;中断服务子程序 int_pro proc out 20h , al ;向8259A发EOI命令 in al , 80h;从A口检测开关状态 iret out 81h , al;从B口输出控制灯亮 mov al , 20h 【方法2】查询方式。8253的计数器1工作于方式2,OUT1输出接到8255A的PC4端,作为STBA信号。8255A的A口工作于方式1输入,B口工作于方式0输出。当PC4收到负脉冲后,开关状态信息被锁入A口的输入缓冲器中,它使IBFA置1。程序可查询状态字的IBFA或查询INTRA,当其为1时再执行A口输入指令,并从B口输出信号控制LED发光。接线:A口输入,接8个开关;B口输出接8个LED。开关闭合为0,打开为1;B口输出为0时LED亮,输出为1时LED灭。 连线图如下。
程序如下: ;
;8253初始化如【方法1】
;8255A初始化
周荷琴版微机原理习题答案
;(A口输入方式1,B口输出方式0) mov al , 10110000b out 83h , al ;控制程序 scan: mov ah , 1 ;有键按下? int 16h jnz exit ;有则退出程序 in al , 82 ;读C口状态字
test
jz in out jmp exit: mov int
al , 20h scan al , 80h 81h , al scan ah , 4ch 21h
;PC5(IBFA)=1 ;No,继续查询 ;读A口
;输出到B口
【方法3】查询负脉冲(这是非正规做法)。8253的计数器1工作于方式0,将OUT1输出接到8255A的PC0。8255A工作方式同上,但C口低4位输入。不断检测PC0,当其为1时检测开关状态并控制灯亮。当为0时对8253的计数器1重新写初值,启动计数器工作。程序如下: ;8255A初始化,工作于0方式,A口输入,B口输出,C口低4位输入 mov al , 10010001b out 83h , al
;8253初始化,计数器0为3方式,初值N1=10000;计数器1为0方式,初值N2=50。 mov al , 00110110b redo: mov al , 01010000b out 87h , al ;写方式字 out 87h , al ;写方式字 mov ax , 10000d nop
nop out 84h , al ;写初值
mov al , 50d mov al , ah
out 85h , al ;写初值 out 84h , al
;判断检测 in al , 82h int 21h and al , 01h inc al jz redo jnz redo mov al , 10010001b mov ah , 4ch out 81h , al int 21h mov ah , 0bh (2) 若把接在端口A上的开关去掉,要求接在B口的指示灯轮流熄灭,每只灯熄灭1秒钟。请编程
实现这种功能。
【方法1】查询方式,基本同上【方法2】。8255A的B口工作于方式1输出。8253的OUT1接到8255A的PC2端,当作ACKB信号。程序反复查询OBFB(PC1),当其为1时从B口输出数据控制指示灯亮。检测编程如下。
;8255初始化(B口工作于方式1输出) mov al , 10000100b out 83h , al
mov bl , 00000001b scan:
mov ah , 1 ;有键按下? int 16h jnz exit ;有则退出程序 in al , 82h ;读C口 test al , 02h ;PC1=1?
jz scan ;No 继续查询 mov al , bl
out 81h , al ;从B口输出 rol bl , 1 jmp scan exit:
mov ah , 4ch int 21h
【方法2】方法基本同上(方法3),不同点是8253的计数器1工作于方式2,要求不断探测PC0,当其为0时改变熄灭的灯。要注意,控制灯熄灭后要延时一段时间(0.5秒>T>0.01秒一个脉冲宽度)。 mov al , 10000001b out 83h , al ;8255A工作于0方式, B口输出,C口低4位输入
;8253初始化,计数器0为3方式,初值N1=10000;计数器1为2方式,初值N2=100。 mov al , 00110110b mov ax , 10000d out 87h , al …… 此处隐藏:3857字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




