汽车电子控制基础第十二章 微控制器基础知识课件.ppt

上传人:小飞机 文档编号:2137529 上传时间:2023-01-16 格式:PPT 页数:44 大小:1.44MB
返回 下载 相关 举报
汽车电子控制基础第十二章 微控制器基础知识课件.ppt_第1页
第1页 / 共44页
汽车电子控制基础第十二章 微控制器基础知识课件.ppt_第2页
第2页 / 共44页
汽车电子控制基础第十二章 微控制器基础知识课件.ppt_第3页
第3页 / 共44页
汽车电子控制基础第十二章 微控制器基础知识课件.ppt_第4页
第4页 / 共44页
汽车电子控制基础第十二章 微控制器基础知识课件.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《汽车电子控制基础第十二章 微控制器基础知识课件.ppt》由会员分享,可在线阅读,更多相关《汽车电子控制基础第十二章 微控制器基础知识课件.ppt(44页珍藏版)》请在三一办公上搜索。

1、第十二章微控制器基础知识,第一节微控制器概述一、关于微控制器与ECU微控制器是汽车电控单元(ECU)的核心,相当于集成到芯片内的计算机,而ECU则是包括微控制器和相关外围接口器件的电路板总称,也是微控制器在汽车中的应用系统。图12-1给出Bosch公司开发的发动机ECU(商品名称Motronic 4.3)实物图,用于VOLVO、BMW等许多车型。其中的核心部件微控制器使用的是Siemens公司的SAB80C537。从图中可以看出,ECU电路板上还包括存储器、一些接口芯片和与外部联系的接插件。目前汽车上一般都有多个ECU,现代汽车上往往有几十个到上百个ECU,用于控制不同的系统。,图12-1EC

2、U内的微控制器和存储器1微控制器2Flash存储器,二、关于微控制器、单片机与嵌入式系统20世纪70年代微型计算机出现以后,使计算机技术得到迅速普及,也使计算机的发展应用出现了两大分支:一方面是计算机自身的不断完善化,例如个人计算机的功能越来越强;另一方面是向控制方向发展,把计算机用到仪器仪表、工业控制和家用电器等,对这类计算机主要追求的不是处理速度、存储容量以及文件管理能力,而是强调灵活应用的功能,体积要小到能够装到这些设备里面去,于是就出现了“嵌入式”计算机系统(Embedded System)。所谓嵌入式系统,就是嵌入到控制对象中的计算机系统,它主要不是用于计算,而是用于控制,与通用计算

3、机不同,它通常执行的是专门预定的任务。,嵌入式系统中的核心器件根据集成度的不同,可以分成微处理器和微控制器两大类。嵌入式微处理器(Microprocessor Unit,MPU)的核心也是一般计算机中的CPU。在应用中,将微处理器及存储器、总线以及各种外部设备等器件都安装在一块专门设计的电路板上,在我国也称为单板计算机或单板机,它比单片机出现的时间要早一些。,微控制器(Microcontroller或Micro-Controller Unit,MCU)是集成在一块芯片上的微型计算机,相当于单片机,一般以某一种CPU为核心,芯片内部集成了存储器、总线、定时/计数器以及I/O口等各种必要功能和外部

4、设备。为了适应现代控制系统对微控制器的要求,一方面尽可能提高微控制器本身的功能和集成度,另一方面设计了很多专用的外围芯片与其配合使用,从此不再强调微控制器的“单片”性。“单片机”只是国内一直沿用的名称。考虑到国内习惯,本书很多章节还是将微控制器称为单片机。,三、微控制器的发展和常用的系列简介通用的微控制器即单片机大约在20世纪70年代后期出现,80年代以后,世界上一些著名半导体厂家生产的通用单片机产品已经有五十多个系列、几百个品种,8位微控制器系列产品就有Intel公司的MCS-51系列(如以前常见的8031、8051、8751)、Motorola公司的68HC系列、Zilog公司的Z8系列等

5、。,如今已经出现了32位微控制器,例如Motorola公司开发的Power PC、ColdFire、ARM、CPU 32/68K、MCORE等产品。32位微控制器功能更加强大,例如其特有的浮点运算单元可以大大提高运算能力,高性能的数据处理能力和大容量片内Flash 存储器使用户的产品改进和升级更加容易,低成本的开发方式可使用户的产品更快地进入市场。32位微处理器可用于高性能的发动机管理、变速器控制、制动控制、转向控制及通信系统等汽车电子技术领域。,第二节微控制器基本结构不论何种型号的微控制器或单片机本身,都是一些集成电路芯片。下面以MCS-51系列(以后简称51系列)8位微控制器为例介绍它的内

