您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > ARM原理及应用复习题(附答案)
《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。2.STM32F103最高工作频率___72MHz___。片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。6.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成输入模式。7.STM32具有单独的位设置或位清除能力。这是通过GPIOx-BSRR_和GPIOx-BRR寄存器来实现的。8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。12.STM32系列ARMCortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。//它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。//嵌入式系统通常执行的是带有特定要求的预先定义的任务,强调控制能力与控制的可靠性;而通用计算机则可以通过安装各种软件执行各种不同的任务,强调高速、海量的数值计算。2.ARMCortex-M3有何特点?答:采用哈佛结构的32位处理器内核,具有高性能、实时功能、数字信号处理、低功耗与低电压操作特性,同时还保持了集成度高和易于开发的特点。3.简述Cortex-M3系统滴答定时器的功能和作用。答:功能:给操作系统提供一个硬件上的中断作为整个系统的时基作用:1.产生操作系统的时钟节拍;2.便于不同处理器之间程序移植;3.当作计时器测量时间。4.STM32共有那几种基本时钟信号?答:5种HSI:高速内部时钟信号;HSE:高速外部时钟信号;LSI:低速内部时钟信号;LSE:低速外部时钟信号;PLL:锁相环倍频输出。5.简述嵌套向量中断控制器(NVIC)的主要特性。答:支持嵌套和向量中断43个可屏蔽中断通道;16个可编程的优先等级;低延迟的异常和中断处理;电源管理控制;系统控制寄存器的实现;6.简述STM32上机调试操作步骤。答:(1)启动STM32开发平台程序;(2)编写程序源代码,编译代码;(3)用仿真器连接硬件烧录程序,进行debug,观察硬件是否按照预期工作;(4)如非正常工作,检查程序代码是否存在错误,再检查硬件系统是否有损坏,直至系统工作正常。7.简述STM32中USART功能特点。答:STM32的USART为通用同步异步收发器,支持同步单线通信和半双工单线通信,可利用分数波特率发生器提供宽范围的波特率选择。还支持LIN,智能卡协议和IrDA红外通信,以及调制解调器等操作,还具有DMA。8.简述STM32中SPI功能特点。答:SPI即串行设备接口,STM32的SPI可以实现主设备或从设备协议,当配置为主设备时,SPI可以连接多达16个独立从设备,收发数据寄存器的宽度可配置为8位或16位。通过SPI可以实现读写SD卡,控制触摸屏等功能。9.简述STM32中TIM功能特点。答:STM32提供了高级控制定时器TIM1/8,通用定时器TIM2~5,基本定时器TIM6/7。这几个定时器都是由可编程预分频器驱动的16位自动装载计数器构成。它们都可以做一些基本的定时,还可以做PWM输出或者输入捕获。除此之外,高级控制定时器具有刹车输入,互补输出和重复次数计数器功能,基本定时器具有触发DAC同步电路的功能。10.简述STM32中ADC功能特点。答:STM32ADC是12位逐次比较型ADC,有18个通道,可测量16个外部、2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阈值。12.Cortex-M3的处理器有那两种工作模式和状态?如何进行工作模式和状态的切换?答:工作模式:1.线程模式;2.处理模式处理器复位或异常退出时为线程模式,出现异常时进入处理模式。工作状态:1.Thumb状态;2.调试状态正常执行16位和32位的Thumb和Thumb-2指令时进入Thumb状态,调试时进入调试状态。13.简述STM32的不同复用功能的重映射功能。答:STM32有很多的内置外设,这些内置外设都是与I/O口共用引出引脚,通过相应的配置,很多复用功能的引脚可以通过重映射,从不同的I/O管脚引出。既方便了用户进行PCB设计,还可以虚拟地增加复用功能的数量14.简述STM32中I2C功能特点。答:I2C是两线式串行总线,用于实现主/从设备间的多主串行通信。总线上的每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器。它是一个真正的多主机总线,具有仲裁功能,总线上连接器件的数量只受总线最大电容的限制,有标准和快速两种模式。15.STM32高级定时器有哪些功能?高级定时器TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。16.如何设置STM32的串口的波特率。答:USARTx-BRR=波特率17.Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?答:内核设备:0xE0000000-0xE00FFFFF(1MB)片上设备:0x40000000-0x5FFFFFFF(512MB)SRAM:0x20000000-0x3FFFFFFF(512MB)Flash:0x00000000-0x1FFFFFFF(512MB)18.STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?答:8种1.GPIO_Mode_AIN模拟输入2.GPIO_Mode_IN_FLOATING浮空输入3.GPIO_Mode_IPD下拉输入4.GPIO_Mode_IPU上拉输入5.GPIO_Mode_Out_OD开漏输出6.GPIO_Mode_Out_PP推挽输出7.GPIO_Mode_AF_OD复用开漏输出8.GPIO_Mode_AF_PP复用推挽输出三、编程题(完整程序)1.编制一个循环点亮LED灯的程序。有4个发光二极管,它们的公共极(阳极)接+5V,阴极通过限流电阻分别于PB12、PB13、PB14、PB15,每次控制其中某个LED灯点亮1S后,转到下一个LED灯亮,循环不止。#include“stm32f10x_map.h”charsec=0,sec1=0;unsignedshortled_dat[4]={112,113,114,115};charled_num=0;intmain(void){SysTick-LOAD=1E6;SysTick-CTRL=1;RCC-APB2ENR|=13;GPIOB-CRH&=0x0000ffff;GPIOB-CRH|=0x33330000;while(1){if(SysTick-CTRL&116){sec+=1;if((sec&0xf)9)sec+=6;}if(sec!=sec1){sec1=sec;GPIOB-BSRR=0xf000;//灭所有LED灯GPIOB-BRR=led_dat[led_num];//亮指定LED灯if(++led_num==4)led_num=0;}}}2.编制一个LED数码管测试程序。数码管采用共阳极接+3.3V,阴极通过限流电阻分别于PA0、PA1、PA2、PA3、PA4、PA5、PA6和PA7,数码管的段与I/O口连接的对应关系是a-PA0,b-PA1,c-PA2,d-PA3,e-PAA4,f-PA5,g-PA6,dp-PA7,试编程在数码管实现数字0~9循环显示,每个数字显示1秒。#include”stm32f10x_map.h”charsec=0,sec1=0;unsignedshortled_dat[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0xaf};charled_num=0;intmain(void){SysTick-LOAD=1E6;SysTick-CTRL=1;RCC-APB2ENR|=13;GPIOA-CRL&=0x00000000;GPIOA-CRL|=0x33333333;}if(SysTick-CTRL&116){Sec+=1;if((sec&0xf)9)sec+=6;}if(sec!=sec1){sec1=sec;GPIOA-BSRR=0x00ff;//灭数码管所有LEDGPIOA-BRR=led_dat[led_num];//亮数码管指定LED(0~9)if(++led_num==10)led_num=0;}}}3.编制一个使用STM32的USART1与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位9600bps。编程实现接收PC机发送的数据后回传给PC机#include”stm32f10x_map.h”chardata;voidmain(void){RCC-APB2ENR|=12;RCC-APB2ENR|=114;GPIOA-CRH&=0xfffff00f;GPIOA-CRH|=0x000004b0;USART1-BRR=0x0341;//波特率设置8000000/9600USART1-CR1|=12;USART1-CR1|=13;USART1-CR1|=113;while(1){if(USART1-SR&15){data=USART1-DR;returndata;USART1-DR=data;while(!(USART1-SR&17));returnUSART1-DR;}}}4.编制一个使用STM32的USART2与PC机实现串行通讯,串行口使用1位起始位、8位数据位、无校验位和1停止位,波特率位19200。编程实现接收PC机发送的数据(大写字母)后转换为小写字母回传给PC机。#include”stm32f10x_map.h”chardata;voidmain(void){RCC-APB2ENR|=12;RCC-APB2ENR|=114;GPIOA-CRH&=0xfffff00f;GPIOA-CRH|=0x000004b0;USART1-BRR=0x0341;//波特率设置8000000/9600USART1-CR1|=12;USART1-CR1|=13;USART1-CR1|=113;while(1){if(USART1-SR&15){data=USART1-DR;returndata;USART1-DR=data+0x20;while(!(USART1-SR&1
本文标题:ARM原理及应用复习题(附答案)
链接地址:https://www.777doc.com/doc-2898542 .html