车用单片机原理 课件全套 第1-9章 汽车电子技术与车用单片机概述-KeilμVision与Proteus ISIS_第1页
车用单片机原理 课件全套 第1-9章 汽车电子技术与车用单片机概述-KeilμVision与Proteus ISIS_第2页
车用单片机原理 课件全套 第1-9章 汽车电子技术与车用单片机概述-KeilμVision与Proteus ISIS_第3页
车用单片机原理 课件全套 第1-9章 汽车电子技术与车用单片机概述-KeilμVision与Proteus ISIS_第4页
车用单片机原理 课件全套 第1-9章 汽车电子技术与车用单片机概述-KeilμVision与Proteus ISIS_第5页
已阅读5页,还剩303页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

车用单片机原理(含实验与实训)12汽车电子技术的发展单片机概述单击此处添加标题单击此处添加标题01汽车电子技术的发展一、汽车电子技术的发展史随着电子、电气以及网联技术的迅猛发展,传统的机械结构与电子信息技术在不断融合,汽车产品的电子化、电气化和智能化水平也在逐步提高。目前汽车中的电子装置设备,无论是数量还是成本都在不断攀升,特别是随着新能源汽车的突飞猛进,汽车除底盘和车身外,大部分机械结构,已被电子电气化设备替代,汽车电子化的程度已成为衡量汽车技术水平的重要标志之一。一、汽车电子技术的发展史

汽车电子技术的发展历程,大体可以分为以下三个阶段:第一阶段,从20世纪中期到70年代中期,是汽车电子控制技术初步发展阶段。第二阶段,从20世纪70年代中期到90年代中期,随着电子集成电路的快速发展,微型控制器开始在汽车上大规模应用,是汽车电子控制技术迅猛发展的阶段。第三阶段,从20世纪90年代中期开始到现在,是汽车电子控制技术向智能化发展的阶段。二、汽车电子系统在整车中的作用汽车电子产业是汽车工业与电子信息产业的结合,目前正处于高速发展阶段。汽车电子产品在整车制造中,所占的比例越来越高,汽车电子信息技术不仅推动了汽车工业的发展,同时也极大地促进了电子信息、计算机等产业的发展。现代汽车电子技术在改善汽车动力性、经济性、安全性、行驶稳定性和乘坐舒适性等方面发挥着不可替代的作用。总体来说,汽车电子技术在汽车中的应用,大体可分为以下五个方面:(一)动力传动电子控制系统(二)底盘电子控制系统(三)车身电子控制系统(四)车载智能信息系统(五)车载故障自诊断系统三、汽车电子行业发展趋势目前汽车电子信息产业已经迎来黄金发展期。汽车电动化、智能化趋势加速,电子化程度持续提升,汽车电子信息有望接力智能手机成为电子行业发展的新动力。二、汽车电子技术的发展史

随着电子工业的飞速发展,汽车电子在汽车领域的应用日益深入,汽车电子占汽车总成本的比重日益加大,尤其中高端汽车与新能源汽车中汽车电子附加值更高。目前,国内紧凑型乘用车中汽车电子占成本的比重约为15%,中高端乘用车中汽车电子占成本的比重约为28%,而新能源汽车电子占成本的比重高达47%-65%,预计未来高端配置逐步向低端车渗透将是趋势,将带来汽车电子在乘用车成本中的比重持续提升,汽车行业仍处于“电子化”趋势中。02单片机概述一、什么是单片机一片半导体硅片集成:中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。具有微型计算机属性,因而被称为单片微型计算机,简称单片机。一、什么是单片机单片机的发展大致分为4个阶段。

第一阶段(1974年~1976年):单片机初级阶段。因工艺限制,双片形式且功能较简单。1974年12月,仙童公司推出了8位的F8单片机,实际只包括了8位CPU、64BRAM和2个并行口。

第二阶段(1976年~1978年):低性能单片机阶段。1976年Intel的MCS-48单片机(8位)极大地促进了单片机变革和发展,1977年GI公司推出PIC1650,但这个阶段仍处于低性能阶段。二、单片机的产生与发展

