《单片机原理与应用》试卷B参考答案_第1页
《单片机原理与应用》试卷B参考答案_第2页
《单片机原理与应用》试卷B参考答案_第3页
《单片机原理与应用》试卷B参考答案_第4页
《单片机原理与应用》试卷B参考答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

一、简述题

1.简述STM32的GPIO的一些主要特点(至少5个)。

【答案】

主要特点如下:

通用I/O,可以作为输出、输入等功能。

单独的位设置或位清除。

外部中断/唤醒线。

复用功能(AF)和重映射。

GPIO锁定机制。

2.简述STM32的双ADC工作模式。

【答案】

在有两个ADC的STM32器件中,可以使用双ADC模式°在双ADC模式里,

根据ADC_CR1寄存器中DUALMOD[2:0]位所选的模式,转换的启动可以是

ADC1主和ADC2从的交替触发或同时触发。双ADC工作模式主要包括如下几

种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发

模式和独立模式。

3.简述STM32时钟的类型。

【答案】

STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三

种时钟源分别为:HSI振荡器时钟、HSE振荡器时钟、PLL时钟。

4.简述不同复用功能的重映射。

【答案】

为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚

±0这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设

置复用重映射和调试I/O配置寄存器(AFIO—MAPR)来实现引脚的重新映射。

5.CAN协议有哪五种类型的帧?

【答案】

CAN协议是通过以下五种类型的帧:

数据帧;

遥控帧;

错误帧;

过载帧;

间隔帧“

6.MDK-ARM主要包含哪四个核心组成部分?

【答案】

MDK-ARM主要包含以下四个核心组成部分:

1)UVisionIDE:是一个集项目管理器、源代码编辑器、调试器于一体的强大

集成开发环境。

2)RVCT:ARM公司提供的编译工具链,包含编译器、汇编器、链接器和相

关工具。

3)RL-ARM:实时库,可将其作为工程的库来使用。

4)ULINK/JLINKUSB-JTAG仿真器:用于连接目标系统的调试接口(JTAG

或SWD方式),帮助用户在目标硬件上调试程序“

二、选择题

1.哪些是STM32的ADC系统的特点(ABCD)(多选)。

A.12-位分辨率

B.自校准

C.可编程数据对齐

D.单次和连续转换模式

2.STM32嵌套向量中断控制器(NVIC)具有(A)个可编程的优先等级。

A.16

B.43

C.72

D.36

3.STM32的USART根据(A)寄存器M位的状态,来选择发送8位或者9位

的数据字。

A.USART_CR1

B.USART_CR2

C.USART_BRR

D.USART_CR3

4.通用定时器TIMx的特性(ABCD)o(多选)

A.具备16位向上,向下,向上/向下自动装载计数器。

B.具备16位可编程预分频器。

C.具备4个独立通道v

D.可以通过事件产生中断,中断类型丰富,具备DMA功能。

5.STM32的可编程通用定时器的时基单元包含(ABC)。(多选)

A.计数器寄存器(TIMx_CNT)

B.预分频器寄存器(TIMx_PSC)

C.自动装载寄存器(TIMx_ARR)

D.以上都不是

6.ARMCortex-M3不可以通过(D)唤醒CPU。

A.I/O端口

B.RTC闹钟

C.USB啖醒事件

D.PLL

三、(20分)

【答案】

电路图如下:

3V3

[削K。6冰PE6

程序代码:

#includeHstm32fl0x.h"

intTime_Count=0;

intRepeat_Count=10;

voidRCC_init(void)

(

RCC.APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);

)

voidNVICJnit(void)

(

NVIC_InitTypeDefNVICJnitStructure;

NVICPriorityGroupConfig(NVICPriorityGroup0);

NVICJnitStructure.NVICJRQChannel=TIM2_IRQn;

NVICJnitStructure.NVICJRQChannelSubPriority=0;

NVIC」niiSinicmre.NVIC_IRQChannelCmd=ENABLE;

NVICJnit(&NVIC_InitStructure);

)

voidGPIO_init(void)

(

GPIO_InitTypeDefGPIOJnitStruct;

GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6;

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;

GPIOJnitStruct.GPIO_Speed=GPIO_Speed_50MHz;

GPIO」nit(GPIOE,&GPIOJnitStruct);

)

voidTIM2_init(void)

(

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

TIM_DeInit(TIM2);

TIM_TimeBaseStructure.TIM_Period=10000;//0.01s

TIM_TimeBaseStructure.TIM_Prescaler=72-1;

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);

TIM」TConfig(TIM2,TIM」T_Update,ENABLE);

TIM_Cmd(TIM2,ENABLE);

}

intmain(void)

(

RCC_init();

NVlC_init();

TIM2_init();

GPIO_init();

whilc(l)

(

if(Repcat_Count>5)

(

if(Time_Count>=90)

GPIO_ResetBits(GPIOE,GPIO_Pin_6);

else

GPIO_SetBits(GPIOE,GPIO_Pin_6);

)

else

(

if(Time_Count>=50)

GPIO_ResetBits(GPIOE,GPIO_Pin_6);

else

GPIO_SetBits(GPIOE,GPI0_Pin_6);

}

1

}

voidTIM2_IRQHandler(void)

(

if(TIM_GetITStatus(TIM2,TIM」T_Update)==SET)

(

Time_Count++;

if(Time_Count==100)

(

Time_Count=0;

Repeat_Count-;

if(Repeat_Count==0)

Repeat_Count=10;

)

TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);

)

)

四、(30分)

【答案】

程序代码如下:

#include"stm32fl0x.h"//Deviceheader

unsignedcharHost_String[18]="EXTIPAOInterrupt";

inti=0;

voidUSARTl_Config(void)

(

GPIO_InitTypcDcfGPIO」nitStructurc;

USART_InitTypeDefUSART_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_

GPIOA,ENABLE);

GPIO」nitStructure.GPIO_Pin=GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_5()MHz;

GPIOJnit(GPIOA,&GPIOJnitStructure);

GPIO」nitStructure.GPIO_Pin=GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA,&GPIO_InitStructure);

USART_InitStructure.USART_BaudRate=9600;

USARTJnitStructure.USART_WordLength=USART_WordLength_8b;

USART_InitStructure.USART_StopBits=USART_StopBits_l;

USART_IniiStruciure.USART_Parity=USART_Parity_No;

USART_InilStructure.USART_HardwareFlowControl=USART_HardwareFlow

Control_None;

USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

USARTJnit(USARTl,&USART」nitStructure);

USART_Cmd(USARTl,ENABLE);

)

voidNVIC_init(void)

(

NVIC」nitTypeDefNVIC」nitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

NVIC」nitStructure.NVIC」RQChannel=EXTIOJRQn;

NVIC」nitStnicture.NVIC_IRQChannelSubPriority=0;

NVIC」nitStructure.NVIC』RQChannelCmd=ENABLE;

NVIC」nit(&NVIC」nitStructure);

)

voidEXTIJnit(void)

(

EXTI_InitTypeDefEXTI」nitStructure;

GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSourceO);

EXTI」nitStructure.EXTI_Mode=EXTI_Mode」nterrupt;

EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;

EXTI_InitStructure.EXTI_Line=EXTI_LineO;

EXTI_InitStructure.EXTI_LineCmd=ENABLE;

温馨提示

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

最新文档

评论

0/150

提交评论