1、第1章 汽车电子控制基础 1.1 汽车电子控制技术的发展历程汽车电子控制技术的发展历程1.2 汽车电子控制单元汽车电子控制单元1.1 汽车电子控制技术的发展历程汽车电子控制技术的发展历程汽车电子控制技术的发展历程如下:20世纪中期,微电子技术的迅猛发展给汽车工业的发展带来了蓬勃的生机,可以说汽车电子控制技术的发展是由电子学技术的发展带动起来的。20世纪50年代到70年代末汽车业主要是发展独立的零部件,即利用电子装置改善部分机械部件的性能。1948年晶体管问世;1955年,晶体管收音机开始在汽车上使用;1960年,硅二极管整流式交流发电机取代了直流发电机;1963年,美国公司采用IC调节器,并在
2、汽车上安装晶体管电压调节器和晶体管点火装置,且逐步实现集成化;1970年,变速器的电子控制装置在汽车上投入使用。20世纪70年代末到80年代中期主要是发展一些独立系统。这一时期,汽车电子控制技术开始形成,且大规模集成电路得到广泛应用。1973年,美国通用汽车公司采用IC点火装置并逐渐普及;1976年,美国克莱斯勒公司首先研制出由模拟计算机对发动机点火时刻进行控制的电子点火系统;1977年,美国通用公司开始采用数字式点火时刻控制系统;1980年,使用卡尔曼空气流量计的单点喷射式电子控制燃油喷射装置被开发出来,之后电喷技术逐渐成熟,并开始大规模使用。20世纪80年代中期到90年代末主要是开发各种车
3、辆整体的电子控制系统,以微处理器为核心的微机控制系统在汽车上开始大规模使用,其技术逐渐成熟完善,并向智能化发展,汽车进入电子化的时代。2000年以后,汽车电子控制系统进入智能化和网络化时代。汽车产品大量采用人工智能技术,并利用网络技术进行信息的传递与交换,从而使得汽车更加自动化、智能化。随着汽车电子控制技术的飞速发展,汽车电子设备的成本在汽车总成本中占的比重也越来越大。汽车电子控制系统的具体应用见表1-1。电子技术在汽车发动机及整车上的广泛应用,使得汽车在各种工况下始终处于最佳的工作状态,各项性能指标都获得较大改善,例如燃油消耗降低、动力性能提高、排气污染减少,并大大提高汽车的工作可靠性、安全
4、性和乘员舒适性。电子技术可使汽车、道路、环境和乘员之间形成一个完整的系统网络,这是采用任何机械的办法都无法达到的。表 1-1 汽车电子控制系统的应用 系统类别 电 子 装 置 动力控制系统 电子点火系统,电子控制燃油喷射系统,废气再循环控制系统,电子控制强制怠速系统,排放控制等 安全与底盘电子系统 自动变速器,防滑差速器,动力转向,四轮转向,制动防抱死,驱动防滑,巡航控制,悬架控制,自动安全带,安全气囊,雷达防撞,倒车报警器,防盗系统等 车身电子系统 电动车窗,电动门锁,电动后视镜,电动天线,自动空调,座位调节系统等 信息与通信系统 电子声音复制,声控操作,音响,车内计算机,车载电话,交通控制
5、信息系统,电子仪表显示,局域网技术等 1.2 汽车电子控制单元汽车电子控制单元1.2.1 电控系统的组成电控系统的组成目前,汽油机的电控系统一般包括三大部分:信号传感装置、电子控制单元(ECU)和执行机构,如图1-1所示。图1-1 汽油机的电控系统结构图 若把汽车电子控制系统的工作过程比作人的活动,那么信号传感装置就相当于人的感知器官,感受外界的相关信息;电子控制单元(ECU)相当于人的大脑,接收信号传感装置收集到的各种信息,并在分析处理之后向执行机构发出控制命令;执行机构就相当于人的手足,做出具体的反应动作。显然,在整个系统中,电子控制单元(ECU)是核心部分,它具有一定的智力功能,是完成系
6、统工作、实现系统功能的关键。1.2.2 电子控制单元电子控制单元(ECU)的基本的基本功能功能汽车电控系统的控制装置称为电子控制单元(ECU),是一种电子综合控制装置。汽车电子控制单元的具体名称并不统一,不同的汽车生产厂家采用不同的名称,即使是同一生产厂家,由于生产年代不同、控制内容不同,其名称也可能不一样。如美国通用汽车公司称汽车电子控制单元为ECM(电子控制组件),而美国福特汽车公司起初称汽车电子控制单元为MCU(微处理机控制装置),后来又称之为EEC(发动机电子控制装置)。电子控制单元的中枢是微处理器。ECU按其内部储存的程序,对汽车电控系统各传感器输入的信号数据进行运算、处理、分析、判
7、断,然后输出控制指令,驱动有关执行器动作,从而达到快速、准确、自动地控制汽车的目的。其作用主要表现在以下几个方面:(1)接收传感器等其他装置输入的信息,并给传感器提供参考电压(2 V、5 V、9 V或12 V)。(2)处理、存储、计算和分析数据信息及故障信息。(3)根据输入的有关信息求出输出值(指令信号),并且将输出值与标准值对比,进行故障判断。(4)把弱信号(指令信号)变为强信号(控制信号)。(5)当电控系统出现故障时,输出故障信息。(6)实行学习控制(自我修正输出值)。现代发动机电控系统中,由于使用了ECU,信号处理的速度和存储信息的容量都大大提高,因此,可以实现多功能、高精度的集中控制。
8、ECU不仅可用来进行燃油喷射控制,同时还可用来进行点火控制、怠速控制、排放控制、进气控制、增压控制、故障自诊断、失效保护和后备系统启用等。1.2.3 电子控制单元电子控制单元(ECU)的基本构成的基本构成1.电源电路电源电路电源电路是ECU的一个必不可少的部分,其电路图如图1-2所示。图1-2(a)与(b)所示为未装步进电机的ECU电源电路图。ECU的电源有两路,一路来自点火开关控制的主继电器,它是ECU的主电源。打开点火开关后,主继电器触点闭合,电源送入ECU的内部处理电路,使ECU进入工作状态;关闭点火开关后,主继电器触点断开,ECU的工作电源被切断,从而停止工作。另一路电源直接来自蓄电池
9、,它是ECU记忆电路部分的电源。在点火开关关闭、发动机熄火后,该电路仍然保持蓄电池电压,使ECU的故障自诊断电路测得的故障码及其他有关数据可长期保存在ECU的存储器内,为故障检修提供依据。该电路称为ECU的备用电源电路。图1-2(c)所示为装有步进电机的ECU电源电路。图中,主继电器由微机控制,以便在点火开关断开时,ECU能继续接通主继电器约2 s的时间,以使步进电机回到初始位置,这样就可以保证步进电机有一个固定的初始位置。图1-2 电源电路图 2输入电路输入电路输入电路的作用是实现外部传感器与微处理器之间的信息传递,即对传感器输入的信号进行预处理,使输入信号变成微处理器可以接收的信号。传感器
10、输入的信号一般有两类:模拟信号和数字信号,需要分别由相应的电路对它们进行处理。1)模拟量输入通道空气流量传感器、水温传感器、进气温度传感器、线性输出式节气门位置传感器等向ECU提供的信号是模拟信号(幅值随时间连续变化的信号),它们经过放大、滤波、A/D转换等处理后才能被微处理器所接收。模拟量输入通道的任务是把传感器输出的模拟量转换成数字量,并输入微处理器,它的一般组成框图如图1-3所示,主要由信号处理装置、多路选择开关、采样保持器和A/D转换器等组成。图1-3 模拟量输入通道的组成框图 信号处理装置包括标度变换、电平变换和信号滤波等。传感器测得的物理量经标度变换变成电压信号,但其值很小,通常为
11、0 mV40 mV,而A/D转换器所能处理的电压为5 V、10 V、5 V等,故电压信号必须进行电平转换再传输给A/D转换器。电平转换的任务是使传感器输出的电压满量程和A/D转换器的电压满量程相匹配,这样可提高模拟信号测量系统的精度。当多路模拟量输入时,不必为每个模拟量输入都匹配一个A/D转换器,而是可让它们共用一个A/D转换器。这时,输入通道中要增加一个多路选择开关,以使得每一路模拟量输入可轮流与A/D转换器接通,经A/D转换后再送入微处理器。A/D转换需要一定的时间,所以对随时间变化较快的模拟信号来说就会产生转换误差。解决这个问题的方法就是在A/D转换器前加采样保持器,从而可以以较小的采样
12、时间对快速变化的信号进行采样。采样后保持电压,并对电压进行A/D转换。当多路模拟量输入时,不必为每个模拟量输入都匹配一个A/D转换器,而是可让它们共用一个A/D转换器。这时,输入通道中要增加一个多路选择开关,以使得每一路模拟量输入可轮流与A/D转换器接通,经A/D转换后再送入微处理器。A/D转换需要一定的时间,所以对随时间变化较快的模拟信号来说就会产生转换误差。解决这个问题的方法就是在A/D转换器前加采样保持器,从而可以以较小的采样时间对快速变化的信号进行采样。采样后保持电压,并对电压进行A/D转换。2)数字量输入通道在汽车电控系统中,传感器也会采集数字信号,比如来自转速传感器的转速信号与上止
13、点参考信号等。它们都是脉冲信号,经过放大、整形之后可直接通过I/O接口送入微处理器。例如,磁感应式转速传感器的输出信号随转速变化而变化,所以在发动机转速很低时,电压信号就会很弱,这就需要将信号放大,并且要变成完整的矩形波。因此,要设置放大电路和脉冲信号整形电路。另外,数字量输入通道要解决电平转换和抗干扰等问题。微处理器只能接收TTL电平,所以送入的数字量只有转换成TTL电平才能传送给计算机。为了使计算机获得正确的信息,必须将外电路中的干扰与计算机相隔离。图1-4所示即为常用的电平转换及光电隔离电路。图1-4 电平转换及光电隔离电路 3微处理器微处理器微处理器是汽车电子控制单元的中枢。它的功能是
14、把传感器送来的各种信号进行运算处理,并把处理结果(如燃油喷射指令信号、点火指令信号等)传送至输出电路,从而控制执行器的工作。微处理器主要由中央处理器(CPU)、存储器(RAM/ROM)、输入/输出(I/O)接口和总线等组成。1)中央处理器(CPU)中央处理器是微处理器的核心部件。它的功能是执行程序,完成数据处理任务,并对存储器和I/O接口发出指令。CPU由运算器和控制器组成。运算器的作用是对信息进行加工处理,主要是完成各种算术运算、逻辑运算及移位操作等。控制器是CPU的指挥中心,它的功能是按照人们预先设定的操作步骤,控制运算单元、输入/输出接口以及存储器等部件步调一致地自动工作。RAM的主要作
15、用是存储微处理器工作时的可变数据,如各种输入、输出数据和计算过程中产生的中间数据等,并且可以根据需要随时调出或改变(改写)其中的数据。因为RAM的作用是暂时存储信息,所以当切断电源时,所有存入RAM的数据会全部消失。为了能较长期地保存某些数据,如故障码、空燃比学习修正值等,并防止点火开关关断时因电源被切断而造成数据丢失,RAM一般都通过专用的后备电路与蓄电池直接连接,这样可以使它不受点火开关的控制。只有当专用电源后备电路断开或蓄电池上的电源线被拔掉时,存入RAM的数据才会消失。3)I/O接口I/O接口是CPU与输入装置(传感器)、输出装置(执行器)进行信息交换的通道。输入、输出装置一般都要通过
16、I/O接口才能与CPU相连。4)总线总线是传递信息的公共通道。在微处理器中,中央处理器、存储器与I/O接口是通过总线连接起来的,它们之间的信息交换均要通过总线才能进行。本书第2章将重点介绍Intel公司生产的MCS-51系列单片机,它是一款8位微处理器。4输出电路输出电路输出电路是微处理器与执行器之间建立联系的一个装置。它的功能是将微处理器发出的指令信号转变成控制信号,以驱动执行器工作。执行机构需要的控制信号既有模拟量,又有数字量,因而输出通道需分为模拟量输出通道和数字量输出通道。1)模拟量输出通道模拟量输出通道的任务是把计算机的离散数字量输出变成连续的模拟量输出,以控制执行机构工作,其组成框
17、图如图1-5所示。计算机控制系统是按照采样周期工作的,在整个采样周期内计算机输出的控制信号不能中断,以保持连续控制,故模拟量输出通道除了D/A转换器外,还必须有保持器,通常采用零阶保持器。零阶保持器把前一时刻的采样值恒定不变地保持到下一个采样时刻。当下一个采样时刻到来时,又转换成新的采样值继续保持。图1-5(a)所示为一个通道使用一个D/A转换器,所以转换速度快,工作可靠,但成本高。图1-5(b)所示为多个通道共用一个D/A转换器,各通道由多路开关分时切换,故其转换速度低,可靠性差,适用于通道数量多且转换速度要求不高的场合。图1-5 模拟量输出通道的组成框图 2)数字量输出通道数字量输出通道的
18、任务是将微控制器的I/O接口输出的数字量转换成执行机构(如继电器、电磁阀、步进电机等)需要的信号。数字量输出通道有如下三种形式:(1)由微控制器的I/O口直接控制执行机构;(2)通过半导体开关管控制执行机构;(3)通过继电器控制执行机构。例如,图1-6所示的喷油器的控制电路,由于微处理器输出的指令信号是低电压、小电流的数字信号,不能直接驱动执行器工作,所以需要输出电路将该信号转换成可以驱动执行器工作的控制信号。该电路中,微处理器的输出信号可控制晶体管导通或截止,从而为喷油器提供具有一定宽度的脉冲驱动信号。图1-6 喷油器的控制电路 图 1-7 所示为电磁阀的常用控制电路。当微控制器通过接口输出
19、高电平时,光电耦合器 G 输出低电平,使 V1截止、V2导通,从而有电流流过电磁阀的线圈 J;当微控制器输出低电平时,光耦 G 输出高电平,V1导通,V2截止,J 被关断,在关断 J 的瞬间,存储在 J 中的能量通过 J 与 VD构成的回路变成热能而消耗掉。图中,晶体管 V1、V2实现功率放大;并联在 J 两端的二极管 VD用来释放线圈断电时产生的反向电压,这种冲击电压对线路的干扰由光电耦合器 G进行隔离,以防止其干扰微控制器正常工作。图1-7 电磁阀的控制电路 图1-8所示为三相步进电机的控制电路图。从接口芯片8355A的A口传送出方向信号和脉冲信号,输出的脉冲信号经过光电隔离电路进入环形分
20、配器。每输入一个脉冲信号,环形分配器就改变一次输出状态,从而依次接通步进电机的各相绕组,使电机运转。在图中,脉冲信号还会被送入一个加法计数器的输入端,进行位置累加计数,其结果通过8355A的B口输入8355A,用于位置监视和步进电机的加减速控制。图1-8 三相步进电机的控制电路图 第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
21、单单片片机机概概述述2.1.1 单片机的含义单片机的含义 单片机(Single Chip Micro Computer)也称为微控制器MCU(Micro Controller Unit)。它是采用超大规模集成电路技术把中央处理器(CPU)、一定容量的存储器(RAM/ROM等)、多种输入/输出(I/O)接口和中断系统、定时计数器等功能电路(可能还包括显示驱动电路、脉宽调制电路、A/D转换器等电路)集成到一块硅片上而构成的一个小而完善的计算机处理系统。简单地说,一个单片机就相当于一个微型的计算机。与计算机相比,单片机只缺少了I/O设备。单片机具有功能强、体积小、成本低、功耗小、配置灵活等特点。以单
22、片机为核心构成的控制系统,成本低廉且能够适应各种现场环境,具有实时、快速的外部响应,因而被广泛应用在工业控制、智能化仪器仪表、通信、家电、汽车等领域中。事实上,单片机是世界上数量最多的计算机。现代人类生活中,几乎所用的每件电子和机械产品中都会集成有单片机。手机、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中会有12部单片机;汽车上一般会配备40多部单片机;复杂的工业控制系统上甚至可能会有数百台单片机同时工作。2.1.2 单片机的产品分类单片机的产品分类根据应用范围的不同,单片机可分为通用型单片机和专用型单片机两种。1.通用型单片机通用型单片机通用型单片机是由单片机厂家生产的、供广大用户选择使
23、用的、具有基本功能的芯片,其性能全面、适应性强、能够满足多种控制的需要。但使用时用户必须进行二次开发设计,即根据需要以通用单片机为核心配以其他外围电路、芯片,从而构成控制系统,同时还需要编写控制程序。目前,世界上通用型单片机芯片的主要生产厂家有美国Intel公司、Motorola公司、荷兰Philips公司、德国Siemens公司、日本Toshiba公司、韩国的Samsung公司等。其中,Intel公司的单片机最具有代表性,应用也最广。自1976年起,Intel公司相继开发了MCS-48、MCS-51、MCS-96三大系列产品。此三大系列产品是我国目前的主流系列。在Intel公司对MCS-51
24、系列单片机实行技术开放政策之后,许多公司,如Philips、Siemens、Atmel、华邦、LG等都以MCS-51中的8051为基核推出了许多各具特色且具有优异性能的单片机。以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。Intel公司MCS-51系列单片机中的8051是最基础的单片机型号。2.专用型单片机专用型单片机专用型单片机是专门针对某一类产品甚至是某一个产品而设计制造的单片机。此类型的单片机即不需要进行二次设计,也不用进行功能开发,一般由厂家与芯片制造商合作生产设计。例如全自动洗衣机、来电显示电话上的单片机都是专用型单片机。专用型单片机通用性差,但由于是专门针对某一
25、控制系统设计的,因此其结构紧凑、资源优化、成本低,在其应用领域具有明显的综合优势。2.1.3 单片机在汽车电子控制系统中的应用单片机在汽车电子控制系统中的应用在现代的汽车中,电子设备比比皆是,均已涉及汽车的各主要部件(见表1-1)。其控制装置中的单片机既有功能强大的16位机或32位机,也有低性能的8位机。例如,现代汽车发动机的功能越来越完善,其控制系统也越来越复杂。控制系统需要不断地采集各个传感器的信息,并按照预定的程序进行实时计算,所以对单片机的运算速度、数据字长、与外部设备的接口等方面不断提出新的要求。目前,发动机控制系统内单片机的总线频率已经提高到几十兆赫,机型多为16位机或32位机。M
26、otorola公司生产的MC68HC912DG128A单片机就被德尔福等汽车电子企业选用在自己的电控单元的产品中。再如,车身电子系统大量采用电子技术,其目标是提高驾驶舒适程度并为驾驶员提供车况信息。如空调系统、座椅调节系统、电动车窗、电动后视镜等,这些应用系统通常以较低的速率进行数据传输,但要求有大电流驱动模块来驱动电动机和执行机构。由于控制对象的数目众多,必须考虑成本,因而廉价的8位控制器就成了首选。另外,随着汽车上电子控制单元的增多,为节省导线、易于布线以及在各控制单元之间快速地传输信息,网络技术便成为了有效的手段。2.2 MCS-51单片机的基本结构单片机的基本结构2.2.1 MCS-5
27、1单片机的性能介绍单片机的性能介绍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和4 K字节的EPROM,而8031无片内ROM。(4)2个可编程的16位定时/计数器T0、T1,用于对外部脉冲进行计数
28、,也可用来实现定时操作。(5)4个8位的并行I/O口P0、P1、P2、P3,可用来实现数据的并行输入与输出。(6)1个全双工异步串行接口,可用来实现单片机与其他设备之间的串行数据通信。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。(7)5个中断源,包括3个内部中断与2个外部中断,可通过编程将其设置为两个优先级别。(8)内部时钟电路,用于产生CPU正常工作所需的时钟信号。其中,石英晶体振荡器和微调电容需外接。图2-1 MCS-51单片机的内部基本结构 2.2.2 MCS-51单片机的存储器单片机的存储器1.存储器概述存储器概述存储器是计算机中不可缺少的重要部件,用于
29、储存二进制信息。下面介绍一些有关存储器的基本概念。(1)位:信息的基本单位是位(bit或b),表示一个二进制信息“1”或“0”。(2)字节:在微型机中信息大多是以字节(Byte或B)形式存放的,一个字节由8个位组成(1 Byte=8 bit),通常称作一个存储单元。(3)存储容量:存储器芯片的存储容量是指一片芯片所能存储的信息位数,例如8 K8位的芯片,其存储容量为810248位=65536位信息。(4)地址:地址表示存储单元所处的物理空间的位置,用一组二进制代码来表示。地址相当于存储单元的“单元编号”。CPU可以通过地址码访问某一存储单元,一个存储单元对应一个地址码。例如8051单片机有16
30、位地址线,能访问的外部存储器的最大地址空间为64 K(65 536)字节,对应的16位地址码为0000HFFFFH。(5)存取周期:是指存储器存放或取出一次数据所需的时间。存储容量和存取周期是存储器的两项重要性能指标。2.半导体存储器的分类半导体存储器的分类半导体存储器按读、写功能可以分为随机读/写存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)。RAM可以进行多次信息写入和读出,每次写入后,原来的信息将被新写入的信息所取代。另外,RAM在断电后再通电时,原存的信息会全部丢失,所以它主要用来存放临时数据。ROM的信息一旦写入后,便不
31、能随机修改。在使用ROM时,只能读出信息,而不能写入,且在掉电后ROM中的信息仍然保留,所以它主要用来存放固定不变的程序和数据。ROM按生产工艺又可以分为以下几种:(1)掩膜ROM:其存储的信息在制造过程中采用一道掩膜工艺生成,一旦出厂,信息就不可改变。(2)可编程只读存储器 PROM:其存储的信息可由用户通过特殊手段一次性写入,但只能写入一次。(3)可擦除只读存储器:用户可以多次擦除其存储的信息,并可用专用的编程器重新写入新的信息。可擦除只读存储器又可分为紫外线擦除的EPROM、电擦除的EEPROM和Flash ROM。3.8051的内部数据存储器的内部数据存储器8051的内部RAM有256
32、个单元,通常在空间上分为两个区:低128个单元(地址为00H7FH)的内部数据RAM块和高128个单元(地址为80H0FFH)的专用寄存器SFR块,见图2-2。图2-2 8051内部的RAM配置(1)工作寄存器区(00H1FH)。工作寄存器区也称为通用寄存器,该区域共有4组寄存器,每组由8个寄存单元组成,各组均以R0R7作寄存器编号。在任一时刻,CPU只能使用其中的一组通用寄存器,称为当前通用寄存器组,具体使用哪组可由程序状态寄存器PSW中RS1、RS0位决定,见表2-1。通用寄存器为CPU提供了就近存取数据的便利,提高了工作速度,也为编程提供了方便。表 2-1 工作寄存器组(区)的选择 RS
33、1 RS0 寄存器组 R0R7 地址 0 0 第 0 组 00H07H 0 1 第 1 组 08H0FH 1 0 第 2 组 10H17H 1 1 第 3 组 18H1FH (2)位寻址区(20H2FH)。内部RAM的20H2FH地址段,共16个单元(计168=128位)为位寻址区,位地址为00H7FH,见表2-2。既可将位寻址区作为一般的RAM区进行字节操作,也可对单元的每一位进行位操作。表 2-2 位寻址区位地址分配表 单元地址 MSB 位地址 LSB 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2EH 77H 76H 75H 74H 73H 72H 71H 7
34、0H 2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H 2CH 67H 66H 65H 64H 63H 62H 61H 60H 2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H 2AH 57H 56H 55H 54H 53H 52H 51H 50H 29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H 28H 47H 46H 45H 44H 43H 42H 41H 40H 27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H 26H 37H 36H 35H 34H 33H 32H 31H 30H 25H 2FH 2
35、EH 2DH 2CH 2BH 2AH 29H 28H 24H 27H 26H 25H 24H 23H 22H 21H 20H 23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H 22H 17H 16H 15H 14H 13H 12H 11H 10H 21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H 20H 07H 06H 05H 04H 03H 02H 01H 00H (3)用户RAM区(30H7FH)。单元地址为30H7FH的80个单元为用户RAM区,在一般应用中把堆栈设置在该区域中。(4)专用寄存器区(80H0FFH)。内部RAM的高128单元中分
36、散有21个专用寄存器。表2-3为21个专用寄存器一览表。表 2-3 专用寄存器表 寄存器名称 符号 MSB 位地址/位名称 LSB 地址 复位后初值*B 寄存器 B F7H F6H F5H F4H F3H F2H F1H F0H F0H 00H*累加器 A E7H E6H E5H E4H E3H E2H E1H E0H E0H 00H D7H D6H D5H D4H D3H D2H D1H D0H*程序状态字寄存器 PSW CY AC F0 RS1 RS0 OV P D0H 00H BCH BBH BAH B9H B8H*中断优先级寄存器 IP PS PT1 PX1 PT0 PX0 B8H 0
37、0000B B7H B6H B5H B4H B3H B2H B1H B0H*P3口数据寄存器 P3 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 B0H FFH AFH ACH ABH AAH A9H A8H*中断允许寄存器 IE EA ES ET1 EX1 ET0 EX0 A8H 000000B A7H A6H A5H A4H A3H A2H A1H A0H*P2口数据寄存器 P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A0H FFH 串口缓冲器 SBUF 99H 不定 9FH 9EH 9DH 9CH 9BH 9AH
38、 99H 98H*串口控制寄存器 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H 00H 97H 96H 95H 94H 93H 92H 91H 90H*P1口数据寄存器 P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 90H FFH T1计数器高 8 位 TH1 8DH 00H T0计数器高 8 位 TH0 8CH 00H T1计数器低 8 位 TL1 8BH 00H T0计数器低 8 位 TL0 8AH 00H 定时方式寄存器 TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H 00H TCON
39、8FH 8EH 8DH 8CH 8BH 8AH 89H 88H*定时器控制寄存器 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H 00H 电源控制寄存器 PCON SMOD GF1 GF0 PD IDL 87H 00H 数据指针高 8 位 DPH 83H 00H 数据指针低 8 位 DPL 82H 00H 堆栈指针 SP 81H 07H 87H 86H 85H 84H 83H 82H 81H 80H*P0口数据寄存器 P0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 80H FFH 下面介绍几个常用的专用寄存器。累加器A(Accumu
40、lator)。累加器是最常用的一个8位专用寄存器,是运算器的重要组成部分,大多数运算操作都有它的参与。其既可存放操作数,又可存放运算结果。寄存器B。寄存器B是8位寄存器,主要用于乘、除运算,同时也可作为一般的寄存器使用。程序状态字PSW(Program Status Word)。程序状态字是8位寄存器,用于指示程序的运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令来设定。PSW中各标志位的名称及定义如下:位 序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 位名称 CY AC F0 RS1 RS0 OV P
41、CY进(借)位标志位。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清0。在位操作中,CY作为位累加器使用。AC辅助进(借)位标志位。在加减运算中,当低四位向高四位产生进位或借位时,此标志位由硬件自动置1,否则清0。F0用户标志位。由用户通过软件设定,用以控制程序转向。RS1、RS0寄存器组选择位。用于设定当前通用寄存器组的组号,具体组号见表2-1。OV溢出标志位。在有符号数(补码数)的加减运算中,若OV=1,表示加减运算的结果超出了累加器A的八位有符号数的表示范围(-128+127),产生溢出,因此运算结果是错误的。若OV=0,表示结果未超出累加器A的符号数的表示
42、范围,运算结果正确。乘法运算时,若OV=1,表示结果大于255,结果分别存在累加器A、寄存器B中。若OV=0,表示结果未超出255,结果只存在累加器A中。除法运算时,若OV=1,表示除数为0。OV=0,表示除数不为0。P奇偶标志位,表示累加器A中1的个数的奇偶性。在每个指令周期由硬件根据累加器A的内容的奇偶性对P自动置位或复位。P=1,表示累加器A中的内容有奇数个1。数据指针DPTR(Data Pointer)。数据指针DPTR是唯一的一个供用户使用的16位寄存器,它由两个8位寄存器DPH与DPL组成。DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64 KB。堆栈指针SP(St
43、ack Pointer)。程序运行时需要一个连续的RAM块作为数据缓冲区,以暂时存放程序运行过程中的一些重要数据,此RAM块称为堆栈。堆栈的主要功用是保护断点和保护现场。因为计算机无论执行的是中断程序还是子程序,最终都要返回主程序。在转去执行中断程序或子程序时,要把主程序的断点保护起来,以便能正确的返回。同时,也要将中断程序或子程序可能要用到的寄存器中的内容保护起来,即保护现场。堆栈指针SP用于指示栈顶单元地址,是一个8位寄存器。当系统复位后,SP的内容为07H。堆栈的最大特点是按“后进先出”的数据操作原则执行。MCS-51系列单片机的堆栈是向上生长型,即数据进栈时,SP的内容先自动加1后再向
44、栈区写入数据;数据出栈时,SP所指示的栈区数据先弹出,然后SP的内容再自动减1。4.8051的内部程序存储器的内部程序存储器在介绍8051的内部程序存储器前,先介绍一个重要的专用寄存器程序计数器PC。PC(Program Counter)为一个16位的计数器,其存储的内容为单片机将要执行的指令机器码所在的存储单元的地址。PC具有自动加1的功能,即CPU以PC的当前值为地址从ROM中读取一个字节指令后,PC自动加1,以指向下一个ROM单元,当CPU再次以PC的当前值为地址进行指令读取时,读到的就是下一个ROM单元的内容,这样就实现了程序的自动按顺序执行。由于PC是不可寻址的,因此用户无法对它直接
45、进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。复位后,PC=0000H。程序存储器主要用于存放程序及重要的数据。大多数51系列单片机的内部都配置有一定数量的程序存储器ROM,如8051芯片内有4 KB的掩膜ROM存储单元,AT89C51芯片内部配置了4 KB的FlashROM,它们的地址范围均为0000H0FFFH。内部程序存储器内有如下一些特殊单元,使用时要注意。0000H单元:系统复位后,PC=0000H,即单片机从0000H单元开始执行程序。如果主程序不是从0000H单元开始存放,就必须在0000H0002H单元中存放一条无条件转移指令,以便转去执行指定的应
46、用程序。0003H单元:外部中断0的中断程序入口地址。000BH单元:定时器/计数器0的中断程序入口地址。0013H单元:外部中断1的中断程序入口地址。001BH单元:定时器/计数器1的中断程序入口地址。0023H单元:串行中断程序入口地址。在中断程序入口地址单元中应存放相应的中断服务程序,但8个单元通常难以存下一个完整的中断服务程序,因此往往需要在中断程序入口地址单元中存放一条无条件转移指令,以便转到中断服务程序真正的入口地址。对程序存储器的操作作以下说明:(1)程序指令的自主操作。CPU按照PC指针自动地从程序存储器中取出指令。(2)用户使用指令对程序存储器中的常数表格进行读操作。此操作可
47、用MOVC指令实现。图2-3 MCS-51单片机的引脚图5.8051的外部存储器的外部存储器因8051的内部程序计数器PC为16位计数器,同时8051共有16根地址线引脚,因此在8051单片机的外部可以分别扩展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分别用作晶体振荡电路的反相器输入端和输
48、出端。MCS-51单片机的时钟电路见图2-4。图2-4(a)中采用了芯片内部的一个高增益反向放大器、芯片外连的晶体振荡器和微调电容构成一个稳定的自激振荡器,这就是单片机的内部时钟电路。时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。晶振的频率fosc通常在6 MHz12 MHz之间选择。1个机器周期=12个振荡周期=12/fosc。图2-4 MCS-51单片机的时钟电路 3.并行输入/输出引脚 P0.0P0.7(3932脚):8位漏极开路的三态双向输入/输出口。P1.0P1.7(18 脚):8 位带有内部上拉电阻的准双向输入/输出口。P2.0P2.7(2128 脚):8 位带有内
49、部上拉电阻的准双向输入/输出口。P3.0P3.7(1017 脚):8 位带有内部上拉电阻的准双向输入/输出口。4.控制类引脚控制类引脚(1)RST/VPD(9脚)。RST为复位信号输入端。复位是单片机系统的初始化操作,在该引脚上输入持续2个机器周期以上的高电平时,单片机系统复位。系统复位后对专用寄存器的影响情况见表2-3。同时,复位操作还对单片机的个别引脚信号有影响,如把ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。复位操作对内部RAM不产生影响。复位电路见图2-5。图2-5 MCS-51单片机的复位电路 VPD为内部 RAM 的备用电源输入端。当主电源 VCC发生断电或电压降
50、到一定值时,可通过 VPD为单片机的内部 RAM 提供电源,以保护片内 RAM 中的信息不丢失,使其上电后能继续正常运行。(2)EA/VPP(31 脚)。EA为访问外部程序存储器的控制信号输入线。当EA为低电平时,CPU 只能访问外部程序存储器;当EA为高电平时,CPU 即可访问内部程序存储器(当 8051 单片机的 PC 值小于等于0FFFH时),也可访问外部程序存储器(当PC值大于0FFFH时)。VPP为 8751 EPROM 的 21 V 编程电源输入端。(3)PSEN(29 脚)。PSEN是外部程序存储器的读选通输出信号线,低电平有效。在读外部ROM时PSEN输出负脉冲作为外部ROM的
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。