第三阶段(1978年~1983年):高性能单片机阶段。1978年,Zilog公司推出Z8单片机,1980年,Intel公司在MCS-48系列基础上推出MCS-51系列,Mortorola推出6801单片机。使单片机性能及应用跃上新台阶。此后,各公司8位单片机迅速发展。推出的单片机普遍带有串行I/O口、多级中断系统、16位定时器/计数器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。由于这类单片机性/价比高,得到广泛应用,是目前应用数量最多的单片机。二、单片机的产生与发展第四阶段(1983年~现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段。

16位典型产品Intel公司的MCS-96系列单片机。而32位单片机除具有更高集成度外,其数据处理速度比16位单片机提高许多,性能比8位、16位单片机更加优越。

20世纪90年代单片机大发展时期,Mortorola、Intel、ATMEL、德州仪器(TI)、三菱、日立、飞利浦、LG等公司开发一大批性能优越的单片机,极大推动单片机应用。近年,不少新型高集成度的单片机涌现。目前,除8位单片机得到广泛应用外,16位单片机、32位单片机也得到广大用户青睐。三、常见单片机的类型和特点

按用途可分为通用型和专用型两大类。通用型:内部可开发资源(如存储器、I/O等各种外围功能部件等)可全部提供给用户。专用型专门针对某些产品的特定用途而制作的。根据需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及外围设备,并编写相应软件来满足各种不同需要的测控系统。通常所说和本书介绍的是指通用型单片机。三、常见单片机的类型和特点例如,各种家用电器中的控制器等。由于特定用途,单片机芯片制造商常与产品厂家合作,设计和生产“专用”的单片机。在设计中,已对“专用”单片机的系统结构最简化、可靠性和成本的最佳化等做了全面综合考虑,所以“专用”单片机具有十分明显的综合优势。无论“专用”单片机在用途上有多么“专”,其基本结构和工作原理都是以通用单片机为基础。三、常见单片机的类型和特点单片机特点体积小、重量轻。电源单一、功耗低。功能强、价格低。运行速度快、抗干扰能力强、可靠性高。可以嵌入到电子产品中----嵌入式应用系统。四、单片机的发展趋势低功耗化:CMOS化,功耗小,配置有等待状态、睡眠状态、关闭状态等工作方式。消耗电流仅在µA或nA量级,适于电池供电的便携式、手持式的仪器仪表及其它消费类电子产品。外围电路内装化:随着集成电路技术的快速发展,单片机除了可以将中央处理器(CPU)、随机存取数据存储器(RAM)、只读程序存储器(ROM)、并行和串行通信接口、中断系统、定时电路、时钟电路等集成到一块芯片之外,还可以将传感器、输入接口处理电路,显示器件等都集成到单片机内部,一块单片机就等于一个具有高性能运算的计算机、单片机包含的单元电路越多,功能就越强大。低电压化:几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3~6V范围内工作。低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。单片机的发展趋势车用单片机原理(含实验与实训)21MCS-51单片机的总体结构MCS-51单片机的引脚功能单击此处添加标题单击此处添加标题43MCS-51单片机中央处理器MCS-51单片机存储器65MCS-51单片机并行I/O端口MCS-51单片机的时序7MCS-51单片机的辅助电路01MCS-51单片机的总体结构第一节MCS-51单片机的总体结构中央处理器CPU:8位,运算和控制功能内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。定时/计数器:两个16位的定时/计数器,实现定时或计数功能并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源。时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ。51系列单片机的内部结构框图如图2-1所示。第一节

MCS-51单片机的总体结构图2-1

8051单片机内部结构图02MCS-51单片机的引脚功能第二节

MCS-51单片机的引脚功能图2-251单片机的引脚信号

51单片机一般采用40引脚双列直插(DIP)封装,如图2-2所示。51单片机的引脚可以分为三类,分别是电源和时钟引脚、I/O引脚、控制引脚。第二节

MCS-51单片机的引脚功能双列直插式(DIP)51系列单片机芯片一般为40条引脚,其引脚说明如下:一、电源及时钟引脚功能

◆主电源引脚

Vcc(40脚):接+5V电源正端。

Vss(20脚):接+5V电源地端。

◆外接晶体引脚

XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,可构成片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。第二节

MCS-51单片机的引脚功能◆外接晶体引脚

XTAL2(18脚):接外部石英晶体的另一端。在片内,它是片内振荡器反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚为外部振荡信号的输入端;对于CHMOS单片机,该引脚悬空不接。第二节

MCS-51单片机的引脚功能二、控制引脚

◆ALE/PROG(30脚)

片外低8地址锁存有效信号输出端/编程脉冲输入端。单片机在访问片外程序存储器或者数据存储器期间,ALE引脚会输出负跳变信号,P0口作为低8位地址锁存在外部锁存器中,通过ALE引脚可以实现P0口的地址线和数据线分时复用;在不访问片外程序存储器或数据存储器期间,ALE端以时振荡时钟的6分频固定地输出,可用作对外时钟脉冲的输出;在对片内Flash进行编程时,该引脚可以用作输入编程脉冲。

第二节

MCS-51单片机的引脚功能二、控制引脚

◆PSEN(29脚)

外部程序存储器读选通输出端,低电平有效。当单片机需要从外部程序存储器读取程序时,每个机器周期该信号两次有效输出到外部程序存储器,外部储存器允许单片机读取其中的程序。在访问片外数据存储器期间,这两次信号将不出现。第二节

MCS-51单片机的引脚功能

第二节

MCS-51单片机的引脚功能

第二节

MCS-51单片机的引脚功能◆RST/VPD(9脚)

复位信号输入端和备用电源,高电平有效。当单片机开始工作时,此引脚加上超过两个机器周期的高电平,就可实现单片机的重置复位,使单片机回复到初始运行状态。在单片机正常工作时,此引脚是低电平。自动上电时,考虑到振荡器需要一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。第二节

MCS-51单片机的引脚功能二、并行I/O口引脚

◆输入/输出引脚

P0口(第39~32脚):单片机不外扩存储器与I/O口时,P0口可作为准双向8位输入/输出口,但需要外接上拉电阻。在单片机外扩存储器或I/O口时,P0口可以作为低8位地址线和8位双向数据线的分时复用端口,为双向8位输入/输出口。

P1口(第1~8脚):可以作为准双向8位I/O口使用,具有内部上拉电阻。

P2口(第21~28脚):可以作为准双向8位I/O口使用,内部具有上拉电阻;当单片机外扩存储器或I/O时,P2口作为高8位地址总线使用,与P0输出低8位地址组成16位地址。

P3口(第10~17脚):可以作为准双向8位I/O口使用,具有内部上拉电阻,各个引脚还有第二功能。P3口的第二功能见表2-1。第二节

MCS-51单片机的引脚功能

◆输入/输出引脚-P3口的第二功能端口引脚第二功能说明P3.0RXD串行数据接收端P3.1TXD串行数据发送端P3.2INT0外部中断0P3.3INT1外部中断1P3.4T0定时器/计数器0的外部输入引脚P3.5T1定时器/计数器1的外部输入引脚P3.6WR外部RAM写选通引脚P3.7RD外部RAM读选通引脚第二节

MCS-51单片机的引脚功能

注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故为双向三态I/O口。

为什么P0口要有高阻“悬浮”态?因为P0口作为数据总线用时,多个数据源都挂在数据总线上,当P0口不需要读写其他数据源时,需要与数据总线高阻“悬浮”隔离。

准双向I/O口则无高阻“悬浮”态。

另外,准双向口作通用I/O输入使用时,需先向该口先写入“1”。准双向口与双向口的差别。

至此,40只引脚已介绍,应熟记每一引脚功能,对应用系统硬件电路设计十分重要。03MCS-51单片机中央处理器CPU第三节MCS-51单片机中央处理器CPU一、运算器运算部件以算术逻辑单元ALU为核心,包括累加器ACC、寄存器B、暂存器、程序状态字PSW等许多部件。它能实现数据的算术逻辑运算、位变量处理和数据传输等操作。(一)算术逻辑单元ALU

算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进行逻辑“与”、“或”、“异或”、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。第三节MCS-51单片机中央处理器CPU(二)累加器ACC、寄存器B

累加器ACC(简称累加器A)为一个8位寄存器,它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的操作数多来自于ACC,运算结果也常送回ACC保存。寄存器B是为ALU进行乘/除法运算而设置的。若不作乘除运算时,B可作为通用寄存器使用。第三节MCS-51单片机中央处理器CPU

(三)程序状态字PSW

程序状态字PSW是一个8位的标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。其各位的定义如下:

进位标志位C(PSW.7):当CPU进行加减运算过程中,运算结果如果在最高位有进位(加法时)或有借位(减法时),则CY位置1,当运算结果没有进位或者借位时,CY位置0。第三节MCS-51单片机中央处理器CPU

辅助进位(或称半进位)标志位AC(PSW.6):在CPU进行加减法运算过程中,若低半字节的PSW.3位向高半字节的PSW.4位位有进(借)位,则AC由硬件置1,否则AC由硬件置0。

用户自定义标志位F0(PSW.5):用户可根据自己的需要对F0赋予一定的含义,通过软件置位或清零,并根据F0=1或0来决定程序的执行方式,或反映系统某一种工作状态。

奇偶标志位P(PSW.0):若累加器ACC中“1”的个数为奇数,则标志位P置为1;若累加器ACC中“1”的个数为奇数,则P置为0。在串行通信的数据传输中,通常会通过奇偶校验来检验数据传输的可靠性。第三节MCS-51单片机中央处理器CPU

溢出标志位OV(PSW.1):在做无符号的加法或减法时,当运算结果超出了累加器的数值范围(无符号数的范围为0~255),OV位置1,否则OV置0。进行无符号的加或减法时,OV的值与进位标志位CY的值相同;在做有符号数的加法时,当运算结果超出了累加器的数值范围(有符号数的范围为-128~+127)时,即次高位有进位或借位,OV被置1,否则OV被置0。

工作寄存器组选择位RS1、RS0(PSW.4、PSW.3):通过工作寄存器选择位的组合,可以从4个工作寄存器组中选择某一组用于单片机的运行工作中数据的临时保存。

第三节MCS-51单片机中央处理器CPU

工作寄存器组选择位RS1、RS0(PSW.4、PSW.3):通过工作寄存器选择位的组合,可以从4个工作寄存器组中选择某一组用于单片机的运行工作中数据的临时保存。

RS1RS0所选的4组寄存器000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)二、控制器

