电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答.doc_第1页
电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答.doc_第2页
电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答.doc_第3页
电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答.doc_第4页
电子科技大学微机系统原理与接口第二版课后习题答案chapter10习题解答.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“微处理器系统原理与嵌入式系统设计”第十章习题解答10.2 简述以ARM微处理器为核心的最小硬件系统的组成?l ARM微处理器;l 电源模块,包括CPU内核和I/O接口电源;l 时钟模块,包括系统主时钟和实时时钟;l 复位模块,包括系统加电复位、手动复位和内部复位;l 存储器模块,包括程序保存存储器和程序运行存储器;l 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的第07引脚驱动8个LED电路,对应GPIO输出为0时LED灯亮,则相应程序流程图及相应程序段如下所示:GPGCON EQU 0x56000060 GPGDAT EQU 0x56000064 GPGUP EQU 0x56000068;配置GPGCON寄存器,设置相关引脚为输出功能LDR R0,=GPGCONLDR R1,R0BIC R1,R1,#0x0000FFFFORR R1,R1,#0x00005555STRR1,R0;配置GPGUP寄存器,断开各上拉电阻LDR R0,=GPGUPLDR R1,R0ORR R1,R1,#0x00FFSTRR1,R0;输出驱动数据,点亮对应LED等LOOPSTARLDR R2,=GPGDATLDR R3,R2BIC R3,R3,#0x00FFORR R3,R3,#0x00FESTRR3,R2LDRR0,=0xFFFFFF;初始计数值BL DELAY ;调用延迟子程序LDR R2,=GPGDATLDR R3,R2BIC R3,R3,#0x00FFORR R3,R3,#0x007FSTRR3,R2 LDRR0,=0xFFFFFF;初始计数值BL DELAY ;调用延迟子程序BLOOPSTARDELAYSUBR0,R0,#1CMPR0,#0x0BNEDELAYMOVPC,LR10.7 在上题中,如果要加入一个按键,实现按键按下时流水灯停止流动,按键放开时流水灯正常流转的功能,思考应怎样修改电路和程序?在上题的基础上,添加一个GPIO口作为输入管脚(GPA的GPA0),按键按下GPA0值为1,否则为零。按键按下时流水灯停止流动,按键放开时流水灯重新启动。故需在每次对GPGDAT寄存器赋值前/后进行判断操作(答案是后进行判断,之前判断也是正确的),若判断有按键按下,则跳转出改程序段,否者继续执行。相应程序如下:GPACON EQU 0x56000000 GPADAT EQU 0x56000004 GPAUP EQU 0x56000008 GPGCON EQU 0x56000060 GPGDAT EQU 0x56000064 GPGUP EQU 0x56000068;配置GPACON寄存器,设置相关引脚为输出功能LDR R0,=GPACONLDR R1,R0BIC R1,R1,#0x00000003ORR R1,R1,#0x00000000STRR1,R0;配置GPAUP寄存器,断开各上拉电阻LDR R0,=GPAUPLDR R1,R0ORR R1,R1,#0x0001STRR1,R0;配置GPGCON寄存器,设置相关引脚为输出功能LDR R0,=GPGCONLDR R1,R0BIC R1,R1,#0x0000FFFFORR R1,R1,#0x00005555STRR1,R0;配置GPGUP寄存器,断开各上拉电阻LDR R0,=GPGUPLDR R1,R0ORR R1,R1,#0x00FFSTRR1,R0;输出驱动数据,点亮对应LED等LOOPSTARLDR R2,=GPGDATLDR R3,R2BIC R3,R3,#0x00FFORR R3,R3,#0x00FESTRR3,R2LDR R2,=GPGDATLDR R3,R2 BIC R3,R3,#0xFFFECMPR3,#0x1BEQWAIT LDRR0,=0xFFFFFF;初始计数值BL DELAY ;调用延迟子程序LDR R2,=GPGDATLDR R3,R2BIC R3,R3,#0x00FFORR R3,R3,#0x007FSTRR3,R2 LDR R2,=GPGDATLDR R3,R2 BIC R3,R3,#0xFFFECMPR3,#0x1BEQWAIT LDRR0,=0xFFFFFF;初始计数值BL DELAY ;调用延迟子程序BLOOPSTARDELAYSUBR0,R0,#1CMPR0,#0x0BNEDELAYMOVPC,LRWAITLDR R2,=GPGDATLDR R3,R2 BIC R3,R3,#0xFFFECMPR3,#0x1BEQWAITBLOOPSTAR10.8 在某采用小端存储的S3C2440系统中,处理器外设时钟PCLK=66.68MHz,使用其UART1接口实现串行通信,要求传输速率19200bps,不使用FIFO,关闭流控制,帧格式:8位数据位,2位停止位,偶校验。试写出各初始化控制字,并编写初始化程序段。;相关寄存器地址定义CLKDIVN EQU 0x4C000014 ;CLKDIVN for PCLK and FCLKCAMDIVN EQU 0x4C000018 ;CANDIVNULCON1 EQU 0x50004000 ;UART line control register 0UCON1 EQU 0x50004004 ;UART control register 0UFCON1 EQU 0x50004008 ;UART FIFO control register 0 UMCON1 EQU 0x5000400C ;UART modem control register 0UBRDIV1 EQU 0x50004028 ;UART baud rate divisor register 0UTRSTAT1 EQU 0x50004010 ;UART TX/RX status register 0UTXH1 EQU 0x50004020 ;UART transmit buffer register 0URXH1 EQU 0x50004024 ;UART receive buffer register 0MPLLCON EQU 0x4C000004 ;MPLL control register AREA SerialCommunication,CODE,READONLY ENTRY ldr r2,=MPLLCON ;设置MPLL为0x00076022 FCLK=Mpll=(2*m*Fin)/(p*(2的s次方), Fin=16.9344MHz ; m=(MDIV+8), p=(PDIV+2), s=SDIV mov r3,#0x22 mov r4,#0x00076000 ADD r3,r3,r4 str r3,r2 ldr r2,=CLKDIVN ; CLKDIVN 设置为 0x03, PCLK=FCLK/4 mov r3,#0x03 str r3,r2 ldr r2,=CAMDIVN ; CLKDIVN 设置为 0x0200, PCLK=FCLK/4 mov r3,#0x200 str r3,r2 ldr r2,=ULCON1 ; ULCON1 设置为 0x07, 含义是正常操作模式,无校验,停止位2,8个数据位 mov r3,#0x07 str r3,r2 ldr r2,=UCON1 ;UCON1 设置为 0x05 表示发送、接收数据都使用查询方式,该处初始化为中断模式也正确 mov r3,#0x05 str r3,r2 ldr r2,=UFCON1 ;UFCON1 设置为 0x00 为不使用 FIFO mov r3,#0x00 str r3,r2 ldr r2,=UMCON1 ;UMCON1 设置为 0x00 为不使用流控 mov r3,#0x00 str r3,r2 ldr r2,=UBRDIV1 ;UBRDIV1 设置为216,含义为 波特率设为 19200, 由下面公式算得:UBRDIVn = (int)(PCLK/bps*16)-1 ;其中 PCLK =66.68MHz mov r3,#216;或者16进制表示0XD8 strh r3,r210.9 在上题中,若采用查询方式进行数据传输,要将位于地址DATA处的100字节发送到其他设备,试画出程序流程图,并写出相关程序段。查询方式进行数据传输的代码段如下:CHECKLDR R2,= UTRSTAT1 LDR R3,R2 AND R3,R3,#0X02 CMP R3,#0X02 BNE WAITSET LDR R5,=DATA LDRB R3,R5,#1 LDR R2,=UTXH1 STRB R3,R2SUB R5,R5,#1CMP R5,#0x64 BNE CHECK10.10 在10.8题中,若要实现处理器收到数据0xAA,则回应1字节数据0x55的功能,试画出采用查询方式传输的程序流程图,并写出相关程序段。进一步思考如果采用中断方式工作,需要对软件进行怎样的修改?相应代码段如下:CHECK LDR R2,=UTRSTAT1 LDR R3,R2 AND R3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论