欢迎来到天天文库
浏览记录
ID:55936331
大小:586.50 KB
页数:15页
时间:2020-06-16
《嵌入式系统课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、嵌入式系统课程设计报告NORTHCHINAUNIVERSITYOFSCIENCEANDTECHNOLOGY嵌入式系统课程设计报告学生姓名:学号:学院:专业班级:指导教师:同组成员:2016年12月26日-14-嵌入式系统课程设计报告一、课程设计目的本课程设计是在《嵌入式系统原理与应用》课程的基础上,通过软件编程及仿真调试的实践,进一步掌握嵌入式系统的原理和应用方法,是毕业设计前的一次重要实践,为今后从事嵌入式系统相关工作岗位打下良好的基础。二、设计题目及要求2.1设计题目:基于STM32和uC/OS-II的多任务设计2.2功能实现:使用uC/
2、OS-II的任务管理函数和STM32库函数控制相应的寄存器,完成一个多任务设计。整个设计共有4个任务,驱动一个LED指示灯闪烁、由3个LED指示灯组成的流水灯、驱动蜂鸣器和利用swd方式进行printf输出。2.3设计要求:理解和熟练使用KEIL软件、STM32寄存器、STM32库函数和uC/OS-II任务管理函数,用KEIL软件完成编程和调试,下载到开发板中实现4个设定的任务,并完成课程设计报告。四个任务分别为:(1)驱动1个LED指示灯闪烁、(2)由3个LED指示灯组成流水灯(3)驱动蜂鸣器发出响声。(4)利用swd方式进行printf输
3、出。三、设计原理说明3.1硬件说明本次课程设计主要使用的是STM32神舟IV号开发板为基础进行课程设计的,本节将详细介绍神舟IV号开发板的各部分硬件原理与实现。(1)开发板资源图-14-嵌入式系统课程设计报告(2)MCU开发板的处理器是STM32F107VCT6,该处理器基于ARMV7架构的Cortex-M3内核,主频72Mhz,内部含有256K字节的FLASH和64K字节的SRAM,LQFP100封装。(3)蜂鸣器开发板板载一个无源蜂鸣器,用于产品告警或声音提醒。蜂鸣器连接到了处理器的PA3管脚,当处理器的PA3管脚输出低电平时蜂鸣器开始鸣
4、响,反之处理器的PA3管脚输出高电平时蜂鸣器停止鸣响.(4)指示灯开发板提供了1个电源指示灯和4路通用LED指示灯。电源指示灯指示3.3V电源是否正常。4路通用LED指示灯可以用于指示STM32开发板的状态。用户LED指示灯由GPIO管脚控制LED灯的亮灭,当GPIO管脚输出低电平时,LED指示灯亮。反之,当GPIO管脚输出高电平时,LED指示灯灭。这四个LED指示灯分别由PD2、PD3、PD4和PD7控制。(5)JTAG仿真调试开发板提供标准的20针JTAG接口,可以直接和JLINKV8仿真器连接,下载程序,调试仿真;-14-嵌入式系统课程
5、设计报告(6)晶振电路STM32F107内部已经包含了8MHz高速内部RC振荡电路,但是其精准度不是很高;为此在外部增加了25MHz的晶振电路,为系统的可靠工作提供时序基准。(7)设计中用到的管脚芯片引脚开发板模块PD2LED1PD3LED2PD4LED3PD7LED4PA3蜂鸣器3.2STM32寄存器使用说明设计中,只用到时钟和GPIO相关的寄存器。(1)STM32F107VC中共有80个GPIO,分成A、B、C、D、E五个组,每组有13-16个可用的I/O端口,每个GPIO可以自由编程。通过各个寄存器来控制GPIO输出高电平或者是低电平。
6、每个GPIO有7个寄存器来控制,其中CRL和CRH用来确定I/O管脚的方向和速率以及何种驱动方式,BSRR可直接修改某一个CPIO引脚的高低电平,BRR可将GPIO置零。(2)在使用配置GPIO寄存器之前,都要先配置GPIO的时钟。通过RCC寄存器当中的CR、CFGR和CIR来设置系统时钟。GPIO挂在APB2总线上,可对APB2ENR寄存器设置来确定所用到的GPIO时钟。(3)μC/OS-II用Cortex-M3的SysTick定时器产生操作系统需要的滴答时钟,作为整个系统的根基。SysTick定时器的四个寄存器SysTick_CTRL、S
7、ysTick_LOAD、SysTick_VAL、SysTick_CALIB控制每隔一定时间产生一个中断使μC/OS-II系统能进行多任务控制。(3)用到的寄存器:CRL、CRH、BRR、BSRR、CR、CFGR、CIR、APB2ENR、SysTICK_CTRL、SysTICK_LOAD、SysTICK_VAL、SysTICK_CALIB3.3STM32库函数使用说明设计中只用到时钟和GPIO相关的库函数。(1)直接配置寄存器开发,如果代码比较庞大,可读性差。ST针对STM32封装好一个软件封装库,开发者可调用函数接口(API,Applicat
8、ionProgramInterface-14-嵌入式系统课程设计报告)来完成相应的开发工作,配置寄存器的工作由接口函数完成,使开发人员脱离最底层的寄存器操作,易于阅
此文档下载收益归作者所有