CPU中的控制器是负责协调指挥各单元的数据传输运作,使得单片机可依照指令的要求完成工作。(一)程序计数器PC

程序计数器PC为一个16位寄存器,不能访问,主要功能是用来指引CPU依其内含有的程序地址来提取相应的指令码,它总是存放着下一条将要执行指令的地址。CPU每提取完一个指令后,PC的值自动加1,如此CPU即可按照PC中的值,逐一提取并执行每一个指令。如果执行到跳转指令如GOTO指令或中断函数时,PC的值将会改变,使CPU能够执行相应子程序或中断函数。第三节MCS-51单片机中央处理器CPU(二)指令寄存器IR和指令译码器ID

指令寄存器IR是用来放置临时从存储器里面取得的指令。当执行一条指令时,首先把该指令从主存取到数据寄存器中,然后再传送至指令寄存器。当指令寄存器中的指令送至指令译码器ID时,ID对该指令中的操作码部分进行译码,把指令转换成所需的电平信号,然后在时序部件定时信号的作用下,产生执行该指令所需的操作控制信号。第三节MCS-51单片机中央处理器CPU

(三)堆栈指针SP

堆栈指针SP是在单片机片内数据存储区域,开辟一个连续的存储空间,用于暂时放置数据和地址,在中断系统中,通常用于保护现场和保存断点,具有先进后出,后进先出的特点。

(四)数据指针寄存器DPTR

8051单片机中内含一个16位的地址指针寄存器DPTR,可以对外部的数据存储器或者程序存储器进行间接寻址,数据指针寄存器DPTR也可以作为两个8位的寄存器(DPL和DPH),分别单独使用。第三节MCS-51单片机中央处理器CPU04MCS-51单片机存储器第四节MCS-51单片机存储器

51单片机的程序存储器可分为片内程序存储器和片外程序存储器,数据存储器也分为片内数据存储器和片外数据存储器。第四节MCS-51单片机存储器(一)片内数据存储器8051单片机的数据存储器分为片内RAM和片外RAM。

8051单片机片内数据存储器共有256B,其中低128字节为数据存储区,地址范围是00H-7FH,按照用于又分为:工作寄存器区、位寻址去、通用RAM区;高128字节是特殊功能寄存器区,地址范围是80H-FFH。8051单片机外部数据存储器共有64KB,地址范围是0000H-FFFFH。第四节MCS-51单片机存储器

8051单片机片内RAM有256B,根据需要分为低128字节RAM区和高128字节的特殊功能寄存器(SFR)区。

低128B(地址范围:00H~7FH)是真正的RAM存储器,按用途划分为通用工作寄存器区、位寻址区、用户RAM区。第四节MCS-51单片机存储器(1)通用工作寄存器区

该区共有4组通用寄存器组,地址范围为00H~1FH,每组有8个工作寄存器R0~R7,共计32个寄存器,用于存放操作数和中间结果等,一般称为通用寄存器。(2)位寻址区

位寻址区是数据存储器的一部分,地址范围为20H~2FH的单元,既可以像普通RAM一样按字节使用,还可以对RAM单元中的每一位进行位操作,因此把该区域称为位寻址区。(3)用户RAM区

用户RAM区的地址范围为30H~7FH,共80个字节的空间,是供用户使用和操作的RAM区。第四节MCS-51单片机存储器

