基于UCOS2系统的C语言小游戏,基于STM32和uCOSII的多任务设计嵌入式系统课程设计报告.doc...

基于STM32和uCOSII的多任务设计嵌入式系统课程设计报告

NORTH CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY

嵌入式系统课程设计报告

学生姓名:

学 号:

学 院:

专业班级:

指导教师:

同组成员:

2016年12月26 日

一、课程设计目的

本课程设计是在《嵌入式系统原理与应用》课程的基础上,通过软件编程及仿真调试的实践,进一步掌握嵌入式系统的原理和应用方法,是毕业设计前的一次重要实践,为今后从事嵌入式系统相关工作岗位打下良好的基础。

二、设计题目及要求

2.1 设计题目:

基于STM32和uC/OS-II的多任务设计

2.2 功能实现:

使用uC/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)驱动蜂鸣器发出响声。

()利用swd方式进行printf输出。

三、设计原理说明

3.1 硬件说明

本次课程设计主要使用的是STM32 神舟 IV 号开发板为基础进行课程设计的,本节将详细介绍神舟IV号开发板的各部分硬件原理与实现。

(1)开发板资源图

(2)MCU

开发板的处理器是STM32F107VCT6,该处理器基于ARM V7 架构的Cortex-M3 内核,主频72Mhz,内部含有256K字节的FLASH 和64K字节的SRAM,LQFP100 封装。

(3)蜂鸣器

开发板板载一个无源蜂鸣器,用于产品告警或声音提醒。蜂鸣器连接到了处理器的PA3管脚,当处理器的PA3管脚输出低电平时蜂鸣器开始鸣响,反之处理器的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接口,可以直接和JLINK V8仿真器连接,下载程序,调试仿真;

(6)晶振电路

STM32F107内部已经包含了8MHz高速内部RC振荡电路,但是其精准度不是很高;为此在外部增加了25MHz的晶振电路,为系统的可靠工作提供时序基准。

(7)设计中用到的管脚

芯片引脚开发板模块PD2LED1PD3LED2PD4LED3PD7LED4PA3蜂鸣器

3.2 STM32寄存器使用说明

设计中只用到时钟和

(1)STM32F107VC中共有80个GPIO,分成A、B、C、D、E五个组,每组有13-16个可用的/O管脚的方向和速率以及何种驱动方式

(2)在使用配置GPIO寄存器之前,都要先配置GPIO的时钟。通过RCC寄存器当中的CR、CFGR和CIR来设置系统时钟。GPIO挂在APB2总线上,可对APB2ENR寄存器设置来确定所用到的GPIO时钟。

(3)μC/OS-II用M3的Tick定时器产生操作系统需要的滴答时钟作为整个系统的根基Tick定时器的四个寄存器Tick_CTRL、SysTick_LOAD、SysTick_VAL、SysTick_CALIB控制每隔一定时间产生一个中断使μC/OS-II系统能进行多任务控制

(3)用到的寄存器:CRL、CRH、BRR、BSRR、CR、CFGR、CIR、APB2ENR、SysTICK_CTRL、SysTICK_LOAD、SysTICK_VAL、SysTICK_CALIB

3.3 STM32库函数使用说明

设计中只用到时钟和GPIO相关的库函数。

(1)直接配置寄存器开发,如果代码比较庞大,可读性差。ST针对STM32 封装好一个软件封装库,开发者可调用函数接口(API ,Application Program Interface)来完成相应的开发工作,配置寄存器的工作由接口函数完成,使开发人员脱离最底层的寄存器操作,易于阅读,维护成本低。库是架设在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值