STM32单片机原理及应用.ppt_第1页
STM32单片机原理及应用.ppt_第2页
STM32单片机原理及应用.ppt_第3页
STM32单片机原理及应用.ppt_第4页
STM32单片机原理及应用.ppt_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

,一、课程结构及特点,介绍及实践当前微机应用的热点内容: 单片机技术及典型应用 EDA技术与可编程逻辑器件 (CPLD/FPGA,VHDL) 嵌入式系统(ARM,RTOS) 其特点:没有深奥的理论,只有新观念和新方法。实践性较强,软硬件结合。,通过课程及实验需要掌握: 1、单片机(以STM32为例)的典型技术及应用。 2、 EDA新技术(Quartus | 使用、在FPGA/CPLD上构建时序逻辑和建立Nios系统)。 3、嵌入式基础及应用(WinCE、uc Linux) 为研究课题奠定一定的基础。,二、课程目的,形式:讲授+综合实验(每2人一组,各实验内容讨论确定)。 时间安排: 讲授:1012次课(含各部分软硬件环境及方法介绍) ,综合实验810次课(各实验24次,不足时可利用业余时间)。 考核:综合实验(4个) 50%、报告(4部分) 50% 综合实验要求: 根据综合实验装置提供的硬件环境,结合自己的研究方向,查找资料,选择一、二单元内容设计实验,应用各部分新技术和手段实现。 具体要求: 1、方案说明文档(项目的目的、意义、原理、功能等)。 (背景:工艺流程,技术发展情况论述.) (方案:系统框图,功能描述.) 2、电路原理图及所选器件主要参数 3、软件流程图及部分程序清单。,三、课程形式及考核办法,参考书目,1、微机控制新技术 姚燕南 西交大 2、STM32F10x参考手册_cn.pdf 电子版 3、 FPGA设计及应用 诸振勇 西电大 4、 CPLD技术及其应用 宋万杰 西电大 5、基于FPGA的嵌入式系统设计 任爱锋等 西电大 6、 DSP应用系统设计 朱铭锆 电子 7、电动机的DSP控制 王晓明 北航 8、 TMS320LF240xDSP结构、原理及应用 刘和平 北航 9、嵌入式系统设计与实例开发 王田苗 清华 10、基于ARM的嵌入式系统开发与应用 吴明晖 邮电 11、SOPC技术实用教程 潘松等 清华 / 博客 /mcu /mcu /down-class.asp,STM32单片机原理及应用,第一部分,需要掌握,掌握单片机的一般设计方法。 目前典型接口电路原理及应用。 开发环境Keil 及编程工具的使用。 能够设计建立基于单片机的系统。 设计完成一个基于STM32单片机的应用系统。完成:系统描述,软硬件设计,调试结果并写出报告。,了解- 背景:工艺流程,技术发展情况论述. 掌握-原理论述、同类方案比较。 设计- 方案:系统框图,功能描述. 实现-软件流程、功能实现。,实际工程应用的一般步骤,实际工程应用的一般步骤,一、STM32微控制器系列_cn.pdf,STM32的主要优点 使用ARM最新的、先进架构的Cortex-M3内核 优异的实时性能 杰出的功耗控制 出众及创新的外设 最大程度的集成整合 易于开发,可使产品 快速进入市场,设计模式,基础型:做好需要专业的软硬件知识 智能型:在搭建的程序框架下设计 高级型:在操作系统管理下,专注应用。 介绍特色、扩展内容,比较学习。需要大家课下认真消化资料,掌握基础内容。STM32F10x参考手册_cn.pdf,二、硬件特色接口,I/O 低功耗模式、定时器/计数器、输入捕获 PWM(脉宽调变(Pulse-Width Modulation ) A/D DMA(直接存储器存取(direct memory access)) 、RTC USART、SPI(单个程序启动(Single Program Initiation) ) BOOT(计算机】 引导;自引;自展;启动 引导程序,自展程序 (=bootstrap),通用输入输出(General Purpose Input/Output),通用同步异步收发机(Universal Synchronous Asynchronous Receiver Transmitter),举例:初始化I/O口,void GPIO_Configuration(void) /* 在GPIO_Configuration中配置PD.1,2为输出模式*/ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1 | GPIO_Pin_2; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOD, #define GPIO_Pin_1 (u16)0x0002) /* Pin 1 selected */ #define GPIO_Pin_2 (u16)0x0004) /* Pin 2 selected */ GPIO_Mode_Out_PP=0x10/置模式寄存器某位 GPIO_Mode_IPU=0x48,使用:,#define LED1_ON (GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_SET) #define LED1_OFF (GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_RESET) #define LED2_ON (GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_SET) #define LED2_OFF (GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_RESET) F= GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_8); J= GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9);,PWM技术,PWM(Pulse Width Modulation)控制脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。,PWM相关概念,占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比。如,一个PWM的频率是1000Hz,那么它的时钟周期就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,占空比就是200:1000,也就是说PWM的占空比就是1:5。,PWM相关概念,分辨率:也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:65535(单斜率)。如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。,PWM相关概念,双斜率 / 单斜率: 假设一个PWM从0计数到80,之后又从0计数到80. 这个就是单斜率。 假设一个PWM从0计数到80,之后是从80计数到0. 这个就是双斜率。 可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:(80+80) 1:160,就是提高了一倍。,PWM相关概念,假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。 根据控制器件特性的需要,研究了各种形式的PWM(SPWM,SVPWM等),三、集成开发环境,/down-class.asp,RealView MDK开发套件源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,融合了中国多数软件开发工程师所需的特点和功能。包括Vision3集成开发环境与 RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20。,特色,菜鸟的阿拉伯飞毯 启动代码生成向导,自动引导,一日千里 启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越的门槛。RealView MDK开发工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。,特色,高手的无剑胜有剑 软件模拟器,完全脱离硬件的软件开发过程RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。,专家的哈雷望远镜 性能分析器,看得更远、看得更细、看得更清 RealView MDK的性能分析器好比哈雷望远镜,让您看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。,特色,未来战士的激光剑 Cortex-M3支持RealView MDK支持的Cortex-M3核是ARM公司最新推出的针对微控制器应用的内核,它提供业界领先的高性能和低成本的解决方案,未来几年将成为MCU应用的热点和主流。目前国内只有ARM公司的MDK和RVDS开发工具可以支持CortexM3芯片的应用开发。,特色,特色,业界最优秀的编译器 RealView 编译器,代码更小,性能更高RealView MDK的RealView编译器与ADS 1.2比较: 代码密度:比ADS 1.2编译的代码尺寸小10%; 代码性能:比ADS 1.2编译的代码性能高20%。,特色,配备ULINK2仿真器+ Flash编程模块,轻松实现Flash烧写 RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。,特色,绝对的高性价比-国际品质,本土价格:RealView MDK中国版保留了RealView MDK国际版的所有卓越性能,而产品价格也是针对国内大多数用户预算而专门定制的,力求给国内开发工程师提供最高性价比的开发工具解决方案。 更贴身的服务-专业的本地化的技术支持和服务RealView MDK中国版用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将有助于国内工程师们开发出更有竞争力的产品。,Vision3 IDE,Vision IDE在全球拥有庞大的用户群,超过10万开发工程师在使用Keil开发工具。国内大多数单片机工程师都接触和使用过Vision开发环境,RealView MDK可以帮助国内8位、16位MCU开发工程师平滑过度到32位ARM的应用开发。Vision IDE简单易用,能让您立马上手。,安装Vision3 IDE,运行 解密: 1.1、拷贝BIN文件夹到keil的安装目录下(例如c:KeilARM); 1.2、将windows文件夹拷贝到系统安装目录(例如c: 此步其实是安装ULINK1的驱动); 1.3、打开KEIL,选择File菜单下的License Management,拷贝CID; 1.4、用Keil_lic_v3.2生成License并添加到KEIL里,最好别用Keil_lic_v3.4, 1.5、请注意区分内核(在DEBUG介面设置)ULINK Cortex Debugger用于Cortex核;ULINK ARM Debugger是用于ARM7/9的调试;,驱动Jlink 插上Jlink,建立工程 1.选择器件 2.配置路径 3.编制(加载)头文件,四、编程要点,使用Vision3 IDE,新建工程,设备库中选择目标芯片。,使用Vision3 IDE,配置编译环境。,使用Vision3 IDE,配置启动代码:根据目标板资源修改相关内容(如CPU/PLL、总线系统等),达到匹配。,使用Vision3 IDE,配置硬件选项,单击,使用Vision3 IDE,创建源文件及文件组 加入工程,编译链接工程 调试程序 建立HEX文件 下载HEX文件,编程,初始化 1.选择I/O端口:方向、上拉。 2.外设配置:定时器、A/D、PWM等。 3.启动方式、中断等。 4.初始化变量、端口等。,配置系统不同的时钟源 配置中断系统 1.嘀嗒(SysTick)校准时钟,

温馨提示

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

评论

0/150

提交评论