堆栈是在片内RAM中开辟一连续的区域,一般设在2FH地址单元之后的用户RAM区中,用于保存临时数据。堆栈数据存取按“先进后出”或“后进先出”的原则。8051单片机的SP是8位寄存器,堆栈为“向上生长型”,即栈顶地址总是大于栈底地址的。堆栈从栈底地址单元开始,向高端地址延伸,如图2-6所示。

图2-6

堆栈工作示意图

堆栈栈顶的位置由专用的堆栈指针寄存器SP指出。当单片机执行压栈操作时,先执行SP加1的操作,然后再把数据压入堆栈;当数据再次从堆栈取出之后,SP的值自动减1。51单片机复位后SP的初值为07H,所以堆栈实际上是从08H开始存放数据的。用户必须重新给SP赋值以规定其栈底位置。第四节MCS-51单片机存储器堆栈主要是为子程序调用和中断操作而设。用于保护断点和现场。(1)保护断点。无论子程序调用还是中断服务子程序调用,最终都要返回主程序。应预先把主程序的断点在堆栈中保护起来,为程序正确返回做准备。(2)现场保护。执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容送入堆栈,保存起来,即“现场保护”。

两种操作:数据压入(PUSH)堆栈,数据弹出(POP)堆栈。数据压入堆栈,SP自动加1;数据弹出堆栈,SP自动减1。第四节MCS-51单片机存储器特殊功能寄存器(SFR)区

特殊功能寄存器(SFR,即SpecialFunctionRegisters)又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。用户在编程时可以设置参数,却不能随意移作它用。在51子系列单片机中,各专用寄存器(PC例外)与片内RAM统一编址,且作为直接寻址字节,可直接寻址。第四节MCS-51单片机存储器序号标识符名称字节地址位地址1ACC累加器E0HE0H~E7H2BB寄存器F0HF0H~F7H3PSW程序状态字D0HD0H~D7H4SP堆栈指针81H5DPTR数据指针(DPH,DPL)83H、82H6P0P0口80H80H~87H7P1P1口90H90H~97H8P2P2口A0HA0H~A7H9P3P3口B0HB0H~B7H10IP中断优先级控制寄存器B8HB8H~BFH11IE中断允许控制寄存器A8HA8H~AFH12TOMD定时器/计数器方式控制寄存器89H第四节MCS-51单片机存储器13TCON定时器/计数器控制寄存器88H88H~8FH14T2CON定时器/计数器2控制寄存器C8HC8H~CFH15TH0定时器/计数器0(高字节)8CH16TL0定时器/计数器0(低字节)8AH17TH1定时器/计数器1(高字节)8DH18TL1定时器/计数器1(低字节)8BH19TH2定时器/计数器2(高字节)CDH20TL2定时器/计数器2(低字节)CCH21RLDH定时器/计数器2重自动装载(高字节)CBH22RLDL定时器/计数器2重自动装载(低字节)CAH23SCON串行口控制寄存器98H98H~9FH24SBUF串行数据缓冲器99H25PCON电源控制及波特率选择寄存器97H第四节MCS-51单片机存储器51单片机C语言中的SFRsfr不是标准C语言的关键字,是Keil中用来定义专用寄存器字节地址的关键字,从而在单片机C51语言程序中可以直接访问这些专用寄存器。用法:sfr变量名=地址值例如:sfrP1=0x90;//专用寄存器P1的地址为90H,对应P1端口的8个I/O引脚/*BYTERegisters*/sfrP0=0x80;sfrP1=0x90;sfrP2=0xA0;sfrP3=0xB0;sfrPSW=0xD0;sfrACC=0xE0;sfrB=0xF0;sfrSP=0x81;sfrDPL=0x82;sfrDPH=0x83;sfrPCON=0x87;sfrTCON=0x88;sfrTMOD=0x89;sfrTL0=0x8A;sfrTL1=0x8B;sfrTH0=0x8C;sfrTH1=0x8D;sfrIE=0xA8;sfrIP=0xB8;sfrSCON=0x98;sfrSBUF=0x99;第四节MCS-51单片机存储器

二、程序存储器第四节MCS-51单片机存储器

51单片机的片内ROM中不只存放用户的应用程序,还将一部分空间划分出来,用于中断处理程序。在系统遇到中断时,会根据中断的类型,自动跳转到ROM中该中断处理程序处执行相应的中断处理服务程序。地址说明0000H~0002H单片机复位后的程序入口地址(占3个单元)0003H~000AH外部中断0的中断服务程序地址(占8个单元)000BH~0012H定时器0的中断服务程序地址(占8个单元)0013H~001AH外部中断1的中断服务程序地址(占8个单元)001BH~0022H定时器1(T1)的中断服务程序地址(占8个单元)0023H~002AH串行口的中断服务程序地址(占8个单元)

程序存储器中的0003H~002AH共40个单元被保留,用于5个中断源的中断服务程序的入口地址,用户不可修改。用户程序在程序存储器中的位置05MCS-51单片机并行I/O端口第五节MCS-51单片机并行I/O端口

(1)P0口用作系统的地址/数据总线用8051外扩存储器或I/O时,P0口作为系统复用的地址/数据总线用。此时,图2-9中的控制信号C为1,一、P0口的工作原理硬件自动使转接开关MUX打向上面,接通反相器输出,同时使“与门”处于开启状态。第五节MCS-51单片机并行I/O端口当输出的“地址/数据”信息为1时,“与门”输出为1,上方的场效应管导通,下方的场效应管截止,P0.n引脚输出为1;当输出的“地址/数据”信息为0时,上方的场效应管截止,下方的场效应管导通,P0.n引脚输出为0。可见P0.x引脚的输出状态随“地址/数据”状态的变化而变化。上方场效应管起到内部上拉电阻作用。一、P0口的工作原理第五节MCS-51单片机并行I/O端口

一、P0口的工作原理第五节MCS-51单片机并行I/O端口

由上分析,P0口具有高电平、低电平和高阻抗输入3种状态的端口,因此,P0口作为地址/数据总线使用时是一真正的双向端口。1.P0口的工作原理第五节MCS-51单片机并行I/O端口