6、部基本结构,图12-251系列微控制器芯片外形a)DIP型封装b)PQFP型封装,51系列微控制器芯片外形如图12-2所示,一般有两种封装形式:一种是采用40个引脚的PDIP型(Plastic In-line Package,塑料双列直插式封装)结构,简称DIP型;另一种是四周有44个引脚的PQFP型(Plastic Quad Flat Package,也称为四边扁平封装)结构。两者功能相同,只是形状尺寸不同(后者有些引脚是空脚)。MCS-51系列微控制器以同一种CPU为核心,芯片内部集成了存储器、定时/计数器以及I/O口等部分,其内部结构书上。,一、中央处理单元(CPU)中央处理单元(Cen

7、tral Processing Unit,CPU)是微控制器的核心部分。MCS-51微控制器内部有一个功能很强、处理8位数据的CPU,它由运算器、控制器以及相关的寄存器等组成。1.运算器运算器主要用于数据的传送和算术/逻辑运算,包括算术逻辑单元(Arithmetic Logic Unit,ALU)、累加器(ACC)、寄存器B、程序状态字(Program Status Word,PSW)以及布尔处理器等。,1.运算器运算器主要用于数据的传送和算术/逻辑运算,包括算术逻辑单元(Arithmetic Logic Unit,ALU)、累加器(ACC)、寄存器B、程序状态字(Program Status

8、 Word,PSW)以及布尔处理器等。(1)算术逻辑单元(ALU)ALU具有很强的运算功能,可以对8位数据信息进行加、减、乘、除方面的算术运算以及与、或、异或、取反等逻辑运算,还可以进行数据传送、移位,以及位的处理功能(如清零/置位)和位的逻辑运算等。(2)累加器(ACC)ACC一般记作A,是一个最常用、最繁忙的8位寄存器。MCS-51系列单片机中,大量的算术/逻辑运算和数据传递都要经过累加器A。,(3)程序状态字(PSW)PSW也是8位的寄存器,用于保存程序执行中的状态信息。有时要根据这些状态决定下一步的操作。除D1位未用外,PSW每位有自己的标志符号,见表12-2。(4)寄存器B寄存器B是

9、主要用于乘、除法运算的8位寄存器,一般要与寄存器A配合使用。,2.控制器控制器是指挥控制系统运行的部分,包括程序计数器、指令寄存器(Instruction Register)、指令译码器(Instruction Decoder)、振荡器(Oscillator)及定时电路以及其他专用寄存器等。(1)时序控制逻辑电路包括指令寄存器与指令译码器、振荡器及时钟电路等。指令寄存器和指令译码器的主要功能是从存储器中获取指令,并对指令进行分析,产生相应操作控制信号。振荡器(OSC)与时钟电路配合,产生频率精确的振荡脉冲,为CPU提供基本运行节拍。(2)程序计数器(Program Counter,PC)PC是

10、程序指令存储位置的指示器,所以又称为程序指针。它是一个16位的寄存器,其内容是将要执行的指令所在的程序存储器地址(地址就是存储器单元的编号),如图12-4所示。每执行完一条指令,PC的内容就会自动更新。,(3)数据指针(Data Pointer,DPTR)DPTR是一个16位寄存器,由两个8位寄存器组成,高位字节的寄存器记作DPH,低位寄存器记作DPL。DPTR常用来存放片外扩展数据存储器或程序存储器的16位地址。(4)堆栈指针(Stack Pointer,SP)SP是一个8位寄存器,用来指示存放在堆栈(临时保存数据的存储区)中数据的地址。(5)中断控制、串行口控制以及定时器电路中断是微控制器

11、一种很重要的运行方式,后面的章节将有详细介绍。MCS-51微控制器的中断控制系统通过TCON、IE、IP等专用寄存器实现中断控制功能。,二、存储器1.有关的基本概念存储器是用于存放程序指令代码或存放数据的器件。存储单元存放一个8位二进制代码或数据,即一个字节的内容。所以存储器的容量一般以存储字节数为单位,字节数多少就代表着存储器容量的大小。例如包含210=1024个字节的存储器,容量就是1kB(因210=1024103),这里的B表示Byte(字节)。为了便于确定信息存储的空间位置,每个存储单元都有自己的编号,称为存储单元的“地址”。地址用十六进制编号。ROM是在正常工作时只能读不能写的存储器

12、。RAM是在正常工作时可以随机读写的存储器。,2.51系列微控制器的数据存储器RAM一般51系列微控制器片内RAM的配置情况如图12-5所示。它通常有256个字节的存储单元,地址是00HFFH。它分为两大部分:低128字节(地址00H7FH)是用户使用的RAM区域;高128字节(地址80HFFH)为专用寄存器(SFR,也称为特殊功能寄存器)所占用。,3.程序存储器ROM微控制器使用ROM存放编好的程序以及相关的常数或数据表,芯片外形如图12-7a所示。ROM存储器一律使用16位地址,地址范围可以从0000H到FFFFH,即ROM存储器的容量最多可达216=65536个字节,简称64kB。由前述

