77范文网 - 专业文章范例文档资料分享平台

微处理器系统与嵌入式系统1—7章最全答案合集解读(3)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

5 6 7 8

1 1 1 1 0 0 1 1 0 1 0 1 000~111 000~111 000~111 000~111 9020H~9027H 9028H~902FH 9030H~9037H 9038H~903FH 4.19试完成下面的RAM系统扩充图。假设系统已占用0000~ 27FFH段内存地址空间,并拟将后面的连续地址空间分配给该扩充RAM。

A15 A14 A13 A12 A11

系统 A10

译码器输出 A15~A14 A13 /Q0 /Q1 /Q2 /Q3 /Q4 /Q5 /Q6 /Q7

00 0 0 0 0 1 1 1 1 A12 0 0 1 1 0 A11 0 1 0 1 0 A10~A0 地址空间 0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2BFFH 2C00H~2FFFH 0000000000~11111111111 0 1 1 1 0 1 0 000000000~1 1111111111 4.22假设一台打印机的数据输出I/O端口地址为378H,状态端口地址为379H,状态字节的D0位为状态位(D0 = 0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0 = 1,表示打印数据缓冲区满)。试用查询方式从内存中以BUF为首址的单元处开始,将连续1 KB的数据传送给打印机,每次传送一个字节。给出接口的硬件结构,说明数据交换流程。

数据端口选通 数据锁存器 (输出端口) 打 Busy 1bit 5V D R Q /ACK 印 机 状态缓冲器 (输入端口) 状态端口读选通

(1) 初始化内存指针为BUF;

(2) CPU从379H端口读入状态字,并判断D0位(Busy),若D0=1则重复(1); (3) 若D0=0则CPU向378H数据端口写数据,同时Busy会变为高电平,并通知外

设数据已经准备好;

(4) 外设在适当时候取走数据,并发送/ACK信号将D触发器清零,使Busy=0,准

备下一次数据传送;

(5) 修改内存指针(加1),重复(2)至(5)1000次;

4.23试用无条件传输方式完成下列功能:将首地址为40000H的内存单元中1K个字数据从端口Output处输出,然后从端口Input处输入2KB数据到首地址为50000H的内存单元中。给出接口的硬件结构,说明数据交换流程。

(1) 初始化内存指针为40000H;

(2) CPU取一个字节数据输出到Output端口,并修改内存指针(加1); (3) 重复(2)2000次,完成2K个字节的传送; (4) 初始化内存指针为50000H;;

(5) CPU从Input端口读入一个字节数据写入内存单元,并修改内存指针(加1); (6) 重复(5)2000次,完成2K个字节的传送;

DB AB

端口译码器 数据输入 缓冲器端口 /RD 数据输出 缓冲器端口 /WR

4.28在某系统中,要求采用中断方式把一个长100字节的数据块从首址为AREA的存储区传送到端口地址为37FH的接口上,每次中断只传送一个字节。试给出数据交换流程。

主程序:

(1) 初始化内存指针为AREA(全局变量); (2) 初始化传送次数为100(全局变量); (3) 允许传送中断;

(4) 启动传送:从内存取一个字节输出到37FH端口,并修改内存指针(加1); (5) 等待中断或处理其他事情; 中断服务程序:

(1) 修改传送次数(减1),并判断是否为0,若为0,退出中断,结束传送; (2) 若未传送完,则修改内存指针(加1); (3) 从内存取一个字节输出到37FH端口; (4) 返回;

4.31用8255A作为CPU与打印机的接口,8255A的A端口工作于方式0输出;C端口工作于方式0。8255A与打印机及CPU的连线如下图所示。试给出查询方式下将100个数据送打印机打印的数据交换流程。

(1) CPU读C口并判断PC0(BUSY)电平,若PC0(BUSY)=1,则重复(1); (2) 若PC0(BUSY)=0,表示打印机空闲,CPU即可向A口输出一个数据; (3) CPU写C口令PC6=0(延时后再令PC6=1),通知打印机数据已准备好;

(4) 打印机取走数据后令BUSY=0; (5) 重复(1)~(4)100次;

4.39若某8位A/D转换器的满度输入电压为10 V,则其量化误差为多少?

110?0.0196V

228?1 5.1

ARM支持7种运行模式: 1) 用户模式 2) 快速中断模式 3) 外部中断模式 4) 管理模式 5) 终止模式 6) 未定义模式 7) 系统模式

运行模式的切换由

CPSR低8位中M4~M0控制位决定(1)10000 (2)10001(3)10010(4)10011(5)10111(6)11011(7)11111 5.4

1) ARM状态:处理器执行32位字时齐的ARM指令

2) Thumb状态:处理器执行16位的,半字对齐的Thumb指令 切换:

进入Thumb:1.当操作数寄存器的状态位(最低位)为1时执行BX指令 2.当在Thumb 发生异常,在异常处理后自动返回Thumb 进入ARM:1.当操作数寄存器的状态位为0时,执行BX指令 2.当进行异常处理时,把程序计数器的PC的值放入异常模式链接寄存器中,从

异常向量地址开始执行程序,自动进入ARM状态

5.7

1) 寄存器寻址

2) 寄存器寻址,立即寻址

3) 寄存器寻址,寄存器间接寻址 4) 寄存器寻址,基址变址寻址 5) 多寄存器寻址(堆栈寻址)

6) 寄存器寻址,寄存器寻址,寄存器移位寻址 7) 多寄存器寻址 8) 相对寻址 5.9

1) 改为ADD R1, R2,#4 2) 对

3) 不用“!”

4) 立即数 #02F100不符合规定

5) 既不是立即数,也不是寄存器数

6) 目的寄存器R2存放不能与操作数寄存器相同 7) 不能将立即数直接给CPSR 8) 正确 5.10

1) 比较R0与R1中的值,更新标志位,无符号数R0>无符号数R1,C置位,Z清零,R1?R1+1 2) 比较R1与R2中的值,更新标志位,若N置位,即(R1)<(R2),则R2?R2-0x08

“微处理器系统原理与嵌入式系统设计”第六章习题解答

6.3试用汇编代码完成如下C语言代码完成的功能。

int gcd(int a, int b) {while (a != b) if (a > b) a = a-b; else

b = b-a; return a; }

AREA Sub1,CODE,READONLY EXPORT Sub1 CMP

R0, R1

;(R0)=a,(R1)=b ;相等则返回

;带符号数大于条件码为GT,无符号数为HI ;带符号数小于条件码为LT,无符号数为LO ;R2指向a ;更新变量a ;返回

MOVEQ PC,LR SUBGT R0, R0, R1 SUBLT R1, R1, R0 LDR STR MOV END

R2,=a R0,[R2] PC,LR

6.4 宏的定义如下面的代码所示:

MICRO

$aa example $bb, $cc, $dd $aa CMP $cc, #0

B$dd $bb

MEND

若在汇编程序中需要调用上面定义的宏example,则其程序代码如下。试写出下面程序被汇编后,宏展开后的结果。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微处理器系统与嵌入式系统1—7章最全答案合集解读(3)在线全文阅读。

微处理器系统与嵌入式系统1—7章最全答案合集解读(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/612518.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: