资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式微,控制器与智能车制作,自动化学院,谈英姿,2024年11月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(Protel PAD),ASIC(VHDL),应用程序设计,程序语言,汇编,/,编译器,仿真调试,仿真器,,ROM,固化器等,脱机运行,嵌入式应用系统开发过程功能分析和硬件设计,(,1,)操作系统的困惑,(,2,)硬件与软件的困惑,(,3,)片面认识嵌入式系统,(,4,)入门芯片选择的困惑,嵌入式系统的学习误区,(1)操作系统的困惑嵌入式系统的学习误区,学习建议,打好软件硬件基础,选择一个芯片及硬件评估板,深入理解,MCU,的硬件最小系统,不要一开始就学嵌入式实时操作系统,RTOS,避免片面认识嵌入式系统,注重实验与实践,入门芯片选择不要太复杂,关于汇编与,C,语言的取舍,明确学习目的,注意学习方法,学习建议打好软件硬件基础,嵌入式系统常用术语,与硬件相关的术语,封装,(Package),印刷电路板,(PCB,,,Printed circuit board),动态可读写随机存储器,(DRAM,,,Dynamic Random Access Memory),静态可读写随机存储器,(SRAM,,,Static Random Access Memory),只读存储器,(ROM,,,Read Only Memory),闪速存储器,(Flash Memory),模拟量,开关量,嵌入式系统常用术语与硬件相关的术语,嵌入式系统常用术语,与通信相关的术语,并行通信,串行通信,串行外设接口,SPI,集成电路互连总线,I,2,C,通用串行总线,USB,控制器局域网,CAN,背景调试模式,BDM,边界扫描测试协议,JTAG,嵌入式系统常用术语与通信相关的术语,嵌入式系统常用术语,与功能模块及软件相关的术语,通用输入,/,输出,GPIO,A/D,与,D/A,脉冲宽度调制器,PWM,看门狗,液晶显示,LCD,发光二极管,LED,键盘,实时操作系统,RTOS,嵌入式系统常用术语与功能模块及软件相关的术语,嵌入式系统常用的标准,C,语言基本语法概要,1.,数据类型,数据类型,基本类型,构造类型,字节型,整型,实型,数组,结构,联合,枚举,指针,空类型,嵌入式系统常用的标准C语言基本语法概要1.数据类型数据类型基,基本类型,数据类型,简明含义,位数,字节数,字节型,signed char,有符号字节型,8,1,unsigned char,无符号字节型,8,1,整型,signed short,有符号短整型,16,2,unsigned short,无符号短整型,16,2,signed int,有符号短整型,16,2,unsigned int,无符号短整型,16,2,signed long,有符号长整型,32,4,unsigned long,无符号长整型,32,4,实型,float,浮点型,32,4,double,双精度型,64,8,基本类型数据类型简明含义位数字节数字节型signed cha,2.,运算符号,算术运算:,+-*/%,逻辑运算,:,|&!,关系运算:,=&|,增量和减量运算:,+-,复合赋值运算:,+=-=*=/=%=,等,指针和地址运算:,*,&,输出格式转换,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.,指针,指针是指向变量的地址,实质上指针就是存储单元的地址。,指针变量的定义:类型说明符*变量名,指针变量的赋值:只能赋予地址,指针的运算:取地址运算符,&,、取内容运算符*。,1000,a,1000,80,1003,p1,int a;,int*p1=,int a,b;/a,b,为整型数据变量,int*p1;/,声明,p1,是整型指针变量,p1=/,将,a,的地址作为,p1,初值,a=80;,b=*p1;/,运行结果,:b=80,,即为,a,的值,5.指针10001000801003int a;int a,6.,结构体,定义结构体类型,类型名称为,student,:,struct student,char name8;,/,成员变量,name,int age;,/,成员变量,age,char sex2;,/,成员变量,sex,;,声明和使用结构体变量和指针:,struct student s1;,struct student *Pstudent;,s1.age=20;,Pstudent=(struct student*)malloc(sizeof(struct student);,Pstudent-age=18;,结构体指针是指向结构体中第一个成员的首地址,因此在使用之前应该对结构体指针初始化,即分配整个结构体长度的字节空间。,6.结构体struct student声明和使用结构体变量,7.,位域,定义位域类型,类型名称为,bs,,同时定义该类型变量,b1,:,struct bs,int a:8;,int b:2;,int c:6;,b1;,使用方法:,b1.a=1;/,将,b1,的第,0,位置,1,b1.b=7;/,将,b1,的第,3,5,位置,111,c,b,a,7.位域struct bs使用方法:b1.a=1;,8.,编译预处理,宏定义,#define,宏名 表达式,条件编译:,格式,1,:,#if,表达式,#else,表达式,#endif,格式,2,:,#ifdef,宏名,格式,3,:,#ifndef,宏名,“,文件包含,”,处理,#include,“,文件名,”,#define PI 3.1415926,#define S(r)PI*r*r,多行宏定义举例:,#define ST%s/*comment1*/%s/*comment2*/%sn/*comment3*/printf(ST,“one,“two,“three);,程序输出:,one two three,条件编译示例,1,:,#defineDEBUG0main()#ifDEBUGprintf(Debuggingn);#endifprintf(Runningn);,条件编译示例,3,:,/*my.h*/#ifndefMY_H#defineMY_H#endif,条件编译示例,2,:,#defineDEBUGmain()#ifdefDEBUGprintf(Debuggingn);#elseprintf(Notdebuggingn);#endifprintf(Runningn);,8.编译预处理#define PI 3.1415926,标准,C,语言基本语法概要,指令,用途,#,空指令,无任何效果,#include,包含一个源代码文件,#define,定义宏,#undef,取消已定义的宏,#if,如果给定条件为真,则编译下面代码,#ifdef,如果宏已经定义,则编译下面代码,#ifndef,如果宏没有定义,则编译下面代码,#elif,如果前面的,#if,给定条件不为真,当前条件为真,则编译下面代码,#endif,结束一个,#if,#else,条件编译块,#error,停止编译并显示错误信息,标准C语言基本语法概要指令用途,9.,用,typedef,定义类型,示例:,typedef unsigned char INT8U;,用法说明:,(,1,)用,typedef,可以定义各种类型名,但,不能用来定义变量,。,(,2,)用,typedef,只是对已经存在的类型增加一个类型名,而,没有创造新的类型,。,(,3,),typedef,与,#define,有,相似,之处,,(,4,)常用,typedef,定义一些数据类型,并把它们单独存放在一个文件中,而后在
展开阅读全文