第五节MCS-51单片机并行I/O端口P0口作为通用I/O输入口时,有两种读入方式:“读锁存器”和“读引脚”。当CPU发出“读锁存器”指令时,锁存器的状态由Q端经上方的三态缓冲器BUF1进入内部总线;当CPU发出“读引脚”指令时,锁存器的输出状态=1(即端为0),从而使下方场效应管截止,引脚状态经下方三态缓冲器BUF2进入内部总线。小结:(1)当P0口用作地址/数据总线口使用时,是一个真正的双向口,用作与外部扩展的存储器或I/O连接,输出低8位地址和输出/输入8位数据。(2)当P0口用作通用I/O口使用时,需要在片外接上拉电阻,此时端口不存在高阻抗的悬浮状态,因此是一个准双向口。如果单片机片外扩展了RAM和I/O接口芯片,P0口此时应作为复用的地址/数据总线口使用。如果没有外扩RAM和I/O接口芯片,此时即可作为通用I/O口使用。第五节MCS-51单片机并行I/O端口二、P1口的工作原理P1口只作为通用I/O口使用

P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,锁存器的输出端Q的状态经输入缓冲器BUF1进入内部总线;“读引脚”时,先向锁存器写1,使场效应管截止,P1.n引脚的电平经输入缓冲器BUF2进入内部总线。第五节MCS-51单片机并行I/O端口1.P1口工作原理

图2-10P1口某一位的位电路结构小结:

P1口由于有内部上拉电阻,没有高阻抗输入状态,故为准双向口。作为输出口时,不需要在片外接上拉电阻。

P1口“读引脚”输入时,必须先向锁存器P1写入1。第五节MCS-51单片机并行I/O端口三、P2口的工作原理P2口用作地址总线口,在内部控制信号作用下,MUX与“地址”接通。当“地址”线为0时,场效应管导通,P2口引脚输出0;当“地址”线为1时,场效应管截止,P2口引脚输出1。P2口用作通用I/O口,在内部控制信号作用下,MUX与锁存器的Q端接通。第五节MCS-51单片机并行I/O端口1.P2口的工作原理CPU输出1时,Q=1,场效应管截止,P2.n引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.n引脚输出0。输入时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,Q端信号经输入缓冲器BUF1进入内部总线;“读引脚”时,先向锁存器写1,使场效应管截止,P2.n引脚上的电平经输入缓冲器BUF2进入内部总线。

图2-11P2口某一位的位电路结构第五节MCS-51单片机并行I/O端口P2口小结:

作为地址输出线使用时,P2口可输出外部存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址,共可寻址64KB的地址空间。当P2口作为高8位地址输出口时,输出锁存器的内容保持不变。

作为通用I/O口使用时,P2口为一个准双向口,功能与P1口一样。

一般情况下,P2口大多作为高8位地址总线口使用,就不能再作为通用I/O口。如果不作为地址总线口使用,可作为通用I/O口使用。第五节MCS-51单片机并行I/O端口四、P3口的工作原理(一)P3口结构

P3口的字节地址为B0H,与其他I/O相比,多了一个缓冲器4。P3口除了可作为通用准双向I/O接口外,还增加了引脚第二功能,其结构原理图如下图所示。

图2-12P3口某一位的位电路结构第五节MCS-51单片机并行I/O端口(二)第二输入/输出功能。

当选择第二输出功能时,该位的锁存器需置“1”,使“与非门”为开启状态。当第二输出为1时,场效应管截止,P3.n引脚输出为1;当第二输出为0时,场效应管导通,P3.n引脚输出为0。

当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.n引脚的信息由输入缓冲器BUF3的输出获得。四、P3口的工作原理第五节MCS-51单片机并行I/O端口(三)第一功能的通用I/O口

当用作通用I/O输出时,“第二输出功能”端应保持高电平,“与非门”为开启状态。CPU输出1时,Q=1,场效应管截止,P3.n引脚输出为1;CPU输出0时,Q=0,场效应管导通,P3.n引脚输出为0。

当用作通用I/O输入时,P3.n位的输出锁存器和“第二输出功能”端均应置1,场效应管截止,P3.n引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。06MCS-51单片机的时序第六节MCS-51单片机的时序产生8051工作时所必需的控制信号,在时钟信号控制下,严格按时序执行指令。执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。CPU发的时序信号两类,一类用对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器或I/O端口的控制,这部分时序对于分析、设计硬件接口电路至关重要。第六节MCS-51单片机的时序MCS-51单片机的时序由4个单位构成:(1)振荡周期晶振或者外接振荡脉冲信号的振荡周期,又称节拍,用P表示。时钟脉冲频率的倒数,为MCS-51单片机最小的时序单位,也称为时钟周期。(2)状态周期晶振信号经过时钟电路的二分频后,由两个振荡周期组成一个状态周期,用S表示。状态周期中的两个振荡周期分别称为节拍P1和节拍P2。(3)机器周期晶振信号经过12分频后形成机器周期,一个机器周期由6个状态周期组成,是单片机执行指令的最短时间,用S1、S2、…、S6表示,共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。第六节MCS-51单片机的时序(4)指令周期是指执行一条指令所需要的时间,它以机器周期为单位。8051单片机中指令周期由1-4个机器周期组成,可以分为单周期指令、双周期指令、4周期指令,其中只有乘法和除法是四周期指令。

从指令执行时间看:

单字节和双字节指令一般为单机器周期和双机器周期;

三字节指令都是双机器周期;

乘、除指令占用4个机器周期。第六节MCS-51单片机的时序图2-14CPU时序第六节MCS-51单片机的时序

CPU按照规定时间执行内部操作,在指令的执行过程中,分别在S1P2、S4P2期间读取指令。指令码被读取后送入指令寄存器,供CPU执行,同时PC指针加1。对于单周期双字节指令,CPU在S1P2期间读取指令,同时PC加1;在S4P2期间读取指令的第2个字节,然后PC加1,此时PC将指向下一条指令。

对于单周期单字节指令,CPU在S1P2期间读取指令,同时PC加1,PC指向下一条指令;而在S4P2期间CPU仍将执行读取指令操作,但CPU不作任何操作,读取的指令将被丢弃,同时PC也不执行加1操作。