13、的程序计数器PC值决定访问的ROM单元地址。,三、输入/输出端口1.微控制器对外的信息输入/输出输入/输出端口(Input/Output Port)简称I/O口,是微控制器对外信息交换的通道。实际的微控制器常要根据输入的信息状态实施输出控制作用,这些都是通过I/O口实现的。例如在汽车发动机控制系统中,常常需要根据车速、空气流量、节气门位置等传感器状态控制相应的点火和喷油操作,各种传感器和开关状态信息通过输入端口送到微控制器,而控制执行器件动作的命令信息则通过输出端口送给各类继电器、电磁阀、电动机等执行器件。计算机对外的信息传输的方式可分为两类:一类是并行传输;另一类是串行传输。图12-8为两种

14、传输方法的示意图。,图12-8并行与串行数据传输方式示意图a)并行输出时b)串行输出时,2.MCS-51系列微控制器的I/O口信息不论以并行还是串行方式输入或输出,都是通过I/O口实现的。51系列微控制器一般有4个8位的并行I/O端口,即P0、P1、P2与P3口。每个口接有8条口线,可分别与外部设备器件相连接。这样,既能以字节为单位输入和输出数据信息,也可以单独使用某条口线做“位”信息(0或1)的传送,也就是开关信号输入/输出,或称为开关量I/O。另外,P3口的某些口线具有串行传输数据的功能,即作为串行口使用。从端口内部结构上看,每个I/O口都是集数据输入缓冲、输出驱动以及锁存器等多个功能于一

15、体的电路。这4个I/O口的电路结构不完全相同,因此使用功能上也有些差别。,四、时钟电路微控制器的各个部件都在统一的时钟信号的指挥之下进行协调工作。微控制器内部有一个时钟电路,只要在XTAL1与XTAL2引脚之间接入石英晶体振荡器和微调电容,即可构成完整的时钟电路,如图12-9所示。时钟电路主要由振荡器电路和时钟发生器等部分组成。,图12-9单片机的时钟电路,1.振荡器电路振荡器电路由单片机芯片内高增益反相放大电路和外接石英晶体振荡器(晶振)以及微调电容组成,其振荡频率fOSC基本上由晶体振荡器决定。fOSC的单位是兆赫(MHz,即106Hz),一般范围为1.212MHz,有的芯片振荡频率高达3

16、0 MHz(如P83C552)。显然,振荡频率越高,系统运行速度越快。,2.时钟发生器时钟发生器主要是一个2分频的触发器,它输出两个不同相位的时钟信号P1和P2,P1或P2信号的频率只有振荡频率的1/2,即每个时钟信号的周期是振荡周期的2倍。CPU以两相时钟P1和P2为基本工作节拍,与各S状态组合成S1P1、S1P2、S2P1等各节拍。,五、复位电路“复位”是微控制器的初始化操作,复位后,CPU和其他功能部件都处于一种初始状态。在硬件方面,只要给微控制器芯片的RST引脚一个瞬间高电平,就可以令系统复位。常用的复位电路主要由电阻、电容等元件组成,具体可分为上电自动复位与按键手动复位两类。常用的复

17、位电路如图12-10所示,图12-10a为上电复位,图12-10b为按键复位。,图12-10常用的复位电路a)上电复位b)按键复位,六、MCS-51系列微控制器的引脚及其功能以常用的MCS-51系列8位微控制器40脚双列直插式芯片为例说明各引脚的功用。每个引脚的功能定义适用于各公司生产的、与MCS-51系列兼容的基本型8位单片机产品,如图12-11所示,这40个引脚都有自己的编号和固定的功能,有的引脚有两种功能。1.电源引脚电源引脚有2个:VCC(第40脚)接5V电源端,VSS(第20脚)接地。2.时钟信号引脚产生时钟信号的方法有两种:内部时钟方式和外部时钟方式。一般多使用内部时钟方式,即利用

18、微控制器内部振荡器电路,在XTAL1(第19脚)与XTAL2(第18脚)之间外接石英晶体形成振荡电路。,4.I/O端口引脚4个端口P0、P1、P2和P3各有8个引脚,分别为P0.0P0.7(第3239脚)、P1.0P1.7(第18脚)、P2.0P2.7(第2128脚)及P3.0P3.7(第1017脚)。每个端口可接8条口线,用作对外数据和控制信号的输入/输出。,第三节计算机指令与编程任何计算机,包括微控制器都是按照预先安排的一系列指令进行工作的。指令就是人指挥计算机进行各种操作的命令。执行一条指令,涉及CPU、各种存储器、寄存器和接口等一系列部件的协调动作。这些动作步骤或顺序称为时序。一种计算

