汽车单片机与车载网络技术第2章 MCS51单片机介绍.ppt
《汽车单片机与车载网络技术第2章 MCS51单片机介绍.ppt》由会员分享,可在线阅读,更多相关《汽车单片机与车载网络技术第2章 MCS51单片机介绍.ppt(226页珍藏版)》请在三一办公上搜索。
1、第2章 MCS-51单片机介绍,2.1 单片机概述2.2 MCS-51单片机的基本结构2.3 MCS-51单片机的指令2.4 MCS-51单片机的并行接口2.5 中断2.6 定时/计数器2.7 串行接口2.8 模拟通道接口,2.1 单片机概述2.1.1 单片机的含义 单片机(Single Chip Micro Computer)也称为微控制器MCU(Micro Controller Unit)。它是采用超大规模集成电路技术把中央处理器(CPU)、一定容量的存储器(RAM/ROM等)、多种输入/输出(I/O)接口和中断系统、定时计数器等功能电路(可能还包括显示驱动电路、脉宽调制电路、A/D转换器
2、等电路)集成到一块硅片上而构成的一个小而完善的计算机处理系统。简单地说,一个单片机就相当于一个微型的计算机。与计算机相比,单片机只缺少了I/O设备。,单片机具有功能强、体积小、成本低、功耗小、配置灵活等特点。以单片机为核心构成的控制系统,成本低廉且能够适应各种现场环境,具有实时、快速的外部响应,因而被广泛应用在工业控制、智能化仪器仪表、通信、家电、汽车等领域中。事实上,单片机是世界上数量最多的计算机。现代人类生活中,几乎所用的每件电子和机械产品中都会集成有单片机。手机、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中会有12部单片机;汽车上一般会配备40多部单片机;复杂的工业控制系统上甚至可能
3、会有数百台单片机同时工作。,2.1.2 单片机的产品分类根据应用范围的不同,单片机可分为通用型单片机和专用型单片机两种。1.通用型单片机通用型单片机是由单片机厂家生产的、供广大用户选择使用的、具有基本功能的芯片,其性能全面、适应性强、能够满足多种控制的需要。但使用时用户必须进行二次开发设计,即根据需要以通用单片机为核心配以其他外围电路、芯片,从而构成控制系统,同时还需要编写控制程序。,目前,世界上通用型单片机芯片的主要生产厂家有美国Intel公司、Motorola公司、荷兰Philips公司、德国Siemens公司、日本Toshiba公司、韩国的Samsung公司等。其中,Intel公司的单片
4、机最具有代表性,应用也最广。自1976年起,Intel公司相继开发了MCS-48、MCS-51、MCS-96三大系列产品。此三大系列产品是我国目前的主流系列。在Intel公司对MCS-51系列单片机实行技术开放政策之后,许多公司,如Philips、Siemens、Atmel、华邦、LG等都以MCS-51中的8051为基核推出了许多各具特色且具有优异性能的单片机。以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。Intel公司MCS-51系列单片机中的8051是最基础的单片机型号。,2.专用型单片机专用型单片机是专门针对某一类产品甚至是某一个产品而设计制造的单片机。此类型的单片机
5、即不需要进行二次设计,也不用进行功能开发,一般由厂家与芯片制造商合作生产设计。例如全自动洗衣机、来电显示电话上的单片机都是专用型单片机。专用型单片机通用性差,但由于是专门针对某一控制系统设计的,因此其结构紧凑、资源优化、成本低,在其应用领域具有明显的综合优势。,2.1.3 单片机在汽车电子控制系统中的应用在现代的汽车中,电子设备比比皆是,均已涉及汽车的各主要部件(见表1-1)。其控制装置中的单片机既有功能强大的16位机或32位机,也有低性能的8位机。例如,现代汽车发动机的功能越来越完善,其控制系统也越来越复杂。控制系统需要不断地采集各个传感器的信息,并按照预定的程序进行实时计算,所以对单片机的
6、运算速度、数据字长、与外部设备的接口等方面不断提出新的要求。目前,发动机控制系统内单片机的总线频率已经提高到几十兆赫,机型多为16位机或32位机。Motorola公司生产的MC68HC912DG128A单片机就被德尔福等汽车电子企业选用在自己的电控单元的产品中。,再如,车身电子系统大量采用电子技术,其目标是提高驾驶舒适程度并为驾驶员提供车况信息。如空调系统、座椅调节系统、电动车窗、电动后视镜等,这些应用系统通常以较低的速率进行数据传输,但要求有大电流驱动模块来驱动电动机和执行机构。由于控制对象的数目众多,必须考虑成本,因而廉价的8位控制器就成了首选。另外,随着汽车上电子控制单元的增多,为节省导
7、线、易于布线以及在各控制单元之间快速地传输信息,网络技术便成为了有效的手段。,2.2 MCS-51单片机的基本结构2.2.1 MCS-51单片机的性能介绍MCS-51单片机的基本结构如图2-1所示。其内部具有以下硬件资源:(1)8位的中央处理器(CPU)。CPU是单片机的核心,由运算器和控制器组成。MCS-51单片机的CPU能同时处理8位二进制数或代码,故称为8位机。(2)256个字节的内部RAM(包括21个SFR)。RAM主要用于存储可读写的数据,因此又称为数据存储器。(3)内部ROM。由于ROM通常用于存放程序、原始数据、表格等,所以又称为程序存储器。8051的内部有4 K字节的掩膜ROM
8、和4 K字节的EPROM,而8031无片内ROM。,(4)2个可编程的16位定时/计数器T0、T1,用于对外部脉冲进行计数,也可用来实现定时操作。(5)4个8位的并行I/O口P0、P1、P2、P3,可用来实现数据的并行输入与输出。(6)1个全双工异步串行接口,可用来实现单片机与其他设备之间的串行数据通信。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。(7)5个中断源,包括3个内部中断与2个外部中断,可通过编程将其设置为两个优先级别。(8)内部时钟电路,用于产生CPU正常工作所需的时钟信号。其中,石英晶体振荡器和微调电容需外接。,图2-1 MCS-51单片机的内部基
9、本结构,2.2.2 MCS-51单片机的存储器1.存储器概述存储器是计算机中不可缺少的重要部件,用于储存二进制信息。下面介绍一些有关存储器的基本概念。(1)位:信息的基本单位是位(bit或b),表示一个二进制信息“1”或“0”。(2)字节:在微型机中信息大多是以字节(Byte或B)形式存放的,一个字节由8个位组成(1 Byte=8 bit),通常称作一个存储单元。(3)存储容量:存储器芯片的存储容量是指一片芯片所能存储的信息位数,例如8 K8位的芯片,其存储容量为810248位=65536位信息。,(4)地址:地址表示存储单元所处的物理空间的位置,用一组二进制代码来表示。地址相当于存储单元的“
10、单元编号”。CPU可以通过地址码访问某一存储单元,一个存储单元对应一个地址码。例如8051单片机有16位地址线,能访问的外部存储器的最大地址空间为64 K(65 536)字节,对应的16位地址码为0000HFFFFH。(5)存取周期:是指存储器存放或取出一次数据所需的时间。存储容量和存取周期是存储器的两项重要性能指标。,2.半导体存储器的分类半导体存储器按读、写功能可以分为随机读/写存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)。RAM可以进行多次信息写入和读出,每次写入后,原来的信息将被新写入的信息所取代。另外,RAM在断电后再
11、通电时,原存的信息会全部丢失,所以它主要用来存放临时数据。ROM的信息一旦写入后,便不能随机修改。在使用ROM时,只能读出信息,而不能写入,且在掉电后ROM中的信息仍然保留,所以它主要用来存放固定不变的程序和数据。ROM按生产工艺又可以分为以下几种:,(1)掩膜ROM:其存储的信息在制造过程中采用一道掩膜工艺生成,一旦出厂,信息就不可改变。(2)可编程只读存储器 PROM:其存储的信息可由用户通过特殊手段一次性写入,但只能写入一次。(3)可擦除只读存储器:用户可以多次擦除其存储的信息,并可用专用的编程器重新写入新的信息。可擦除只读存储器又可分为紫外线擦除的EPROM、电擦除的EEPROM和Fl
12、ash ROM。,3.8051的内部数据存储器8051的内部RAM有256个单元,通常在空间上分为两个区:低128个单元(地址为00H7FH)的内部数据RAM块和高128个单元(地址为80H0FFH)的专用寄存器SFR块,见图2-2。,图2-2 8051内部的RAM配置,(1)工作寄存器区(00H1FH)。工作寄存器区也称为通用寄存器,该区域共有4组寄存器,每组由8个寄存单元组成,各组均以R0R7作寄存器编号。在任一时刻,CPU只能使用其中的一组通用寄存器,称为当前通用寄存器组,具体使用哪组可由程序状态寄存器PSW中RS1、RS0位决定,见表2-1。通用寄存器为CPU提供了就近存取数据的便利,
13、提高了工作速度,也为编程提供了方便。,(2)位寻址区(20H2FH)。内部RAM的20H2FH地址段,共16个单元(计168=128位)为位寻址区,位地址为00H7FH,见表2-2。既可将位寻址区作为一般的RAM区进行字节操作,也可对单元的每一位进行位操作。,(3)用户RAM区(30H7FH)。单元地址为30H7FH的80个单元为用户RAM区,在一般应用中把堆栈设置在该区域中。(4)专用寄存器区(80H0FFH)。内部RAM的高128单元中分散有21个专用寄存器。表2-3为21个专用寄存器一览表。,下面介绍几个常用的专用寄存器。累加器A(Accumulator)。累加器是最常用的一个8位专用寄
14、存器,是运算器的重要组成部分,大多数运算操作都有它的参与。其既可存放操作数,又可存放运算结果。寄存器B。寄存器B是8位寄存器,主要用于乘、除运算,同时也可作为一般的寄存器使用。程序状态字PSW(Program Status Word)。程序状态字是8位寄存器,用于指示程序的运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令来设定。PSW中各标志位的名称及定义如下:,CY进(借)位标志位。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清0。在位操作中,CY作为位累加器使用。AC辅助进(借)位标志位。在加减运算中,当低四位向高四位产生进
15、位或借位时,此标志位由硬件自动置1,否则清0。F0用户标志位。由用户通过软件设定,用以控制程序转向。RS1、RS0寄存器组选择位。用于设定当前通用寄存器组的组号,具体组号见表2-1。,OV溢出标志位。在有符号数(补码数)的加减运算中,若OV=1,表示加减运算的结果超出了累加器A的八位有符号数的表示范围(-128+127),产生溢出,因此运算结果是错误的。若OV=0,表示结果未超出累加器A的符号数的表示范围,运算结果正确。乘法运算时,若OV=1,表示结果大于255,结果分别存在累加器A、寄存器B中。若OV=0,表示结果未超出255,结果只存在累加器A中。除法运算时,若OV=1,表示除数为0。OV
16、=0,表示除数不为0。,P奇偶标志位,表示累加器A中1的个数的奇偶性。在每个指令周期由硬件根据累加器A的内容的奇偶性对P自动置位或复位。P=1,表示累加器A中的内容有奇数个1。数据指针DPTR(Data Pointer)。数据指针DPTR是唯一的一个供用户使用的16位寄存器,它由两个8位寄存器DPH与DPL组成。DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64 KB。堆栈指针SP(Stack Pointer)。程序运行时需要一个连续的RAM块作为数据缓冲区,以暂时存放程序运行过程中的一些重要数据,此RAM块称为堆栈。,堆栈的主要功用是保护断点和保护现场。因为计算机无论执行的是
17、中断程序还是子程序,最终都要返回主程序。在转去执行中断程序或子程序时,要把主程序的断点保护起来,以便能正确的返回。同时,也要将中断程序或子程序可能要用到的寄存器中的内容保护起来,即保护现场。堆栈指针SP用于指示栈顶单元地址,是一个8位寄存器。当系统复位后,SP的内容为07H。堆栈的最大特点是按“后进先出”的数据操作原则执行。MCS-51系列单片机的堆栈是向上生长型,即数据进栈时,SP的内容先自动加1后再向栈区写入数据;数据出栈时,SP所指示的栈区数据先弹出,然后SP的内容再自动减1。,4.8051的内部程序存储器在介绍8051的内部程序存储器前,先介绍一个重要的专用寄存器程序计数器PC。PC(
18、Program Counter)为一个16位的计数器,其存储的内容为单片机将要执行的指令机器码所在的存储单元的地址。PC具有自动加1的功能,即CPU以PC的当前值为地址从ROM中读取一个字节指令后,PC自动加1,以指向下一个ROM单元,当CPU再次以PC的当前值为地址进行指令读取时,读到的就是下一个ROM单元的内容,这样就实现了程序的自动按顺序执行。由于PC是不可寻址的,因此用户无法对它直接进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。复位后,PC=0000H。,程序存储器主要用于存放程序及重要的数据。大多数51系列单片机的内部都配置有一定数量的程序存储器ROM,
19、如8051芯片内有4 KB的掩膜ROM存储单元,AT89C51芯片内部配置了4 KB的FlashROM,它们的地址范围均为0000H0FFFH。内部程序存储器内有如下一些特殊单元,使用时要注意。0000H单元:系统复位后,PC=0000H,即单片机从0000H单元开始执行程序。如果主程序不是从0000H单元开始存放,就必须在0000H0002H单元中存放一条无条件转移指令,以便转去执行指定的应用程序。,0003H单元:外部中断0的中断程序入口地址。000BH单元:定时器/计数器0的中断程序入口地址。0013H单元:外部中断1的中断程序入口地址。001BH单元:定时器/计数器1的中断程序入口地址
20、。0023H单元:串行中断程序入口地址。在中断程序入口地址单元中应存放相应的中断服务程序,但8个单元通常难以存下一个完整的中断服务程序,因此往往需要在中断程序入口地址单元中存放一条无条件转移指令,以便转到中断服务程序真正的入口地址。,对程序存储器的操作作以下说明:(1)程序指令的自主操作。CPU按照PC指针自动地从程序存储器中取出指令。(2)用户使用指令对程序存储器中的常数表格进行读操作。此操作可用MOVC指令实现。,图2-3 MCS-51单片机的引脚图,5.8051的外部存储器因8051的内部程序计数器PC为16位计数器,同时8051共有16根地址线引脚,因此在8051单片机的外部可以分别扩
21、展64 KB的ROM与64 KB的RAM。,2.2.3 MCS-51单片机的引脚功能介绍MCS-51单片机的引脚图见图2-3。下面对各引脚的作用进行介绍。1.主电源引脚VCC和VSSVCC为电源输入端,正常操作时接+5 V电源;VSS为接地线。,2.时钟振荡电路引脚XTAL1、XTAL2XTAL1和XTAL2分别用作晶体振荡电路的反相器输入端和输出端。MCS-51单片机的时钟电路见图2-4。图2-4(a)中采用了芯片内部的一个高增益反向放大器、芯片外连的晶体振荡器和微调电容构成一个稳定的自激振荡器,这就是单片机的内部时钟电路。时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。晶振的
22、频率fosc通常在6 MHz12 MHz之间选择。1个机器周期=12个振荡周期=12/fosc。,图2-4 MCS-51单片机的时钟电路,4.控制类引脚(1)RST/VPD(9脚)。RST为复位信号输入端。复位是单片机系统的初始化操作,在该引脚上输入持续2个机器周期以上的高电平时,单片机系统复位。系统复位后对专用寄存器的影响情况见表2-3。同时,复位操作还对单片机的个别引脚信号有影响,如把ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。复位操作对内部RAM不产生影响。复位电路见图2-5。,图2-5 MCS-51单片机的复位电路,2.3 MCS-51单片机的指令2.3.1 单片机的
23、指令系统概述指令就是指挥计算机工作的命令。一台计算机能执行的全部指令称为该计算机的指令系统。指令系统全面描述了CPU的功能。指令系统是由生产厂家确定的,不同的CPU有不同的指令系统。编程语言是人机对话的工具,按使用层次可分为机器语言、汇编语言和高级语言。机器语言(二进制代码)能直接被机器识别,用其编写的程序运行效率高,但编程效率低,不便于阅读、书写和交流。引入助记符将机器语言符号化后就成为汇编语言,其指令直观易懂。用汇编语言编写的程序称为汇编语言程序。汇编语言程序必须经过汇编(机器汇编或手工汇编)成为机器语言后才能被机器执行。,例如将累加器A中的数据加9的指令,机器语言为0010 0100 0
24、000 1001B,而汇编指令为ADD A,#09H。高级语言的编程效率高,但编写出的程序运行效率低。,2.3.2 汇编语言的语句格式汇编语言程序由一系列语句组成,一行为一个语句。汇编语言的语句格式如下:标号:操作码助记符操作数;注释1.标号标号表示该指令代码第一字节的地址,是用户根据程序需要(该指令为子程序入口指令或程序转移的目标指令)而设定的符号地址。标号由英文字母、数字或下划线组成,但必须以英文字母开头,以“:”结束,一般包含18个字符。不能使用汇编语言中已经定义的符号(如助记符、寄存器符号等)作标号,一个标号在同一程序中只能定义一次。,2.操作码助记符操作码助记符是表示指令操作功能的英
25、文缩写,是语句的核心部分。每条语句都必须有操作码。3.操作数操作数表示指令的操作对象,其表示形式与寻址方式有关。一条指令中可以没有操作数,也可以有多个操作数,操作数和操作码之间以空格分隔,操作数之间以逗号分隔。4.注释注释是编程者为方便程序的理解、交流而书写的解释性文字、符号,不属于语句的功能部分,既不产生代码,对汇编过程也不起作用。注释必须以“;”开始。,2.3.3 寻址方式操作数是指令的一个重要组成部分,所谓的寻址方式就是确定操作数所在的位置(地址)的方法。MSC-51系列单片机共有七种寻址方式。1.立即寻址 立即寻址是指在指令中直接给出操作数的寻址方式。操作数作为指令的一个组成部分存放在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车单片机与车载网络技术第2章 MCS51单片机介绍 汽车 单片机 车载 网络技术 MCS51 介绍
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5892958.html