如果是单字节双周期指令,则在两个机器周期内将分4次读取指令操作码,但是后3次的读取操作均丢弃不用。07MCS-51单片机的辅助电路第七节MCS-51单片机的辅助电路

一、复位电路

复位使单片机复位时内部各功能部件处于一个确定的初始状态,或单片机程序进入死循环时,单片机也需要复位来保证单片机正常运行。当单片机的复位引脚RST上保持两个机器周期以上的高电平信号,单片机即可执行复位操作。复位后各特殊功能寄存器的状态见下表。第七节MCS-51单片机的辅助电路表

复位后各特殊功能寄存器和程序计数器PC状态表寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HSBUF不定B00HTMOD00HPSW00HTH000HSP07HTL000HDPTR0000HTH100HP0~P3FFHTL100HIPxxx00000BSCON00HIE0x000000B

x表示状态不确定。第七节MCS-51单片机的辅助电路

8051单片机复位电路有两种基本形式:上电复位电路和外部按键复位电路。常用的上电复位电路如图2-15(a)所示,在单片机上电瞬间,RST端与VCC端等电位,并且可以使RES端保持一段时间高电平,由此单片机将进行复位操作,随着电容充电电流的减少,RST的高电平将逐渐下降。常用的按键复位电路如图2-15(b)所示,当单片机正在运行中时,按下复位键一段时间后电容被充电。松开按键后,与上电复位电路相同,使单片机实现复位的操作。

(a)自动复位

(b)按键复位

图2-15

MCS-51复位电路图第七节MCS-51单片机的辅助电路

二、复位电路

CPU工作时的时序是由单片机时钟电路产生的,常见的时钟信号产生方式有以下两种:

(1)内部时钟方式内部时钟方式电路如图2-16(a)所示,是最常用的时钟方式,通过单片机内部的振荡电路实现,XTAL1和XTAL2引脚端外接由晶振和电容组成的并联谐振电路,一般电容C1和C2的值为30pF,晶体的振荡频率范围在1.2-13MHZ。

(2)外部时钟方式外部时方式电路如图2-16(b)所示,由XTAL2引脚接外部振荡器,XTAL1引脚接地。第七节MCS-51单片机的辅助电路

(a)内部时钟方式

(b)外部时钟方式

图2-16

两种常见时钟方式车用单片机原理(含实验与实训)1中断的概念及优点2中断系统的结构单击此处添加标题单击此处添加标题3C51中断服务函数01中断的概念及优点第一节中断的概念及优点

在我们生活中,有许多与单片机系统相似的中断概念,比如你正在教室用电脑写一篇论文,突然有同学给你打电话,手机铃声响了,你首先把论文文件保存起来,然后拿手机接电话,当你正在跟同学电话交谈时,有老师走进教室,你暂停和同学交谈和老师打了个招呼,然后又跟同学继续打电话,电话打完后,你再打开保存好的论文,继续写论文。这就是一个生活中常见的中断现象,即正常的工作过程被某个突发事件(内部的或外部的)打断,发生中断后执行的另一项工作,当中断工作执行完成后,仍然可继续执行原来的工作任务。一、中断系统的概念中断的概念:日常生活中断的例子写论文写论文电话电话第一节中断的概念及优点随机事件发生主程序主程序中断服务子程序CPU

中断是指由于某随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源

CPU现行运行的程序称为主程序处理随机事件的程序称为中断服务子程序单片机中的中断概念第一节中断的概念及优点二、中断系统的优点分时操作

---CPU可以同多个外设“同时”工作实时处理

---CPU及时处理随机事件故障处理

---电源掉电、存储出错、运算溢出中断的优势---利用中断功能,CPU可以和多个外设同时工作。第一节中断的概念及优点中断源:引起单片机产生中断的事件,8051单片机中断系统有5个中断源分别是:一个串行通信中断源、两个外部中断源、两个定时器/计数器中断源,具体见表4-1:表4-1中断源中断源名称中断源触发信号中断向量P3.2引脚输入低电平或下降沿脉冲0003HP3.3引脚输入低电平或下降沿脉冲000BH定时器/计数器T0T0计数到达最大值溢出0013H定时器/计数器TlT1计数到达最大值溢出001BH串口中断TI/RI串行口完成一帧数据的发送或接收后0023H第二节中断系统的结构三、中断源02中断系统的结构一、中断系统控制寄存器:中断系统控制电路由4个专用寄存器组成中断源中断标志位CPUINT0INT1T0T1串口IE0TF0IE1TF1主程序TIRITCON每一个中断源都有相应的中断标志位某一个中断源申请中断,相应中断标志位置1。第二节中断系统的结构(一)TCON控制寄存器TCON

D

7D6D5D4D3D2D1D0

IE1IT1IE0IT0(88H)

IE1(TCON.3):外部中断1(INT1)请求标志位。有效时,由内部硬件使IE1置1,并向CPU请求中断处理。该标志位由内部硬件自动清0。

IT1(TCON.2):外部中断1触发方式控制位。IT1=0,为电平触发方式;IT0=1,下降沿触发方式。

IE0(TCON.1):外部中断0(INT0)中断请求标志位。其操作功能与IE1相同。

IT0(TCON.0):外部中断0的中断触发方式控制位。其操作功能与IT1相同。第二节中断系统的结构SCON寄存器-----串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

TIRI(98H)TI(SCON.1)-----串行发送中断标志RI(SCON.0)-----串行接收中断标志注意:该寄存器可以位寻址第二节中断系统的结构(二)SCON控制寄存器中断允许控制

中断源中断标志位CPUINT0INT1T0T1串口IE0TF0IE1TF1主程序TIRI中断允许EX0ET0EX1ET1ESEAEA----总牛-中断允许位,EA=1开放所有中断,EA=0禁止所有中断。某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源中断。第二节中断系统的结构IE

D7D6D5D4D3D2D1D0

EAES

ET1EX1ET0EX0(A8H)例:允许定时器T0中断:EA=1;ET0=1;

