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