19、机所能执行的指令集合称为该种计算机的指令系统。要让微控制器实现预定的控制功能,就必须按照一定规则设计一系列的指令。这些指令的集合称为程序。,一、指令的基本概念1.机器指令与汇编指令由于计算机的信息存储和运行都只表现为二进制形式,能够执行的指令也只是二进制代码。这些二进制(或对应的十六进制)数表示的指令称为机器指令,简称机器码。因此机器指令能直接被计算机硬件识别和执行。,MCS-51系列的指令的一般格式由操作码和操作数两部分组成,即 操作码操作数(1)操作码操作码表示这条指令进行何种操作,如加、减、数据传送等。它代表计算机应该执行的动作。(2)操作数表示指令的操作对象,可以是一个具体的数据,也可

20、以是存放数据的地址或符号。随着指令的不同,操作数可以是1个、2个、3个,也可能没有操作数。操作码与操作数之间以空格隔开。,2.微控制器执行指令的过程振荡器(OSC)电路发出的振荡脉冲是微控制器确定时间基准和控制指令执行的基础。它与时钟电路配合,产生频率精确的脉冲序列,为CPU提供基本运行节拍,控制每一条指令的执行过程。指令的执行过程涉及微控制器CPU中的指令寄存器和指令译码器。它们的主要功能是从存储器中取出一条指令,对指令进行分析译码,产生相应操作控制信号,启动规定的读/写、运算、输入/输出等操作,引导CPU、存储器和I/O设备之间数据信息的流动。,二、汇编语言程序设计的基本方法程序设计就是按

21、照给定的任务要求,按照一定的格式编写出完整计算机程序的过程。要完成同样的任务,使用的方法或程序内容并不是唯一的。因此,程序设计的质量直接影响着计算机系统的工作效率、运行可靠性以及程序的存储容量等。编写计算机程序所用的指令系列也称为计算机语言。计算机语言一般可分为机器语言、汇编语言和高级语言三类。对单片机而言,习惯使用汇编语言进行程序设计,然后,利用计算机将汇编语言程序转化为微控制器可以执行的机器语言(即机器码)。转换前的汇编语言程序称为源程序,转换后的机器语言程序称为目标程序,转换过程称为汇编过程。计算机汇编要使用专门软件,称为汇编程序或汇编软件。,1.汇编语言的组成与格式汇编语言程序是由一系

22、列汇编语句(即汇编指令)组成的。为了保证编写的程序正确无误,必须确保每条语句都严格按照规定的格式编写,否则就会出现“语法”错误。语句的主体是各种指令,语句通常分为4部分:标号、操作码、操作数和注释。格式如下:标号 操作码操作数;注释其中,方括号 内的部分是可选部分,可有可无,视需要而定。,(1)标号部分标号是语句地址的标志符号,代表该语句指令代码第一个字节的地址。一般情况下,只有被其他语句(如转移、调用)等访问的语句才使用标号。标号由18个ASCII码字符组成,但必须是字母开头,而且不能使用汇编语言中以及定义的符号,如助记符、寄存器符号、“+”“-”运算符等。一个标号在同一程序中只能定义一次,

23、不能重复。例如,START、NEXT、LOOP_1等是合法的,而2A、TA+TB、ADD等是非法的。,(2)操作码与操作数部分操作码与操作数部分格式要求与前面指令格式相同。当操作数是立即数时,可以写成二进制、十进制或十六进制形式,但需分别以B、D或H作后缀(表示十进制的D常可省略);同时,十六进制数若以AF开头,前面还需加一个数字0,以便与字母AF相区别。例如下面的汇编语句都是合法的:MOVA,#10110111B;使用二进制立即数MOVR0,#33;使用十进制立即数MOVA,#0E2H;使用十六进制立即数,E前要加数字0,(3)注释部分注释是为方便程序的编写、理解、交流而书写的说明解释性文字

24、、符号,不属于语句的功能部分,既不产生代码,对汇编过程也不起作用。注释之前必须由“;”开始。注释内容长度不限,超过一行要在新一行的开头加上“;”既可。在一个完整的应用程序开头,常常用注释部分对该程序的基本功能做些说明。,(4)伪指令部分在汇编语言源程序中,除了指令语句外,还有伪指令语句。伪指令并不是真正的指令,也不产生相应的机器码,它只是在计算机将汇编语言转化成机器码时,所用到的一些指示性说明。不同的汇编程序有各自的伪指令。MCS-51汇编程序的伪指令详见附录B。,2.程序设计方法概述单片机应用中,许多应用程序都是用汇编语言编写的。如前所述,要完成同一任务所使用的方法或程序并不是唯一的。因此,不仅要解决“对”的问题(程序准确无误),还要解决“好”的问题(高效、清晰、简洁等)。汇编语言程序设计的一般步骤如下:1)分析问题,明确任务。2)确定采用的程序方法和技巧。3)绘制程序流程图。4)编写具体源程序。5)汇编、调试。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号