或IE=0x82;注意:该寄存器可以位寻址第二节中断系统的结构(三)IE中断允许控制寄存器IP

D7D6D5D4D3D2D1D0

PT2

PSPT1PX1PT0PX0(B8H)例:PT2=1;优先级为高PT2=0;优先级为低

第二节中断系统的结构(四)IP中断允许控制寄存器二、中断优先级控制中断源中断标志位CPUINT0INT1T0T1串口IE0TF0IE1TF1主程序TIRI中断允许EX0ET0EX1ET1ESEA优先控制PX0PT1PT0PX1PS单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级)同一忧先级别的中断源按照自然优先级顺序确定犹先级别(硬件形成,无法改变)00101000100000011111第二节中断系统的结构任何一种中断一旦得到响应,与其同级的或者比其低级的中断请求即被禁止。8051的中断优先级可以归纳为以下几条基本原则:(4)如果几个同一优先级的中断源同时向CPU申请中断,CPU将通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由硬件形成,排列如表所示.中断源同级内的中断优先级外部中断0

高级

最低定时/计数器T0溢出中断外部中断1定时/计数器T1溢出中断串行口中断当多个中断源同时发出中断请求时,优先权高的中断能先被响应,按中断源

优先权高低逐次响应的过程称为优先权排队。CPU响应了低级中断请求之后,仍可以响应高级中断的请求。第二节中断系统的结构(一)中断请求

当中断源发出中断请求时,CPU才可能响应它产生中断,不同的中断源发出请求的方式不同。

外部中断源的中断请求信号是或引脚上检测到低电平或负跳变时产生定时器/计数器中断源的中断请求信号是T0/T1计数单元的最高位计满溢出时产生串行口中断源的中断请求信号是串行口在完成一次发送或接收串行数据时产生中断处理过程分为四个阶段:中断请求、中断响应、中断处理和中断返回。第二节中断系统的结构三、中断响应过程(二)中断响应过程

中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。

随机事件发生主程序主程序中断服务子程序CPU中断响应中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。保护断点地址:把程序转向中断服务程序的

入口地址(通常称矢量地址)

断点地址中断服务程序的入口地址0003H

LJMP

中断返回RETI第二节中断系统的结构

使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去。第二节中断系统的结构(三)中断处理随机事件发生主程序主程序中断服务子程序CPU中断响应断点地址中断服务程序的入口地址0003HLJMP中断返回RETI中断服务程序从入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。第二节中断系统的结构(四)中断返回中断返回是指中断服务完后,单片机返回原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。随机事件发生主程序主程序中断服务子程序CPU中断响应中断返回RETI第二节中断系统的结构03C51中断服务函数中断函数定义C51的中断服务程序是一种特殊的程序,其定义如下:

void函数名(void)interruptnusingm{函数体语句;}这里的interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务程序,其后的n是指该中断服务程序对应于哪一个中断源;using用于指定该中断服务程序要使用的工作寄存器组编号,

m的取值范围为0~3。

若不使用关键字using,则编译系统会自动给该服务函数分配寄存器组,并将当前工作寄存器组的8个寄存器压入堆栈。

用户程序中不允许任何程序调用中断服务程序。第三节C51中断服务函数

C51的中断源及其中断编号如下:中断源中断编号外部中断0定时器/计数器0中断外部中断1定时器/计数器1中断串行口中断定时器/计数器2中断012345第三节C51中断服务函数

编写中断函数时,应注意以下几点:(1)中断函数不带任何参数,否则会导致编译出错。(2)中断函数不能有返回值,所以函数类型应为void。(3)中断函数必须由中断源触发而自动调用,不得直接调用,因此也不用提前声明。(4)中断函数要精简,避免因执行时间过长影响其它中断的响应。第三节C51中断服务函数【例1】采用外部中断0和外部中断1控制P1.0和P1.1端口的LED灯,程序代码如下:#include<reg51.h>sbitled1=P1^0;sbitled2=P1^1;voidmain(void){IP=0x05;//外部中断0和1设置为高优先级IT0=1;//外部中断0设置为下降沿触发方式IT1=1;//外部中断1设置为下降沿触发方式EX0=1;//允许外部中断0中断EX1=1;//允许外部中断1中断EA=1;//允许总中断while(1);//等待}voidxin0(void)interrupt0//外部中断0中断响应函数{led1=!led1;}voidxin1(void)interrupt2//外部中断1中断响应函数{led2=!led2;//P1.1口反相}第三节C51中断服务函数【例2】采用定时中断,在程序中每隔50ms产生一次定时中断,然后在中断服务程中重装定时器T0的定时值和溢出值加1,当溢出值为20后在主函数中把P1.0口取反。程序代码如下:#include<reg51.h>#defineucharunsignedcharsbitled1=P1^0;uchar

num;voidT0_time()interrupt1{TH0=0x3c;TL0=0xb0;

num++;}voidmain(void){TMOD=0x01;//定时器T0设为工作方式1TH0=0x3c;TL0=0xb0;//定时器T0初值EA=1;ET0=1;//开总中断,开定时器T0中断TR0=1;//启动定时器T0while(1){if(num==20){num=0;led1=~led1;//P1.0口取反} P2=num;//循环次数值送P2口显示}}第三节C51中断服务函数【例3】在主函数中将INT1设为高优先级,INT0设为低优先级,下降沿触发。主函数执行P1口的流水灯,当有接键被接下时,主程序中断并进入相应的中断服务函数。两个中断服务函数都是流水灯的显示模式,当中断服务函数执行结束后返回主函数,程序代码如下:第三节C51中断服务函数【例3】在主函数中将INT1设为高优先级,INT0设为低优先级,下降沿触发。主函数执行P1口的流水灯,当有接键被接下时,主程序中断并进入相应的中断服务函数。两个中断服务函数都是流水灯的显示模式,当中断服务函数执行结束后返回主函数,程序代码如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharled[]={0xfe,0xfd,0xfb,0xf7,0xfef,0xdf,0xbf,0x7f};sbitsw1=P3^2;//定义按键sbitsw2=P3^3;voiddelay(){//延时函数

uintj;for(j=0;j<31000;j++);}voidint0()interrupt0using1//INT0中断服务函数{

