微机原理 周荷琴 答案
更新时间:2023-08-27 18:58:01 阅读量: 教育文库 文档下载
- 微机原理与接口技术推荐度:
- 相关推荐
周荷琴版微机原理习题答案
第九章(并行接口,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 ;计数器0为3方式 out 84h , al ;对计数器0写初值
周荷琴版微机原理习题答案
mov al , ah mov al , 50d out 84h , al out 85h , al ;对计数器1写初值 mov al , 01010100b out 87h , al ;计数器1为2方式 ;判断检测 mov bl , 1 ;置初值,灯0熄灭 redo: call delay ;延时 in al , 82h ;读C口数据 mov ah , 0bh and al , 01h ;PC0=0? int 21h ;探测是否有键按下
inc al jnz redo ;非0继续探测
jnz redo ;没有则继续探测 mov al , bl
out 82h , al mov ah , 4ch rol bl , 1 int 21h 注:delay是延时子程序,B口输出0灯亮,输出1灯熄灭。
10. 某病房有8个病人,病员号为0~7,每人床头有一个开关,使任一病人按下开关时,相应的LEDi
发光二极管点亮,其中i为病员号。试设计硬件系统,并编写有关程序。
【编程】设8255A的地址为80H、81H、82H、83H,8255A工作于0方式,A口输入, B口输出。 mov al , 10010000b nop jnz re_test
nop mov al , 4ch out 83h , al ;
mov ah , 0bh int 21h re_test:
int 21h in al , 80h
inc al out 81h , al
D7第十章习题(串行接口,8251)
6. 若某一终端以2400波特的速率发送异步串行数据,发送1位需要多少时间?假设一个字符包
含7个数据位、1个奇偶校验位、一个停止位,发送一个字符需要多少时间? 【解答】发送1位信息需0.42ms,发送1个字符需4.2ms。
周荷琴版微机原理习题答案
9. 若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟TxC频率为多少? 【解答】TxC的频率=153.6KHz
12. 在一个以8086为CPU的系统中,若8251A的数据端口地址为84H,控制口地址为86H,试
画出地址译码电路、数据总线和控制总线的连线图。
13. 设8251A的端口地址为84H、86H,要求8251A工作于内同步方式,同步字符为2个,用偶
校验,7个数据位,试对8251A进行初始化编程。 【编程如下】 mov al , 0 out 86h , al delay out 86h , al delay out 86h , al delay
mov out delay mov out delay mov
al , 40h 86h , al al , 00111000b 86h , al al , 16h
out delay out mov out delay
86h , al 86h , al
al , 10010101b 86h , al
14. 若8251A的端口地址为FF0H,FF2H,要求8251A工作于异步方式,波特率因子为16,7个
数据位,1个奇校验位,1个停止位,试对8251A进行初始化编程。 【编程如下】复位字:40H,工作方式字:5AH,命令字:17H,15H mov dx , 0FF2h out dx , al out mov al , 0 delay delay out dx , al mov al , 40h mov delay out dx , al out out dx , al delay delay delay mov al , 01011010b
dx , al
al , 00010101b
dx , al
16. 某微机系统用串行方式接受外来的数据,再把数据送到CRT上显示,若波特率为1200,波特
率因子为16,每字符7个数据位,奇校验,1个停止位。 用8253产生收发时钟,系统时钟频率为5MHz,收发数据个数为COUNT,数据存放到数据段中以BUFFER为首地址的内存单元中。8251A和8253 的基地址分别为304H和300H。 (1) 画出系统硬件连线图。
(2) 编写8251A和8253的初始化程序。 (3) 编写接受和发送数据的程序。 【解答】 (1) 图请自画 (2) 【编程】
8253初始化 mov dx , 303h mov al , 00110110b out dx , al ;8251A初始化 mov dx , 305h mov al , 0 out dx , al delay out dx , al delay
mov mov out out delay mov out delay mov
dx , 300h ax , 260 dx , al dx , al al , 40h dx , al al , 01011010b
mov out
al , ah dx , al
out delay mov out delay
dx , al
al , 00010101b dx , al
周荷琴版微机原理习题答案
(3) 收发程序 接收程序 lea bx , buffer mov cx , count test_s: mov dx , 305h in al , dx 发送程序 mov bx , 0 mov cx , count test_t:: mov dx , 305h in al , dx test al , 02h jz test_s test al ,38h jnz error
mov dx , 304h test al , 01h jz test_t mov dx , 304h mov al , buffer[bx] out
dx , al
in mov inc loop
inc loop … error:
al , dx [bx] , al bx test_s
bx test_t
正在阅读:
微机原理 周荷琴 答案08-27
我最好的同学作文500字06-28
水化验班组工作总结06-14
高一英语语法-直接引语变成间接引语的句子结构的变化10-20
一级建造师考试名单 - 图文09-20
2014新译林版8B Unit5 Good manners测试题及答案解析11-30
我的朋友作文800字02-04
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 微机
- 原理
- 答案
- 周荷琴
- 新贸易保护主义对山东省贸易的影响
- 2017年电大创建小企业形成性考核作业参考答案
- 数字电路课程设计——九路抢答器
- 监理招标文件(仓储物流) -20110124
- 推进工会信息化建设 促进工会工作上台阶
- 常用电气元件英语
- 广电三网融合新媒体--浙江在线:地方新闻门户网站的运营与发展20110525
- 4.3.2角的比较与运算
- 新人教版二年级下册数学第一单元《数据收集整理》第2课时
- 3D高中奖秘籍
- 广州中考英语单项历年分析理解与练习
- 小学二年级上册课外阅读专项练习题及参考答案
- 模拟设计页式存储管理的分配与回收
- 2019年中国镁合金汽车压铸件行业分析报告-市场运营态势与发展前景研究(目录)
- 高低温试验箱GDW-225-40-3000说明书要点
- 医疗纠纷案例分析作业(三)
- T430HVN01.0 SKD product final spec_v1.3_LBC_20140909
- 【睿智彩神】收集整理福彩3D选号技巧
- 北京航空航天大学航空宇航科学与技术考研 招生人数 参考书 报录比 复试分数线 考研真题 考研经验 招生简章
- (打)加强党委班子自身建设