嵌入式微控制器介绍课件_第1页
嵌入式微控制器介绍课件_第2页
嵌入式微控制器介绍课件_第3页
嵌入式微控制器介绍课件_第4页
嵌入式微控制器介绍课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式微控制器

与智能车制作自动化学院谈英姿tanyz@2022年10月20日嵌入式微控制器

与智能车制作自动化学院智能车竞赛知识点数字控制系统基本概况单片机基本原理及其操作道路检测车速测量调试电路基础高级调试后轮电机驱动电机控制算法车模机械调整抗干扰与可靠性赛道适应性测控系统及其实现技术智能车竞赛知识点数字控制系统基本概况单片机基本原理及其操作道测控系统与微控制器测控系统嵌入式系统与微控制器概述基本含义特点测控系统与微控制器测控系统测控系统与微控制器测控系统测控系统与微控制器测控系统嵌入式系统的定义及由来一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。通用计算机系统:满足海量高速数值计算的计算机。嵌入式计算机系统:嵌入到实际应用系统中,实现嵌入式应用的计算机。嵌入式系统的定义及由来一种计算机硬件和软件的组合,也许还单片机(微控制器)的基本含义微控制器(MCU):在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。

单片机(微控制器)的基本含义微控制器微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过30多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等微控制器微控制器是将微型计算机的主要部分集成在一个芯片上的单无处不在的嵌入式系统无处不在的嵌入式系统无处不在的嵌入式系统无处不在的嵌入式系统嵌入式系统与MCU的关系

MCU的特点:体积小、价格低、稳定可靠大部分嵌入式系统以MCU为核心进行设计以MCU为核心的系统是应用最广的嵌入式系统。嵌入式系统与MCU的关系嵌入式系统特点嵌入式系统是计算机系统,但不单独以通用计算机面目出现。嵌入式系统开发需要专用工具和特殊方法。使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质。开发嵌入式系统涉及软件、硬件及应用领域的知识。嵌入式系统的其他特点。嵌入式系统特点嵌入式系统是计算机系统,但不单独以通用计算机面嵌入式系统的知识体系(1)硬件最小系统(2)通用I/O(3)模数转换A/D(4)数模转换D/A(5)通信(SCI、SPI、I2C,CAN、USB、ZigBee等);(6)显示(LED、LCD等);(7)控制(控制各种设备,包含PWM等控制技术);(8)数据处理(图形、图像、语音、视频等处理或识别);(9)各种具体应用。嵌入式系统的知识体系(1)硬件最小系统嵌入式应用系统开发过程功能分析和硬件设计MCU选型,开发工具与环境的选择PCB(ProtelPAD),ASIC(VHDL)应用程序设计程序语言,汇编/编译器仿真调试仿真器,ROM固化器等脱机运行嵌入式应用系统开发过程功能分析和硬件设计(1)操作系统的困惑(2)硬件与软件的困惑(3)片面认识嵌入式系统(4)入门芯片选择的困惑嵌入式系统的学习误区(1)操作系统的困惑嵌入式系统的学习误区学习建议打好软件硬件基础选择一个芯片及硬件评估板深入理解MCU的硬件最小系统不要一开始就学嵌入式实时操作系统RTOS避免片面认识嵌入式系统注重实验与实践入门芯片选择不要太复杂关于汇编与C语言的取舍明确学习目的,注意学习方法学习建议打好软件硬件基础嵌入式系统常用术语与硬件相关的术语封装(Package)印刷电路板(PCB,Printedcircuitboard)动态可读写随机存储器(DRAM,DynamicRandomAccessMemory)静态可读写随机存储器(SRAM,StaticRandomAccessMemory)只读存储器(ROM,ReadOnlyMemory)

闪速存储器(FlashMemory)模拟量开关量嵌入式系统常用术语与硬件相关的术语嵌入式系统常用术语与通信相关的术语

并行通信

串行通信

串行外设接口SPI集成电路互连总线I2C通用串行总线USB控制器局域网CAN背景调试模式BDM边界扫描测试协议JTAG嵌入式系统常用术语与通信相关的术语嵌入式系统常用术语与功能模块及软件相关的术语

通用输入/输出GPIOA/D与D/A脉冲宽度调制器PWM看门狗液晶显示LCD发光二极管LED键盘实时操作系统RTOS嵌入式系统常用术语与功能模块及软件相关的术语嵌入式系统常用的标准C语言基本语法概要1.数据类型数据类型基本类型构造类型字节型整型实型数组结构联合枚举指针空类型嵌入式系统常用的标准C语言基本语法概要1.数据类型数据类型基基本类型数据类型简明含义位数字节数字节型signedchar有符号字节型81unsignedchar无符号字节型81整型signedshort有符号短整型162unsignedshort无符号短整型162signedint有符号短整型162unsignedint无符号短整型162signedlong有符号长整型324unsignedlong无符号长整型324实型float浮点型324double双精度型648基本类型数据类型简明含义位数字节数字节型signedcha2.运算符号算术运算:+-*/^%逻辑运算:||&&!关系运算:><>=<===!=位运算:~<<>>&^|增量和减量运算:++--复合赋值运算:+=-=*=/=%=等指针和地址运算:*&输出格式转换2.运算符号3.流程控制顺序结构选择结构if结构switch结构循环结构for循环while循环do...while循环注意break和continue语句在循环中的应用区别!Switch语句与if语句的不同之处在于switch只能对等式进行测试,而if可以计算关系表达式或逻辑表达式。如果多分支选择能用两种语句实现,则switch语句的运行性能要优于if语句。break表示跳出循环,continue表示结束本次循环3.流程控制注意break和continue语句在循环中的应4.函数函数参数、类型函数返回值类型Return语句格式:return表达式;