uchar

i;for(i=0;i<8;i++){P0=led[i];delay();//P0口显示流水灯}P0=0xff;}voidint1()interrupt2using2{//INT1中断服务函数

uchar

i;for(i=0;i<8;i++){P2=led[i];delay();//P2口显示流水灯}P2=0xff;}voidmain(){

uchar

i;IE=0x85;TCON=0x05;PX1=1;//开中断,设置INT1为高优先级while(1){for(i=0;i<8;i++){P1=led[i];delay();//P1口非中断状态时显示流水灯}}}第三节C51中断服务函数【例2】采用串行中断的应用,程序代码如下:#include<reg51.h>#defineuintunsignedintvoidmain(void){uinti;SCON=0x00;//串口工作方式0ES=1;//允许串口中断EA=1;i=0x65;SBUF=i;//数据送SBUF,启动发送while(1);//等待}voidXTXD(void)interrupt4//串口中断函数{P1=0xaa;TI=0;//清发送标志位}第三节C51中断服务函数1.用定时器作外部中断源将定时器T0和T1,以及两外部中断扩展为4个外部中断源。

将定时器T0和T1设定为方式2(自动恢复计数初值),初值均设置为FFH,4个中断源的任务是分别点亮P2口的LED灯(显示不同状态),程序代码如下:#include<reg51.h>voidmain(void){TMOD=0x66;//定时器T0和T1设为计数/方式2TH0=0xff;TL0=0xff;//定时器初值TH1=0xff;TL1=0xff;EA=1;//开总中断ET0=1;TR0=1;//中断允许及启动ET1=1;TR1=1;EX0=1;IT0=1;EX1=1;IT1=1;while(1);}voidxin0()interrupt0{//外部中断0响应函数P2=0x0f;}voidT0_time0()interrupt1{//定时器T0中断响应函数P2=0xf0;}voidxin1()interrupt2{//外部中断1响应函数P2=0xaa;}voidT1_time1()interrupt3{//定时器T1中断响应函数P2=0x66;}第三节C51中断服务函数车用单片机原理(含实验与实训)1定时器/计数器T0和T1结构和工作原理2定时器/计数器控制的相关寄存器单击此处添加标题单击此处添加标题3定时器/计数器的工作方式及应用01定时器/计数器T0和T1结构和工作原理第一节定时器/计数器T0和T1结构和工作原理

对于定时器/计数器来说,不管是独立的定时器芯片还是单片机内的定时器,大都具有以下特点:◆定时器/计数器有多种工作方式,可以是计数方式,也可以是定时方式。◆定时器/计数器的计数值是可变的,计数的最大值也是有限的,这取决于计数器的位数。计数的最大值也就限定了定时时间的最大值。◆在到达设定的定时或计数值时发出中断申请,以便实现定时控制。一、定时器/计数器T0和T1的结构第一节定时器/计数器T0和T1结构和工作原理一、定时器/计数器T0和T1的结构

8051单片机内部定时器/计数器结构原理框图如图5-1所示,定时器/计数器T0和T1是一个16位的计数器,由两个高8位和低8位两个计数器组成。TMOD是定时/计数器的定时工作方式寄存器,其作用是设置定时/计数器的功能和工作方式。TCON是控制寄存器,用于控制T0、T1两个寄存器的启动或停止以及设置溢出标志。第一节定时器/计数器T0和T1结构和工作原理

图5-1定时/计数器结构原理框图第一节定时器/计数器T0和T1结构和工作原理二、定时器/计数器T0和T1的工作原理

定时器/计数器T0和T1实质就是一个加1计数器,只不过作为定时器和计数器时,两者计数脉冲来源不同,定时器的计数信号源是系统内部的时钟振荡器输出频率的12分频,计数器的计数信号源是单片机输入引脚T0(P3.4)或T1(P3.5)外接的脉冲源,计数器对接收到的脉冲进行计数,每检测到一个高电平到低电平负跳变时,计数器就自动加1,当计数器达最大值产生溢出后,硬件将TCON的TF0或者TF1置1作为计数器的溢出中断标志。用作定时器使用时,溢出中断标志表示已经到达定时的时刻到了;用作计数器使用时,溢出中断标志表示计数回零。定时器的工作原理启动与停止控制部分工作方式部分定时计数

TL0TH08位8位TFO

16位定时计数器部分定时器0的逻辑电路结构图

0000第一节定时器/计数器T0和T1结构和工作原理启动与停止控制部分

TL0TH08位8位TFO0000内部机器周期

定时方式

计数方式振荡器/12T0定时器0的逻辑电路结构图

第一节定时器/计数器T0和T1结构和工作原理启动与停止控制部分

TL0TH08位8位TFO0000定时方式

计数方式振荡器/12T0开关信号定时器0的逻辑电路结构图

第一节定时器/计数器T0和T1结构和工作原理

TL0TH08位8位TFO0000定时方式

计数方式振荡器/12T0开关信号定时器0的逻辑电路结构图

控制1A&C>1BGATETR01A&C>1BINT012C/T=0C/T=1外

SETBTR0

定时方式000100020003第一节定时器/计数器T0和T1结构和工作原理02定时器/计数器控制的相关寄存器第二节定时器/计数器控制的相关寄存器一、工作方式寄存器TMOD

定时方式控制寄存器TMOD用于设置定时/计数器的工作方式,字节地址是89H,不可以位寻址,TMOD寄存器的高4位用于控制T1,低4位用于控制T0,两部分的定义完全对称。TMOD寄存器定义格式见表5-1。表5-1

TMOD定时方式控制寄存器

高4位控制T1高4位控制T0门控位定时/计数方式选择工作方式选择门控位定时/计数方式选择工作方式选择GATEM1M0GATEM1M0

(一)门控位GATE

门空位GATE是定时器启动方式选择位。当GATE=0时,只要设置TCON中的TR0或TR1为1,就可以启动定时/计数器工作,当TR0或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论