最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答

IT圈 admin 36浏览 0评论

2024年3月17日发(作者:森莱)

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

10.2 简述以ARM微处理器为核心的最小硬件系统的组成?

ARM微处理器;

电源模块,包括CPU内核和I/O接口电源;

时钟模块,包括系统主时钟和实时时钟;

复位模块,包括系统加电复位、手动复位和内部复位;

存储器模块,包括程序保存存储器和程序运行存储器;

JTAG调试接口模块。

10.4 简述S3C2440A芯片中各模块时钟信号产生及配置的原理。为降低系统功

耗,可时钟信号进行哪些处理?系统复位信号与各时钟信号有什么关系?

当系统主时钟送入S3C2440A芯片后,进入其时钟发生模块,由锁相环进行相应的处理,

最终得到FCLK,HCLK,PCLK和UCLK四组时钟信号。其中,FCLK信号主要供给ARM920T内

核使用,HCLK主要供给AHB总线、存储器控制器、中断控制器、LCD控制器、DMA控制器和

USB主机模块;PCLK主要供给访问APB总线的外设,例如WDT,I2S,I2C,PWM定时器,MMC

接口,ADC,UART,GPIO,RTC和SPI模块;UCLK主要提供USB模块需要的48MHz时钟。

为降低系统功耗,可对时钟信号进行门控管理。最低功耗情况下,只开启FCLK信号,

其他时钟信号关闭;若需对其他外设,只需使能相应总线及外设的时钟信号有效即可。

系统复位信号一般包括加电复位、手动复位和内部复位三类。其中,加电复位和手动复

位信号均来自外部复位电路,内部复位信号一般来自系统内部事务处理(例如看门狗复位

等)。因此,系统对外部复位信号波形有一定的要求,若不能满足要求系统将不能正常工作。

在S3C2440A芯片中,要完成正确的系统复位,在处理电源保持稳定之后,该信号必须至少

维持4个FCLK时钟的低电平状态。

10.6 利用S3C2440A的GPIO端口,设计包含8个LED的流水灯电路,每个LED

间隔1S轮流点亮,试画出程序流程图并写出相关程序段。

假设利用S3C2440A芯片的GPIO端口G的第0~7引脚驱动8个LED电路,对应GPIO输

出为0时LED灯亮,则相应程序流程图及相应程序段如下所示:

GPGCON

GPGDAT

GPGUP

EQU 0x56000060

EQU 0x56000064

EQU 0x56000068

;配置GPGCON寄存器,设置相关引脚为输出功能

LDR R0,=GPGCON

LDR R1,[R0]

BIC R1,R1,#0x0000FFFF

ORR R1,R1,#0x00005555

STR

R1,[R0]

;配置GPGUP寄存器,断开各上拉电阻

LDR R0,=GPGUP

LDR R1,[R0]

ORR R1,R1,#0x00FF

STR R1,[R0]

;输出驱动数据,点亮对应LED等

LOOPSTAR

LDR R2,=GPGDAT

LDR R3,[R2]

BIC R3,R3,#0x00FF

ORR R3,R3,#0x00FE

STR

LDR

BL

R3,[R2]

R0,=0xFFFFFF

DELAY

;初始计数值

配置禁止上拉GPGUP寄存

器相应GPG0~GPG7段的值

为0xFF

配置控制GPGCON寄存器

相应GPG0~GPG7段的值为

0x5555

开始

;调用延迟子程序

LDR R2,=GPGDAT

LDR R3,[R2]

BIC R3,R3,#0x00FF

ORR R3,R3,#0x007F

STR

LDR

BL

R3,[R2]

R0,=0xFFFFFF

DELAY

LOOPSTAR

;初始计数值

输出驱动数据GPGDAT寄

存器相应GPG0~GPG7段的

对应LED灯流水显示

;调用延迟子程序

B

DELAY

SUB

CMP

BNE

R0,R0,#1

R0,#0x0

DELAY

MOV PC,LR

10.7 在上题中,如果要加入一个按键,实现按键按下时流水灯停止流动,按键

放开时流水灯正常流转的功能,思考应怎样修改电路和程序?

在上题的基础上,添加一个GPIO口作为输入管脚(GPA的GPA[0]),按键按下GPA[0]

值为1,否则为零。按键按下时流水灯停止流动,按键放开时流水灯重新启动。故需在

每次对GPGDAT寄存器赋值前/后进行判断操作(答案是后进行判断,之前判断也是正

确的),若判断有按键按下,则跳转出改程序段,否者继续执行。相应程序如下:

GPACON

GPADAT

GPAUP

GPGCON

GPGDAT

GPGUP

EQU 0x56000000

EQU 0x56000004

EQU 0x56000008

EQU 0x56000060

EQU 0x56000064

EQU 0x56000068

;配置GPACON寄存器,设置相关引脚为输出功能

LDR R0,=GPACON

LDR R1,[R0]

BIC R1,R1,#0x00000003

ORR R1,R1,#0x00000000

STR

R1,[R0]

;配置GPAUP寄存器,断开各上拉电阻

