学位论文_基于stm32和uc_osii的多任务设计嵌入式系统课程设计报告.docVIP

学位论文_基于stm32和uc_osii的多任务设计嵌入式系统课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学位论文_基于stm32和uc_osii的多任务设计嵌入式系统课程设计报告

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)设计中用到的管脚 芯片引脚 开发板模块 PD2 LED1 PD3 LED2 PD4 LED3 PD7 LED4 PA3 蜂鸣器 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)来完成相应的开发工作,配置寄存器的工作由接口函数完成,使开发人员脱离最底层的寄存器操作,易于阅读,维护成本低。库是架设在寄存器与用户驱动层之间的代码,

文档评论(0)

店小二 + 关注
实名认证
文档贡献者

包含各种材料

1亿VIP精品文档

相关文档