注意:(1)函数定义时要同时声明其类型;(2)调用函数前要先声明该函数;(3)传给函数的参数值,其类型要与函数原定义一致;(4)接收函数返回值的变量,其类型也要与函数类型一致等。4.函数注意:5.指针指针是指向变量的地址,实质上指针就是存储单元的地址。指针变量的定义:类型说明符*变量名指针变量的赋值:只能赋予地址指针的运算:取地址运算符&、取内容运算符*。1000a1000801003p1inta;int*p1=&a;inta,b;//a,b为整型数据变量int*p1;//声明p1是整型指针变量p1=&a;//将a的地址作为p1初值a=80;b=*p1;//运行结果:b=80,即为a的值5.指针10001000801003inta;inta,6.结构体定义结构体类型,类型名称为student:

structstudent{charname[8];//成员变量nameintage;//成员变量agecharsex[2];//成员变量sex};声明和使用结构体变量和指针:

structstudents1;structstudent*Pstudent;s1.age=20;Pstudent=(structstudent*)malloc(sizeof(structstudent));Pstudent->age=18;结构体指针是指向结构体中第一个成员的首地址,因此在使用之前应该对结构体指针初始化,即分配整个结构体长度的字节空间。6.结构体structstudent{声明和使用结构体变量7.位域定义位域类型,类型名称为bs,同时定义该类型变量b1:

structbs{inta:8;intb:2;intc:6;}b1;

使用方法:

b1.a=1;//将b1的第0位置1b1.b=7;//将b1的第3~5位置111cba7.位域structbs使用方法:b1.a=1;8.编译预处理宏定义

#define宏名表达式条件编译:格式1:#if表达式

#else表达式

#endif格式2:#ifdef宏名

格式3:#ifndef宏名

“文件包含”处理

#include“文件名”#definePI3.1415926#defineS(r)PI*r*r多行宏定义举例:#defineST

"%s"

/*comment1*/\

"%s"

/*comment2*/\

"%s\n"

/*comment3*/

printf(ST,“one",“two",“three");

程序输出:onetwothree

条件编译示例1:#define

DEBUG

0

main()

{

#if

DEBUG

printf("Debugging\n");

#endif

printf("Running\n");

}条件编译示例3:/*my.h*/

#ifndef

MY_H

#define

MY_H

……

#endif

条件编译示例2:#define

DEBUG

main()

{

#ifdef

DEBUG

printf("Debugging\n");

#else

printf("Not

debugging\n");

#endif

printf("Running\n");

}

8.编译预处理#definePI3.1415926标准C语言基本语法概要

指令

用途

#

空指令,无任何效果

#include

包含一个源代码文件

#define

定义宏

#undef

取消已定义的宏

#if

如果给定条件为真,则编译下面代码

#ifdef

如果宏已经定义,则编译下面代码

#ifndef

如果宏没有定义,则编译下面代码

#elif

如果前面的#if给定条件不为真,当前条件为真,则编译下面代码

#endif

结束一个#if……#else条件编译块

#error

停止编译并显示错误信息标准C语言基本语法概要

指令

用途9.用typedef定义类型示例:typedefunsignedcharINT8U;用法说明:(1)用typedef可以定义各种类型名,但不能用来定义变量。(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。(3)typedef与#define有相似之处,(4)常用typedef定义一些数据类型,并把它们单独存放在一个文件中,而后在需要用到它们的文件中用#include命令把它们包含进来。(5)使用typedef有利于程序的通用与移植。typedefunsignedintINT16U;//在编译时处理#defineINT16Uunsignedint;//在预编译时处理9.用typedef定义类型typedefunsigne微控制器微控制器可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和VonNeumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(ComplexInstructionSetComputer)和RISC(ReducedInstructionSetComputer)微控制器。微控制器微控制器可从不同方面进行分类:微控制器Intel公司作为最早推出微处理器的公司,同样也是最早推出微控制器的公司。继1976年推出MCS-48后,又于1980年推出了MCS-51,为发展具有良好兼容性的新一代微控制器奠定了良好的基础。在8051技术实现开放后,Philips、Atmel、Dallas和Siemens等公司纷纷推出了基于80C5l内核(805l的CMC)S版本)的微控制器。这些各具特色的产品能够满足大量嵌入式应用需求。基于80C51内核的微控制器并没有停止发展的脚步,例如现在Maxim/Dallas公司提供的DS89C430系列微控制器,其单周期指令速度已经提高到了805l的12倍。微控制器Intel公司作为最早推出微处理器的公司,同样也是最最著名单片机系列IntelMCS-51,-96(AtmelPhillipsSimensToshibaetc)Freescale(Motorola)HCS08、HCS12DragonBall系列如68EZ328、68VZ328ColdFire系列的如5272、5307,ARM7TDMI&MC68EN302PowerPCMicroChip(PICxxCxxx)TexasInstrument(TM320xx)ARMCOP800(美国国家半导体)最著名单片机系列IntelMCS-51,-96(At

温馨提示

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

评论

0/150

提交评论