2024年3月17日发(作者:森莱)

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

10.2 简述以ARM微处理器为核心的最小硬件系统的组成?

ARM微处理器;

电源模块,包括CPU内核和I/O接口电源;

时钟模块,包括系统主时钟和实时时钟;

复位模块,包括系统加电复位、手动复位和内部复位;

存储器模块,包括程序保存存储器和程序运行存储器;

JTAG调试接口模块。

10.4 简述S3C2440A芯片中各模块时钟信号产生及配置的原理。为降低系统功

耗,可时钟信号进行哪些处理?系统复位信号与各时钟信号有什么关系?

当系统主时钟送入S3C2440A芯片后,进入其时钟发生模块,由锁相环进行相应的处理,

最终得到FCLK,HCLK,PCLK和UCLK四组时钟信号。其中,FCLK信号主要供给ARM920T内

核使用,HCLK主要供给AHB总线、存储器控制器、中断控制器、LCD控制器、DMA控制器和

USB主机模块;PCLK主要供给访问APB总线的外设,例如WDT,I2S,I2C,PWM定时器,MMC

接口,ADC,UART,GPIO,RTC和SPI模块;UCLK主要提供USB模块需要的48MHz时钟。

为降低系统功耗,可对时钟信号进行门控管理。最低功耗情况下,只开启FCLK信号,

其他时钟信号关闭;若需对其他外设,只需使能相应总线及外设的时钟信号有效即可。

系统复位信号一般包括加电复位、手动复位和内部复位三类。其中,加电复位和手动复

位信号均来自外部复位电路,内部复位信号一般来自系统内部事务处理(例如看门狗复位

等)。因此,系统对外部复位信号波形有一定的要求,若不能满足要求系统将不能正常工作。

在S3C2440A芯片中,要完成正确的系统复位,在处理电源保持稳定之后,该信号必须至少

维持4个FCLK时钟的低电平状态。

10.6 利用S3C2440A的GPIO端口,设计包含8个LED的流水灯电路,每个LED

间隔1S轮流点亮,试画出程序流程图并写出相关程序段。

假设利用S3C2440A芯片的GPIO端口G的第0~7引脚驱动8个LED电路,对应GPIO输

出为0时LED灯亮,则相应程序流程图及相应程序段如下所示:

GPGCON

GPGDAT

GPGUP

EQU 0x56000060

EQU 0x56000064

EQU 0x56000068

;配置GPGCON寄存器,设置相关引脚为输出功能

LDR R0,=GPGCON

LDR R1,[R0]

BIC R1,R1,#0x0000FFFF

ORR R1,R1,#0x00005555

STR

R1,[R0]

;配置GPGUP寄存器,断开各上拉电阻

LDR R0,=GPGUP

LDR R1,[R0]

ORR R1,R1,#0x00FF

STR R1,[R0]

;输出驱动数据,点亮对应LED等

LOOPSTAR

LDR R2,=GPGDAT

LDR R3,[R2]

BIC R3,R3,#0x00FF

ORR R3,R3,#0x00FE

STR

LDR

BL

R3,[R2]

R0,=0xFFFFFF

DELAY

;初始计数值

配置禁止上拉GPGUP寄存

器相应GPG0~GPG7段的值

为0xFF

配置控制GPGCON寄存器

相应GPG0~GPG7段的值为

0x5555

开始

;调用延迟子程序

LDR R2,=GPGDAT

LDR R3,[R2]

BIC R3,R3,#0x00FF

ORR R3,R3,#0x007F

STR

LDR

BL

R3,[R2]

R0,=0xFFFFFF

DELAY

LOOPSTAR

;初始计数值

输出驱动数据GPGDAT寄

存器相应GPG0~GPG7段的

对应LED灯流水显示

;调用延迟子程序

B

DELAY

SUB

CMP

BNE

R0,R0,#1

R0,#0x0

DELAY

MOV PC,LR

10.7 在上题中,如果要加入一个按键,实现按键按下时流水灯停止流动,按键

放开时流水灯正常流转的功能,思考应怎样修改电路和程序?

在上题的基础上,添加一个GPIO口作为输入管脚(GPA的GPA[0]),按键按下GPA[0]

值为1,否则为零。按键按下时流水灯停止流动,按键放开时流水灯重新启动。故需在

每次对GPGDAT寄存器赋值前/后进行判断操作(答案是后进行判断,之前判断也是正

确的),若判断有按键按下,则跳转出改程序段,否者继续执行。相应程序如下:

GPACON

GPADAT

GPAUP

GPGCON

GPGDAT

GPGUP

EQU 0x56000000

EQU 0x56000004

EQU 0x56000008

EQU 0x56000060

EQU 0x56000064

EQU 0x56000068

;配置GPACON寄存器,设置相关引脚为输出功能

LDR R0,=GPACON

LDR R1,[R0]

BIC R1,R1,#0x00000003

ORR R1,R1,#0x00000000

STR

R1,[R0]

;配置GPAUP寄存器,断开各上拉电阻

发布评论

评论列表 (0)

  1. 暂无评论