【文档说明】嵌入式微控制器介绍课件.ppt,共(35)页,1.146 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92644.html
以下为本文档部分文字说明:
嵌入式微控制器与智能车制作自动化学院谈英姿tanyz@seu.edu.cn2022年12月5日智能车竞赛知识点数字控制系统基本概况单片机基本原理及其操作道路检测车速测量调试电路基础高级调试后轮电机驱动电机控制算法车模机械调整抗干扰
与可靠性赛道适应性测控系统及其实现技术测控系统与微控制器•测控系统•嵌入式系统与微控制器概述–基本含义–特点测控系统与微控制器•测控系统嵌入式系统的定义及由来一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部
分。通用计算机系统:满足海量高速数值计算的计算机。嵌入式计算机系统:嵌入到实际应用系统中,实现嵌入式应用的计算机。单片机(微控制器)的基本含义微控制器(MCU):在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时
器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。MCU内部总线(控制总线、数据总线、地址总线)CPURAMFlash存储器A/D转换接口工作支撑模块定时器接口串行通信接口其他I/O模块……微控制器•微控制器是将微型计算机的主要部分集
成在一个芯片上的单芯片微型计算机。•微控制器诞生于20世纪70年代中期,经过30多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁
控制、工业控制与自动化和白色家电(洗衣机、微波炉)等无处不在的嵌入式系统无处不在的嵌入式系统嵌入式系统与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)各种具体应用。嵌入式应用系统开发过程•功能分析和硬件设计•MCU选型,开发工具与环境的选择•PCB(ProtelPAD),ASIC(VHDL)•应用程序设计•程序语言,汇编/编译器•仿真调试•仿真器,ROM固化器等•脱机运行(1)操作系统的困惑
(2)硬件与软件的困惑(3)片面认识嵌入式系统(4)入门芯片选择的困惑嵌入式系统的学习误区学习建议打好软件硬件基础选择一个芯片及硬件评估板深入理解MCU的硬件最小系统不要一开始就学嵌入式实时操作系统RTOS避免片面认识嵌入式系统
注重实验与实践入门芯片选择不要太复杂关于汇编与C语言的取舍明确学习目的,注意学习方法嵌入式系统常用术语与硬件相关的术语封装(Package)印刷电路板(PCB,Printedcircuitboard)动态可读写随机存储器(DRAM,DynamicRandomAcc
essMemory)静态可读写随机存储器(SRAM,StaticRandomAccessMemory)只读存储器(ROM,ReadOnlyMemory)闪速存储器(FlashMemory)模拟量开关量
嵌入式系统常用术语与通信相关的术语并行通信串行通信串行外设接口SPI集成电路互连总线I2C通用串行总线USB控制器局域网CAN背景调试模式BDM边界扫描测试协议JTAG嵌入式系统常用术语与功能模块及软件相关的术语通用输入/
输出GPIOA/D与D/A脉冲宽度调制器PWM看门狗液晶显示LCD发光二极管LED键盘实时操作系统RTOS嵌入式系统常用的标准C语言基本语法概要1.数据类型数据类型基本类型构造类型字节型整型实型
数组结构联合枚举指针空类型基本类型数据类型简明含义位数字节数字节型signedchar有符号字节型81unsignedchar无符号字节型81整型signedshort有符号短整型162unsignedshor
t无符号短整型162signedint有符号短整型162unsignedint无符号短整型162signedlong有符号长整型324unsignedlong无符号长整型324实型float浮点型324double双精度型6482.运算符号算术运算:+
-*/^%逻辑运算:||&&!关系运算:><>=<===!=位运算:~<<>>&^|增量和减量运算:++--复合赋值运算:+=-=*=/=%=等指针和地址运算:*&输出格式转换3.流程控制顺序结
构选择结构if结构switch结构循环结构for循环while循环do...while循环注意break和continue语句在循环中的应用区别!Switch语句与if语句的不同之处在于switch只能对等式进行测试,而
if可以计算关系表达式或逻辑表达式。如果多分支选择能用两种语句实现,则switch语句的运行性能要优于if语句。break表示跳出循环,continue表示结束本次循环4.函数函数参数、类型函数返回值类型Return语句格式:
return表达式;注意:(1)函数定义时要同时声明其类型;(2)调用函数前要先声明该函数;(3)传给函数的参数值,其类型要与函数原定义一致;(4)接收函数返回值的变量,其类型也要与函数类型一致等。5.指针指针是指向变量的地址,实质上
指针就是存储单元的地址。指针变量的定义:类型说明符*变量名指针变量的赋值:只能赋予地址指针的运算:取地址运算符&、取内容运算符*。1000a1000801003p1inta;int*p1=&a;inta,b;//a,b为整型数据变量int*p1;
//声明p1是整型指针变量p1=&a;//将a的地址作为p1初值a=80;b=*p1;//运行结果:b=80,即为a的值6.结构体定义结构体类型,类型名称为student:structstudent{charname[8];//成员变量nameint
age;//成员变量agecharsex[2];//成员变量sex};声明和使用结构体变量和指针:structstudents1;structstudent*Pstudent;s1.age=20;Pstudent=(structstudent*)malloc(sizeof(struc
tstudent));Pstudent->age=18;结构体指针是指向结构体中第一个成员的首地址,因此在使用之前应该对结构体指针初始化,即分配整个结构体长度的字节空间。7.位域定义位域类型,类型名称为bs,同时定义该类型变量b1:structbs{inta:8;intb:2;intc:6;}
b1;使用方法:b1.a=1;//将b1的第0位置1b1.b=7;//将b1的第3~5位置111cba8.编译预处理宏定义#define宏名表达式条件编译:格式1:#if表达式#else表达式#endif格式2:#ifdef宏名
格式3:#ifndef宏名“文件包含”处理#include“文件名”#definePI3.1415926#defineS(r)PI*r*r多行宏定义举例:#defineST"%s"/*comment1*/\"%s"/*comment
2*/\"%s\n"/*comment3*/printf(ST,“one",“two",“three");程序输出:onetwothree条件编译示例1:#defineDEBUG0main(){#ifDEBUGprintf("Debugging\n");#endifprin
tf("Running\n");}条件编译示例3:/*my.h*/#ifndefMY_H#defineMY_H……#endif条件编译示例2:#defineDEBUGmain(){#ifdefDEBUGprintf("Debu
gging\n");#elseprintf("Notdebugging\n");#endifprintf("Running\n");}标准C语言基本语法概要指令用途#空指令,无任何效果#include包含一个源代码
文件#define定义宏#undef取消已定义的宏#if如果给定条件为真,则编译下面代码#ifdef如果宏已经定义,则编译下面代码#ifndef如果宏没有定义,则编译下面代码#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码#endif结束一个#
if……#else条件编译块#error停止编译并显示错误信息9.用typedef定义类型示例:typedefunsignedcharINT8U;用法说明:(1)用typedef可以定义各种类型名,但不能用来定义变量。(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型
。(3)typedef与#define有相似之处,(4)常用typedef定义一些数据类型,并把它们单独存放在一个文件中,而后在需要用到它们的文件中用#include命令把它们包含进来。(5)使用typedef有利于程序的通用与移
植。typedefunsignedintINT16U;//在编译时处理#defineINT16Uunsignedint;//在预编译时处理微控制器•微控制器可从不同方面进行分类:–根据数据总线宽度可分为8位、16位和32位机;–根据存
储器结构可分为Harvard结构和VonNeumann结构;–根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;–根据指令结构又可分为CISC(ComplexInstructionSe
tComputer)和RISC(ReducedInstructionSetComputer)微控制器。微控制器•Intel公司作为最早推出微处理器的公司,同样也是最早推出微控制器的公司。继1976年推出MCS-48后,又于1980年推出了MCS-51,为发展具有良好兼容性的新一代
微控制器奠定了良好的基础。•在8051技术实现开放后,Philips、Atmel、Dallas和Siemens等公司纷纷推出了基于80C5l内核(805l的CMC)S版本)的微控制器。这些各具特色的产品
能够满足大量嵌入式应用需求。基于80C51内核的微控制器并没有停止发展的脚步,例如现在Maxim/Dallas公司提供的DS89C430系列微控制器,其单周期指令速度已经提高到了805l的12倍。最著名单片机系列•IntelMCS-51,-
96(AtmelPhillipsSimensToshibaetc)•Freescale(Motorola)1.HCS08、HCS122.DragonBall系列如68EZ328、68VZ3283.ColdFire系列的如5272、5307
,ARM7TDMI&MC68EN3024.PowerPC•MicroChip(PICxxCxxx)•TexasInstrument(TM320xx)•ARM•COP800(美国国家半导体)大赛指定处理器芯片•飞思卡尔S12和S
12X微控制器为汽车和工业应用提供高效16位控制。S12X微控制器带创新的XGATE模块,专门为处理中断事件而无需CPU介入。因此,S12X控制器拥有一般只能在32位控制器找到的高效能力。大赛指定处理器芯片主要特性•用于数
据存储或程序存储器扩展的DataFlash•减少了典型车身应用所需的外设集数量其他特性•S12XCPU@40Mhz总线速率•64KB、128KB和256KB闪存选项,均带有纠错码(ECC)•带有ECC
的、4KB至8KBDataFlash,用于实现数据或程序存储•可配置8、10或12位模数转换器(ADC),可以实现3μs的转换时间•支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协议•带有16位计数器的8通道定时器•出色的EMC/运行和停止电流性能主要参考书•嵌入式系统设
计实战——基于飞思卡尔S12X微控制器作者:王宜怀等编著出版社:北京航空航天大学出版社2011年5月•《学做智能车-挑战飞思卡尔杯》作者:卓晴出版社:北京航空航天大学出版社2007年3月•《大学生智能汽车设计基础与实践》作者:吴怀宇出版社
:电子工业出版社2008年7月