嵌入式作业题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

嵌入式系统原理及应用作业题答案1第1章嵌入式系统概述1.什么是嵌入式系统?嵌入式系统的组成?答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。组成:嵌入式处理器、外围设备、操作系统、应用软件。2.典型的嵌入式处理器有哪些?3.答:微处理器、微控制器、DSP处理器、片上系统SOC。4.典型的RTOS操作系统有哪些?5.答:嵌入式Linux、μCLinux、WindowsEmbeddedCE、WindowsEmbeddedCompact7、μC/OS-II、μC/OS-III、VxWorks、eCos等。6.列举身边的嵌入式应用产品?7.嵌入式系统的设计可以分成四个阶段:需求分析、架构设计和概要设计、详细设计和开发、测试反馈。第2章Cortex-M体系结构8.ARMCortex系统的处理器分为:____A_____、____R_____、_____M_____。9.ARMCortex-M3为32位微控制器,请问32位指的是CPU字长。10.3、Cortex-M3处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始使用小端格式。11.ARMCortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。12.CM3寄存器分为通用寄存器,包括R0~R15。和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。13.寄存器R13是堆栈指针寄存器。14.寄存器R14是程序连接寄存器。15.寄存器R15是程序PC。16.CM3的堆栈指针分为__MSP__、__PSP_。存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。堆栈指针指向最后压入堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个数据项放入的空位置,称为空堆栈。试判断CM3属于递减堆栈堆栈和满堆栈堆栈。17.在CM3中记录程序状态的寄存器是___xPSR____。都分别有些什么状态_应用状态、中断状态、可执状态。18.PRIMASK寄存器的作用是___中断屏蔽寄存器____。19.寄存器CONTROL的作用是控制处理器工作级别及堆栈切换。20.CM3支持的4GB存储空间被划分成:CODE、片上RAM、片上外设、片外RAM、片外外设、内核私有6个区域。21.CM3中有一个位绑定区分别位于片上RAM和片上外设区,其大小为1M字节,由32M字节空间的位绑定别名区来访问。22.CM3支持16种系统异常,和240种外设中断。23.SysTick是一个___24_____位的系统定时器。通常的功能是_作为操作系统时钟__。第3章STM32基础及最小系统设计24.STM32F103RBT7芯片的在片Flash存储器有128KB字节,在片SRAM存储器有20KB字节。25.STM32F103RBT7芯片工作时电源电压是3.3V。26.STM32最小系统电路包含:MCU芯片、电源电路、时钟电路、复位电路和启动设置电路。27.连接在APB1上的设备有:电源接口、备分接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、WatchDog、Timer2、Timer3和Timer4。28.连接在APB2上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、I/O(PA~PE,第二功能I/O)。29.假定STM32F103单片机外部振荡器是8MHz。执行下列程序。voidBSP_Init(void){RCC_HSEConfig(RCC_HSE_ON);HSEStartUpStatus=RCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS){RCC_PCLK2Config(RCC_HCLK_Div1);//PCLK2=HCLK=72MHzRCC_PCLK1Config(RCC_HCLK_Div2);//PCLK1=HCLK/2=38MHzRCC_HCLKConfig(RCC_SYSCLK_Div1);//HCLK=SYSCLK=72MHzRCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLLCLK=8*9=72MHzRCC_PLLCmd(ENABLE);//EnablePLL嵌入式系统原理及应用作业题答案2while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//等待PLL就绪RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置PLL作为时钟源while(RCC_GetSYSCLKSource()!=0x08);//等PLL时钟源启动就绪}}请问,上述程序执行后,HCLK=72MHz,PCLK1=38MHz,PCLK2=72MHz,30.利用Cortex-M3内核的24位定时器(SysTick),定时10ms,请计算初值并写出初始化程序,SysTick配置函数:uint32_tSysTick_Config(uint32_tticks)。假设HCLK的时钟是72MHz。答:初值=720000-1。msNM10721,共中N是计数的次数,由于SysTick是减计数器,因此初值为720000-1。voidSysTickInit(void){SysTick_Config(720000-1);}第5章通用I/O结构及应用31.STM32F103微控制器的I/O端口有PA~PG,每组多达16端口。32.STM32F103微控制器的I/O端口的功能:通用输入/输出、中断功能、复用功能和重映射功能。33.请编程实现如图所示4只发光二极管流水。/********************************************************//*说明:PC8-PC15连接LED********************************************************/#includestm32f10x.h#includesystem_stm32f10x.h#includestm32f10x_gpio.h#includestm32f10x_rcc.hvoidDelayMs(intn);/********************************************************/intmain(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_Write(GPIOC,0xFFFF);/********************************************************/while(1){GPIO_ResetBits(GPIOC,GPIO_Pin_8);DelayMs(500);GPIO_SetBits(GPIOC,GPIO_Pin_8);GPIO_ResetBits(GPIOC,GPIO_Pin_9);DelayMs(500);GPIO_SetBits(GPIOC,GPIO_Pin_9);GPIO_ResetBits(GPIOC,GPIO_Pin_10);DelayMs(500);GPIO_SetBits(GPIOC,GPIO_Pin_10);GPIO_ResetBits(GPIOC,GPIO_Pin_11);DelayMs(500);GPIO_SetBits(GPIOC,GPIO_Pin_11);}}LM3S单片机VDDLED1LED2PC8PC9LED3LED4PC10PC11嵌入式系统原理及应用作业题答案3voidDelayMs(intn){unsignedinti,j;for(i=0;in;++i)for(j=0;j8000;++j);}34.请编程实现键控蜂鸣器,当按键KEY1按下时,蜂鸣器发声,再按下不发声,按键采用中断方式控制。+LS1BUZZERT18050D1DIODE2.2KR42GND+3V3KEY110KR37GND+3V310KR44PB4PA0*******************************************************//*说明:KEY1-PA0;Buz-PB4按键采用中断,在中断服务程中取反PB4********************************************************/#includestm32f10x.h#includesystem_stm32f10x.h#includestm32f10x_gpio.h#includestm32f10x_rcc.h#includestm32f10x_exti.h#includemisc.h/*************************中断第二级配置*****************/voidNVIC_Configuration(void){NVIC_InitTypeDefNVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}/***********************中断第三级配置******************/voidEXTI_Configuration(void){EXTI_InitTypeDefEXTI_InitStructure;GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);EXTI_InitStructure.EXTI_Line=EXTI_Line0;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);}/**********************按键初始化************************/voidkey_init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPI

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功