版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 MCS-51MCS-51单片机中断、定时系统及单片机中断、定时系统及串行数据通信串行数据通信主讲:主讲: 中断是单片机不断地与外部输入中断是单片机不断地与外部输入/ /输出设备交换输出设备交换信息的一种方式。信息的一种方式。MCS-51MCS-51单片机系统有单片机系统有5 5个中断源,个中断源,两个优先级。两个优先级。 定时系统有定时和事件计数的功能,可用于定时定时系统有定时和事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。控制、延时、对外部事件计数和检测等场合。MCS-51MCS-51单片机系统有两个单片机系统有两个1616位定时器位定时器/ /计数器,定
2、时器计数器,定时器0 0(T0T0)和定时器和定时器1 1(T1T1)。)。MCS-52MCS-52系列中除两个定时器外,还系列中除两个定时器外,还有一个定时器有一个定时器/ /计数器计数器T2T2。 单片机与外部设备之间常常要进行信息交换,单片机与外部设备之间常常要进行信息交换,这一交换过程称为通信。基本的通信方式有两种,即这一交换过程称为通信。基本的通信方式有两种,即并行通信和串行通信。串行通信只用一位数据线传送并行通信和串行通信。串行通信只用一位数据线传送数据的位信号,即使加上几条通信联络控制线,也用数据的位信号,即使加上几条通信联络控制线,也用不了很多电缆线,比较适合远距离通信。不了很
3、多电缆线,比较适合远距离通信。 本章主要介绍本章主要介绍MCS-51MCS-51系列单片机的中断系统、系列单片机的中断系统、定时计数系统和串行数据通信。定时计数系统和串行数据通信。4.1 MCS-514.1 MCS-51单片机中断系统单片机中断系统 现代计算机都具有实时处理功能,能对外界随现代计算机都具有实时处理功能,能对外界随机发生的事件作出及时处理,这是靠中断技术来实现机发生的事件作出及时处理,这是靠中断技术来实现的。的。4.1.1 4.1.1 中断的概念中断的概念 当当CPUCPU正处理某一事件时外部发生的另一事件请正处理某一事件时外部发生的另一事件请求求CPUCPU迅速处理,迅速处理,
4、CPUCPU暂时中止当前工作,转去处理所暂时中止当前工作,转去处理所发生的事件,处理完后再回到原来被中止的地方继续发生的事件,处理完后再回到原来被中止的地方继续处理原事件,这个过程称为中断,如图处理原事件,这个过程称为中断,如图4-14-1所示。所示。图图4-1 中断流程示意图中断流程示意图中断系统:实现中断功能的部件。中断系统:实现中断功能的部件。中断源:产生中断的请求源。中断源:产生中断的请求源。 中断请求或中断申请:中断源向中断请求或中断申请:中断源向CPU提出的处理请提出的处理请求。求。 中断响应过程:中断响应过程:CPU暂时中止自身事务,转去执行暂时中止自身事务,转去执行所发生的事件
5、。所发生的事件。 中断服务(中断处理):对事件的整个处理过程。中断服务(中断处理):对事件的整个处理过程。 中断返回:处理完毕,再回到原来被中止的地方。中断返回:处理完毕,再回到原来被中止的地方。 MCS-51单片机共用单片机共用5个中断源,可实现二级中断服个中断源,可实现二级中断服务嵌套,由片内特殊功能寄存器中的中断允许寄存器务嵌套,由片内特殊功能寄存器中的中断允许寄存器IE控制控制CPU是否响应中断请求;中断优先级寄存器是否响应中断请求;中断优先级寄存器IP安排安排5个中断源的优先级别。个中断源的优先级别。MCS-51单片机中断系统的结构如单片机中断系统的结构如图图4-2所示,它由中断请求
6、标志位、中断允许寄存器所示,它由中断请求标志位、中断允许寄存器IE、中断优先级寄存器中断优先级寄存器IP和硬件查询电路组成。和硬件查询电路组成。图图4-2 MCS-51单片机的中断系统结构图单片机的中断系统结构图4.1.2 MCS-51单片机中断源单片机中断源1中断源中断源 中断源是指在计算机系统中向中断源是指在计算机系统中向CPU发出中断请求发出中断请求的来源,可以人为设定,也可将突发性随机事件设置的来源,可以人为设定,也可将突发性随机事件设置为中断源。为中断源。MCS-51单片机有单片机有5个中断源:个中断源: INT0(P3.2):外部中断):外部中断0请求,低电平有效。请求,低电平有效
7、。 INT1(P3.3):外部中断):外部中断1请求,低电平有效。请求,低电平有效。 TF0(P3.4):定时器):定时器/计数器计数器0溢出中断请求。溢出中断请求。 TF1(P3.5):定时器):定时器/计数器计数器1溢出中断请求。溢出中断请求。 RI/TI:串行口中断请求。串行口完成一帧数据的:串行口中断请求。串行口完成一帧数据的传送时请求中断。传送时请求中断。 以上中断源请求中断时,相应的标志分别由以上中断源请求中断时,相应的标志分别由TCON和和SCON中的相应位来锁存。中的相应位来锁存。 通常中断源有通常中断源有I/O设备、硬件故障、实时时钟和人为设备、硬件故障、实时时钟和人为设置的
8、中断源。设置的中断源。2中断请求标志中断请求标志 MCS-51单片机的中断系统有以下四个特殊功能寄存器:单片机的中断系统有以下四个特殊功能寄存器:定时器控制寄存器定时器控制寄存器TCON(用(用6位);位);串行口控制寄存器串行口控制寄存器SCON(用(用2位);位);中断允许寄存器中断允许寄存器IE;中断优先级寄存器中断优先级寄存器IP。(1)定时器)定时器/计数器控制寄存器(计数器控制寄存器(TCON) TCON字节地址为字节地址为88H,位地址,位地址88H8FH。它用。它用于保存定时器于保存定时器/计数器的溢出中断标志和外部中断标志。计数器的溢出中断标志和外部中断标志。与中断有关的后四
9、位如下:与中断有关的后四位如下:位地址位地址8FH 8EH 8DH 8CH 8BH 8AH89H88H位定义位定义IE1IT1IE0IT0 IE0和和IE1:外部中断请求标志。:外部中断请求标志。 当当CPU采样到外部中断请求时,该位由硬件置采样到外部中断请求时,该位由硬件置“1”。在。在CPU响应中断并执行中断服务程序时由硬件响应中断并执行中断服务程序时由硬件自动清自动清0。 IT0和和IT1:选择外部中断源触发方式控制位。:选择外部中断源触发方式控制位。 IT0为为0时,外部中断时,外部中断0程控为电平触发方式。当外程控为电平触发方式。当外部中断请求为低电平,则使部中断请求为低电平,则使I
10、E0置置1;若为高电平,则;若为高电平,则使使IE0清清0。 IT0为为1时,外部中断时,外部中断0程控为边沿触发方式。若采程控为边沿触发方式。若采样到外部中断请求出现下降沿,则使样到外部中断请求出现下降沿,则使IE0置置1。直到。直到CPU响应中断,才由硬件使响应中断,才由硬件使IE0清清0。 IT1的含义与的含义与IT0类同。类同。(2)串行口控制寄存器()串行口控制寄存器(SCON) SCON字节地址为字节地址为98H,位地址,位地址98H9FH,与,与中断有关的只有低两位,如下:中断有关的只有低两位,如下:位地址位地址 9FH 9EH 9DH 9CH 9BH 9AH99H98H位定义位
11、定义TIRI TI:串行口发送中断请求标志。:串行口发送中断请求标志。 CPU将一个数据写入发送缓冲器将一个数据写入发送缓冲器SBUF时就启动时就启动发送,发送完一帧数据后硬件置位发送,发送完一帧数据后硬件置位TI,CPU响应中断响应中断时必须由软件对时必须由软件对TI清清0。 RI:串行口接收中断请求标志。:串行口接收中断请求标志。 串行口允许接受数据时,每收完一帧数据硬件串行口允许接受数据时,每收完一帧数据硬件置位置位RI,CPU响应中断时必须用软件对其清响应中断时必须用软件对其清0。 单片机系统复位后单片机系统复位后TCON和和SCON各位清各位清0。3中断控制中断控制 MCS-51单片
12、机系统中,由中断源发出中断请求,单片机系统中,由中断源发出中断请求,但但CPU是否响应,如何响应,都由中断允许控制寄是否响应,如何响应,都由中断允许控制寄存器和中断优先级控制寄存器来决定。存器和中断优先级控制寄存器来决定。(1)中断允许控制寄存器()中断允许控制寄存器(IE)位地址位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位定义位定义EAESET1EX1ET0EX0 EA:中断允许总控制位。:中断允许总控制位。EA=0时,关掉所有中断;时,关掉所有中断;EA=1时,时,CPU开中断。开中断。 ES:串行口中断允许控制位。:串行口中断允许控制位。ES=0,禁止串行,禁
13、止串行口中断;口中断;ES=1,允许串行口中断。,允许串行口中断。 ET0:定时器:定时器/计数器计数器T0的溢出中断允许位。的溢出中断允许位。ET=0,禁止禁止T0中断;中断;ET=1,允许,允许T0中断。中断。 ET1:与:与ET0类同。类同。 EX0:外部中断:外部中断0中断允许位。中断允许位。EX0=0,禁止外,禁止外部中断部中断0中断;中断;EX0=1,允许外部中断,允许外部中断0中断。中断。 EX1:与:与EX0类同。类同。 例例1:假设允许定时器:假设允许定时器/计数器中断,禁止其他中断。计数器中断,禁止其他中断。IE如何设置?如何设置?两种方式可以实现:两种方式可以实现: SE
14、TET0;定时器;定时器/计数器计数器0允许中断允许中断 SETET1;定时器;定时器/计数器计数器1允许中断允许中断用位操作指令用位操作指令SET EA ;CPU开中断开中断 用字节操作指令用字节操作指令 MOV IE,#8AH 或或 MOVA8H,#8AH(2)中断优先级控制寄存器()中断优先级控制寄存器(IP) MCS-51单片机系统的中断源有两个优先级,每单片机系统的中断源有两个优先级,每个中断源均可由中断优先级寄存器个中断源均可由中断优先级寄存器IP来设置优先级别。来设置优先级别。IP的字节地址为的字节地址为0B8H,位地址为,位地址为0B8H0BFH。与。与中断有关的控制位如下:中
15、断有关的控制位如下:位地址位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H位定义位定义PSPT1PX1PT0PX0 PS:串行口中断优先级控制位。:串行口中断优先级控制位。PS=0,低优先级;,低优先级;PS=1,高优先级。,高优先级。 PT1/ PT0:定时器:定时器/计数器计数器T1/T0中断优先级控制中断优先级控制位。为位。为0是低优先级;为是低优先级;为1是高优先级。是高优先级。 PX1/PX0:外部中断:外部中断1/外部中断外部中断0中断优先级控中断优先级控制位。为制位。为0是低优先级;为是低优先级;为1是高优先级。是高优先级。 若有几个中断源申请中断,若有几个
16、中断源申请中断,CPU先响应优先级高先响应优先级高的。当同时接收到几个同一优先级中断请求,响应哪的。当同时接收到几个同一优先级中断请求,响应哪个中断源取决于内部硬件查询顺序,同级中断源优先个中断源取决于内部硬件查询顺序,同级中断源优先级排列顺序如表级排列顺序如表4-1。表表4-1 同级中断源优先级排列顺序同级中断源优先级排列顺序最高级最高级中断源中断源同级内的优先级同级内的优先级外部中断外部中断0(IE0)最低级最低级定时器定时器/计数器计数器T0中断(中断(TF0)外部中断外部中断1(IE1)定时器定时器/计数器计数器T1中断(中断(TF1)串行口中断(串行口中断(RI+TI) 当单片机系统
17、复位后,当单片机系统复位后,IE中各位均被清中各位均被清0,所有中,所有中断源禁止;断源禁止;IP中各位均被清中各位均被清0,5个中断源均为低优先个中断源均为低优先级。级。 例例2:如何设置:如何设置IP相应值使片外中断为高优先级,片相应值使片外中断为高优先级,片内中断为低优先级。内中断为低优先级。 两种实现方式:两种实现方式:用字节操作指令:用字节操作指令: MOV IP,#05H或或MOV 0B8H,#05H 用位操作指令:用位操作指令: SETB PX0SETB PX1CLR PSCLR PT0CLR PT14.1.3 MCS-51单片机中断响应与服务单片机中断响应与服务1中断响应中断响
18、应 中断处理过程分为中断处理过程分为3个阶段:中断响应、中断处理个阶段:中断响应、中断处理和中断返回。和中断返回。 中断响应是满足中断响应是满足CPU的中断响应条件后,的中断响应条件后,CPU对中对中断源中断请求的回答。断源中断请求的回答。 CPU响应中断的条件有:有中断源发出中断请求,响应中断的条件有:有中断源发出中断请求,CPU开中断,申请中断的中断源没有被关闭,无同级开中断,申请中断的中断源没有被关闭,无同级或更高级中断正在被服务,当前指令周期已结束。或更高级中断正在被服务,当前指令周期已结束。2中断响应过程及返回中断响应过程及返回 MCS-51单片机中断系统有两个不可编程的单片机中断系
19、统有两个不可编程的“优先级生效优先级生效”触发器,一个触发器,一个“高优先级生效高优先级生效”触触发器,一个发器,一个“低优先级生效低优先级生效”触发器。单片机一旦触发器。单片机一旦响应中断,先置位相应的中断响应中断,先置位相应的中断“优先级生效优先级生效”触发触发器,然后由硬件执行长调用指令(器,然后由硬件执行长调用指令(LCALL),),PC值压栈保护(即保护现场),再将中断服务程序的值压栈保护(即保护现场),再将中断服务程序的入口地址送入入口地址送入PC,于是,于是CPU接着从中断服务程序的接着从中断服务程序的入口处开始执行。中断源入口地址如表入口处开始执行。中断源入口地址如表4-2所示
20、。所示。表表4-2 中断源入口地址表中断源入口地址表中断源中断源中断服务程序入口地址中断服务程序入口地址外部中断外部中断00003H定时器定时器/计数器计数器T0000BH外部中断外部中断10013H定时器定时器/计数器计数器T1001BH串行口中断串行口中断0023H 单片机的两个相邻中断源中断服务程序入口地址单片机的两个相邻中断源中断服务程序入口地址相距只有相距只有8个单元,一般中断服务程序容纳不下,因此个单元,一般中断服务程序容纳不下,因此在该中断的入口地址处放一条长跳转指令在该中断的入口地址处放一条长跳转指令LJMP,这,这样就可以转到样就可以转到64KB的任何可用区域了。在的任何可用
21、区域了。在2KB范围内范围内转移可用短跳转转移可用短跳转AJMP指令。指令。 一般情况下,中断处理包括两部分内容:一是保一般情况下,中断处理包括两部分内容:一是保护现场,即进入中断服务程序前保存护现场,即进入中断服务程序前保存PSW、工作寄存、工作寄存器和器和SFR等的内容;二是中断源服务。等的内容;二是中断源服务。 中断服务程序开始执行,直到返回指令中断服务程序开始执行,直到返回指令RETI为为止。止。RETI指令表示该中断服务程序执行完毕,把压指令表示该中断服务程序执行完毕,把压入堆栈的断点地址弹出,并装入入堆栈的断点地址弹出,并装入PC(即恢复现场),(即恢复现场),使程序返回到被中断的
22、程序断点处继续执行。使程序返回到被中断的程序断点处继续执行。 在中断服务程序中,在中断服务程序中,PUSH指令和指令和POP指令必须指令必须成对使用,否则不会正确恢复现场。成对使用,否则不会正确恢复现场。3中断请求的撤除中断请求的撤除 CPU响应中断请求后,在中断返回前,中断请求响应中断请求后,在中断返回前,中断请求信号必须撤除,否则会引起另一次中断。信号必须撤除,否则会引起另一次中断。 例例3:如图:如图4-3为外部中断源为单片机控制的数据为外部中断源为单片机控制的数据传输系统。传输系统。P1口设置为数据输入口,外围设备每准备口设置为数据输入口,外围设备每准备好一个数据时,发出一个选通信号,
23、向好一个数据时,发出一个选通信号,向CPU发出中断发出中断请求(请求(INT0)。)。 图图4-3 外部中断源为单片机控制的数据传输系统外部中断源为单片机控制的数据传输系统 采用电平触发方式时,外部中断请求标志采用电平触发方式时,外部中断请求标志IE0/IE1在在CPU响应中断时不能由硬件自动清除,本系响应中断时不能由硬件自动清除,本系统采用的是硬件清除的方法。统采用的是硬件清除的方法。程序清单:程序清单: ORG 0000HSTART:LJMPMAINORG 0003HLJMPINT0ORG 0030HMAIN:CLR IT0 SET EA SET EX0 MOV R0,#30H ORG 0
24、100H INT0: PUSHPSW PUSH A CLRP3.0 NOP NOP SETB P3.0 MOV A ,P1 MOV R0,A INC R0 POP A POP PSW RETI 4.2 MCS-51单片机定时器单片机定时器/计数器计数器 MCS-51单片机共有两个可编程的定时器单片机共有两个可编程的定时器/计数器计数器T0和和T1,它们都是,它们都是16位,都有定时和事件计数功能。位,都有定时和事件计数功能。本节主要介绍它们的结构、工作方式和应用。本节主要介绍它们的结构、工作方式和应用。4.2.1 MCS-51单片机定时器单片机定时器/计数器的结构和工作原理计数器的结构和工作原
25、理1定时器定时器/计数器的结构计数器的结构 在单片机控制应用中,定时方式有:软件定时、在单片机控制应用中,定时方式有:软件定时、硬件定时和可编程定时器定时。硬件定时和可编程定时器定时。MCS-51单片机的定时单片机的定时器器/计数器计数器T0和和T1都有都有16位加法计数结构,每个分别由位加法计数结构,每个分别由两个两个8位特殊功能寄存器组成:位特殊功能寄存器组成:T0由由TH0和和TL0构成,构成,T1由由TH1和和TL1构成。这构成。这4个计数器均属特殊功能寄存个计数器均属特殊功能寄存器。器。 TMOD是定时器的工作方式寄存器,是定时器的工作方式寄存器,TCON是控制是控制寄存器,用于对寄
26、存器,用于对T0和和T1的管理和控制。的管理和控制。2定时器定时器/计数器的结构的工作原理计数器的结构的工作原理 16位定时器位定时器/计数器的核心是一个加计数器的核心是一个加1计数器,如图计数器,如图4-4所示。所示。图图4-4 定时器定时器/计数器工作原理图计数器工作原理图 若设置为定时方式,若设置为定时方式,S1开关拨向上,对机器周期开关拨向上,对机器周期TM计数,即每经过一个机器周期,计数器加计数,即每经过一个机器周期,计数器加1,直至,直至溢出,若中断打开,可向溢出,若中断打开,可向CPU申请中断。从开始计数申请中断。从开始计数到溢出所用的时间就是定时时间,定时时间跟计数初到溢出所用
27、的时间就是定时时间,定时时间跟计数初值有关。值有关。 若设置为计数方式,若设置为计数方式,S1开关拨向下,通过开关拨向下,通过P3.4(T0)或)或P3.5(T1)引脚对外部脉冲信号计数。当外)引脚对外部脉冲信号计数。当外部信号出现下降沿时,计数值加部信号出现下降沿时,计数值加1。 用软件设定了定时器用软件设定了定时器T0或或T1的工作模式后,定时的工作模式后,定时器会按设定方式与器会按设定方式与CPU并行运行,不再占用并行运行,不再占用CPU的操的操作时间,除非定时器溢出才可能中断作时间,除非定时器溢出才可能中断CPU当前工作。当前工作。4.2.2 MCS-51单片机定时器单片机定时器/计数
28、器的工作方式计数器的工作方式 MCS-51单片机内部的定时器单片机内部的定时器/计数器可设置为计数器可设置为4种种工作方式,由两个工作方式,由两个8位特殊功能寄存器位特殊功能寄存器TMOD和和TCON管理和控制。使用前由管理和控制。使用前由CPU将一些命令和初始值写入将一些命令和初始值写入TMOD和和TCON,并给对应的定时器,并给对应的定时器/计数器赋初值,计数器赋初值,以定义定时器以定义定时器/计数器的工作模式、工作方式和实现的计数器的工作模式、工作方式和实现的控制功能。控制功能。1工作模式寄存器(工作模式寄存器(TMOD) TMOD用于控制用于控制T0和和T1的工作模式,其各位定义的工作
29、模式,其各位定义如下:如下:位位 序序D7D6D5D4D3D2D1D0位符号位符号 GATE C/TM1M0 GATE C/TM1M0其中,低其中,低4位用于位用于T0,高,高4位用于位用于T1。表表4-3 M1和和M0控制的控制的4种工作模式种工作模式M1 M0工作方式工作方式功功 能能 说说 明明0 0方式方式013位定时器位定时器/计数器计数器0 1方式方式116位定时器位定时器/计数器计数器1 0方式方式2自动再装入自动再装入8位定时器位定时器/计数器计数器1 1方式方式3T0分为分为2个个8位计数器位计数器T1停止计数停止计数 M1和和M0:操作模式控制位。两位形成:操作模式控制位。
30、两位形成4种编码,种编码,对应对应4种工作模式,如表种工作模式,如表4-3所示。所示。 C/T:定时器定时器/计数器功能选择位。计数器功能选择位。 C/T=0时,作为时,作为定时器使用,定时器使用, C/T=1时作为计数器使用。时作为计数器使用。 GATE:门控位。:门控位。GATE=0,只要用软件使,只要用软件使TR0或或TR1置置1就可启动定时器;就可启动定时器;GATE=1,只有在,只有在INT0或或INT1为高电平且由软件使为高电平且由软件使TR0或或TR1置置1才能启动定时才能启动定时器。器。 该寄存器只能用字节传送指令设置定时器的工作该寄存器只能用字节传送指令设置定时器的工作方式。
31、方式。2控制寄存器(控制寄存器(TCON) TCON除可字节寻址外,还可位寻址,它主要用除可字节寻址外,还可位寻址,它主要用于定时器于定时器/计数器的启、停控制,标志定时器的溢出和计数器的启、停控制,标志定时器的溢出和中断情况。与定时器有关的前四位如下:中断情况。与定时器有关的前四位如下:位地址位地址8FH8EH8DH8CH 8BH 8AH89H88H位定义位定义TF1TR1TF0TR0 TF0和和TF1:定时器:定时器/计数器溢出标志。计数器溢出标志。 定时器定时器/计数器被启动后,从初始值开始进行加计数器被启动后,从初始值开始进行加1计数,最高位产生溢出时该位为计数,最高位产生溢出时该位为
32、1,向,向CPU申请中断,申请中断,CPU响应后硬件自动将该位清响应后硬件自动将该位清0。 TR0和和TR1:定时器:定时器/计数器运行控制位。计数器运行控制位。 TR0和和TR1由软件来置由软件来置1和清和清0。当。当TR=1时,启时,启动定时器;当动定时器;当TR=0时,定时器停止工作。时,定时器停止工作。 单片机系统复位后,单片机系统复位后,TMOD和和TCON所有位均所有位均被清被清0。3定时器定时器/计数器的计数器的4种工作方式种工作方式 对对M1和和M0位的设置对应位的设置对应4种工作方式,即方式种工作方式,即方式0、方式方式1、方式、方式2和方式和方式3。T0和和T1的前三种方式
33、相同,的前三种方式相同,方式方式3只有只有T0有。方式有。方式0与方式与方式1很类似,很少用,常很类似,很少用,常以方式以方式1替代,本章不介绍方式替代,本章不介绍方式0。 (1)方式)方式1 该方式对应该方式对应16位定时器位定时器/计数器,如图计数器,如图4-5所示。所示。用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(216T0初值)初值)振荡周期振荡周期12图图4-5 定时器定时器/计数器工作方式计数器工作方式1 用于计数工作方式时,计数长度为用于计数工作方式时,计数长度为216=65536(个外部脉冲)。(个外部脉冲)。 例例4:用定时器:用定时器T1产生一个产
34、生一个50Hz的方波,由的方波,由P1.1口口输出,输出,fOSC=12MHz。 解:方波周期解:方波周期T1=1/(50Hz)=0.02s=20ms,用,用T1定时定时10 ms,计数初值,计数初值X为:为:X=21612101000/12=6553610000=55536=D8F0H程序段如下:程序段如下:MOV TMOD,#10HSETBTR1LOOP:MOVTH1,#0D8HMOVTL1,#0F0HJNBTF1,$CLRTF1CPLP1.1SJMPLOOP(2)方式)方式2 定时器定时器/计数器工作于方式计数器工作于方式2时,将时,将TH和和TL分成分成两个独立部分,组成可自动重装载的
35、两个独立部分,组成可自动重装载的8位定时器位定时器/计数计数器。逻辑结构如图器。逻辑结构如图4-6所示。所示。图图4-6定时器定时器/计数器工作方式计数器工作方式2 TH用以存放用以存放8位的计数初值,位的计数初值,TL用作用作8位计数器。位计数器。在程序初始化时,在程序初始化时,TH和和TL由软件赋予相同的初值。由软件赋予相同的初值。计数时,若计数时,若TL计数溢出,一方面将计数溢出,一方面将TF置置1,请求中断;,请求中断;另一方面自动将另一方面自动将TH中的初值重新装入中的初值重新装入TL中,使中,使TL从从初值开始重新计数。可以多次循环重装入,直到初值开始重新计数。可以多次循环重装入,
36、直到TR为为0才停止计数。才停止计数。 用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(28计数初值计数初值TC)机器周期机器周期 用于计数工作方式时,最大计数值是用于计数工作方式时,最大计数值是28。该方式。该方式适用于精确的定时和脉冲信号发生器,也用作串行口适用于精确的定时和脉冲信号发生器,也用作串行口波特率发生器。波特率发生器。 例例5 5:使用定时器:使用定时器0 0以工作方式以工作方式2 2产生产生100us100us定时,定时,在在P1.0P1.0口输出周期为口输出周期为200us200us的连续方波脉冲。晶振频的连续方波脉冲。晶振频率为率为6MHz6MHz。
37、第一步,计算计数初始值。第一步,计算计数初始值。 晶振频率为晶振频率为6MHz6MHz,一个机器周期,一个机器周期2us2us,假设计数,假设计数初值为初值为X X,则,则t=t=(2828计数初值计数初值TCTC)机器周期机器周期100=100=(2828X X)2 2X=206D=11001110B=0CEHX=206D=11001110B=0CEHTH0=TL0=0CEHTH0=TL0=0CEH第二步,第二步,TMOD初始化。初始化。 定时器定时器/计数器计数器0为工作方式为工作方式2,M1M0=10;定时功能定时功能C/T=0; 要实现定时器要实现定时器/计数器计数器0的运行,的运行,
38、GATE=0;定时器定时器/计数器计数器1不用,相关位设为不用,相关位设为0。则则TMOD=02H。第三步,程序设计。第三步,程序设计。查询方式的程序段如下:查询方式的程序段如下: MOVIE,#00H MOVTMOD,#02H MOVTH0,#0CEH MOVTL0,#0CEH SETBTR0LOOP:JBCTF0,LOOP1 AJMPLOOPLOOP1: CPLP1.0AJMPLOOP(3)方式)方式3 方式方式3只适用于定时器只适用于定时器T0,具体使用方式请读者,具体使用方式请读者自查相关资料。自查相关资料。4.3 MCS-51单片机串行数据通信单片机串行数据通信 信息交换的过程称为通
39、信,通信是单片机应用系信息交换的过程称为通信,通信是单片机应用系统必不可少的重要功能之一,可以是单片机与外部设统必不可少的重要功能之一,可以是单片机与外部设备的通信,也可以是单片机与单片机之间的通信。基备的通信,也可以是单片机与单片机之间的通信。基本的通信方式有两种:并行通信和串行通信。串行通本的通信方式有两种:并行通信和串行通信。串行通信方式采用较为广泛,本章主要介绍信方式采用较为广泛,本章主要介绍MCS-51单片机单片机的串行通信原理和工作方式。的串行通信原理和工作方式。4.3.1 MCS-51单片机串行数据通信的基本原理单片机串行数据通信的基本原理1通信方式通信方式 并行通信是指所传送的
40、数据各位同时进行传送。传并行通信是指所传送的数据各位同时进行传送。传送速度高,但传送线多,成本高,不利于长距离传送。送速度高,但传送线多,成本高,不利于长距离传送。 串行通信是指所传送的数据各位按分时顺序一位一串行通信是指所传送的数据各位按分时顺序一位一位传送。传输线少,成本低,利于长距离传送,但速率位传送。传输线少,成本低,利于长距离传送,但速率低。低。2串行通信方式串行通信方式 串行通信方式传输信息时,传输在一个方向上只占串行通信方式传输信息时,传输在一个方向上只占用一根通信线,既是数据线又是联络线。因此对信息进用一根通信线,既是数据线又是联络线。因此对信息进行约定,在信息格式上分为异步和
41、同步格式,与之对应行约定,在信息格式上分为异步和同步格式,与之对应的有异步通信和同步通信两种方式。的有异步通信和同步通信两种方式。(1)异步通信方式)异步通信方式 在异步通信方式中,数据或字符是一帧一帧传送的,在异步通信方式中,数据或字符是一帧一帧传送的,每帧格式如图每帧格式如图4-7所示。帧格式中包括所示。帧格式中包括4部分:起始位部分:起始位(占(占1位)、数据位(占位)、数据位(占58位)、奇偶校验位(占位)、奇偶校验位(占1位,位,可以没有)、停止位(占可以没有)、停止位(占1或或2位)。位)。图图4-7 异步串行通信格式异步串行通信格式 起始位用逻辑值起始位用逻辑值“0”表示字符的开
42、始,该位使表示字符的开始,该位使通信双方在传送数据位前协调同步。通信双方在传送数据位前协调同步。 数据位的个数可以是数据位的个数可以是5位、位、6位、位、7位或位或8位,传送位,传送时低位在前,高位在后。时低位在前,高位在后。 停止位用逻辑停止位用逻辑“1”表示一个字符传送的结束。表示一个字符传送的结束。 传送数据前通信双方必须约定所采用的信息格传送数据前通信双方必须约定所采用的信息格式和数据传输速率。传送开始后接收设备不断检测式和数据传输速率。传送开始后接收设备不断检测传输线,当收到一系列传输线,当收到一系列“1”之后,检测到一个之后,检测到一个“0”,说明起始位到了,接收数据,处理掉停止位
43、,将数说明起始位到了,接收数据,处理掉停止位,将数据位拼成并行字节,校验无误后才算正确地接收到据位拼成并行字节,校验无误后才算正确地接收到一个字符。下一个字符的接收方式如上所述。一个字符。下一个字符的接收方式如上所述。(2)同步信息方式)同步信息方式 同步通信时的一帧信息包括由固定长度(同步通信时的一帧信息包括由固定长度(50个)个)的字符组成的一个数据块,每一字符由的字符组成的一个数据块,每一字符由58位组成。位组成。同步数据块中在字符间不允许留空。同步数据块中在字符间不允许留空。 异步方式面向字节传送,同步方式面向数据块传异步方式面向字节传送,同步方式面向数据块传送。送。2串行通信数据传送
44、模式串行通信数据传送模式 通信双方之间的数据传送方向有通信双方之间的数据传送方向有3种形式:单工、种形式:单工、半双工和双工。半双工和双工。 单工通信:通信双方只有一条单向传输线,一边发单工通信:通信双方只有一条单向传输线,一边发送,另一边只能接收。送,另一边只能接收。 半双工通信:通信双方只有一条双向传输线,可半双工通信:通信双方只有一条双向传输线,可以双向传送数据,但每一时刻只能一边发送另一边接以双向传送数据,但每一时刻只能一边发送另一边接收。收。 双工通信:通信双方具有两条传输线,允许数双工通信:通信双方具有两条传输线,允许数据同时双向传输。据同时双向传输。3波特率波特率 数据传输的速率
45、称为波特率,表示每秒传送二进数据传输的速率称为波特率,表示每秒传送二进制数码的位数,单位是制数码的位数,单位是bit/s。它反映了串行通信的速。它反映了串行通信的速率,也反映了对传输通道的要求。率,也反映了对传输通道的要求。 串行通信中,数据是按位传送的,波特率用来表串行通信中,数据是按位传送的,波特率用来表示每秒钟传送多少位二进制数。假如数据传输速率为示每秒钟传送多少位二进制数。假如数据传输速率为120个字符个字符/秒,每一个字符包含秒,每一个字符包含10个位,则传送的波个位,则传送的波特率为特率为10120=1200位位/秒(秒(b/s)=1200波特(波特(b/s) 每一位的传送时间即为
46、波特率的倒数。每一位的传送时间即为波特率的倒数。 串行通信中,时钟频率高,波特率也高,通信速度串行通信中,时钟频率高,波特率也高,通信速度就快。就快。4.3.2 MCS-51单片机串行口控制寄存器与工作方式单片机串行口控制寄存器与工作方式1MCS-51单片机串行接口的结构单片机串行接口的结构 MCS-51单片机有一个可编程的全双工串行单片机有一个可编程的全双工串行I/O口,口,可以作可以作UART用,也可以作同步移位寄存器用。用,也可以作同步移位寄存器用。 MCS-51单片机的串行口通过引脚单片机的串行口通过引脚TXD和和RXD与外界通信。其内部有两个独立的数据缓冲寄存器与外界通信。其内部有两
47、个独立的数据缓冲寄存器SBUF、发送控制器、接收控制器、输入移位寄存器、发送控制器、接收控制器、输入移位寄存器、输出门、串行控制寄存器输出门、串行控制寄存器SCON和一个波特率发生器和一个波特率发生器T1组成。其结构框图如图组成。其结构框图如图4-8所示。所示。图图4-8 MCS-51单片机串行口基本结构框图单片机串行口基本结构框图 串行口的发送和接收都是以特殊功能寄存器串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读的名义进行读/写的。写的。当向当向SBUF发发“写写”命令命令时(执行时(执行“MOV SBUF,A”指令),指令),即是向发送缓即是向发送缓冲器冲器SBUF装载并开始
48、由装载并开始由TXD引脚向外发送一帧数据,引脚向外发送一帧数据,发送完便使发送中断标志位发送完便使发送中断标志位TI=1。 在满足串行接收中断标志位在满足串行接收中断标志位RI(SCON.0)=0的条的条件下,置允许接收位件下,置允许接收位REN(SCON.4)=1就会接收一就会接收一帧数据进入移位寄存器,并装载到接收帧数据进入移位寄存器,并装载到接收SBUF中,使中,使RI=1。当发当发“读读”SBUF命令时(执行命令时(执行“MOV A,SBUF”指令),指令),便由接收缓冲器便由接收缓冲器SBUF取出信息通过取出信息通过单片机内部总线送单片机内部总线送CPU。2串行口控制字及控制寄存器串
49、行口控制字及控制寄存器 MCS-51单片机的串行口是可编程的,对它初始单片机的串行口是可编程的,对它初始化编程只用两个控制字分别写入串行口寄存器化编程只用两个控制字分别写入串行口寄存器SCON和电源控制寄存器和电源控制寄存器PCON中即可。中即可。(1)串行口控制寄存器()串行口控制寄存器(SCON) SCON是一个特殊功能寄存器,来设定串行口的是一个特殊功能寄存器,来设定串行口的工作方式、接收工作方式、接收/发送控制和设置状态标志,可位寻发送控制和设置状态标志,可位寻址,字节地址为址,字节地址为98H,位地址为,位地址为98H9FH。其各位。其各位如下:如下:D7D6D5D4D3D2D1D0
50、SM0SM1 SM2 RENTB8RB8TIRI SM0、SM1:串行口工作方式选择位,:串行口工作方式选择位,4种方式种方式如表如表4-4所示。所示。表表4-4 串行口工作方式选择串行口工作方式选择SM0 SM1工作方式工作方式功功 能能波特率波特率0 0方式方式0同步移位寄存器同步移位寄存器fOCS /120 1方式方式182异步收发方异步收发方式式可变可变1 0方式方式292异步收发方异步收发方式式fOCS /32或或fOCS /641 1方式方式392异步收发方异步收发方式式可变可变 SM2:多机通信控制位,用于工作方式:多机通信控制位,用于工作方式2和方式和方式3。如果。如果SM2=
51、1,则允许多机通信。,则允许多机通信。 REN:允许串行接收位。由软件控制,:允许串行接收位。由软件控制,REN=1时,允许串行口接收数据,相当于串行接收数据的时,允许串行口接收数据,相当于串行接收数据的开关;开关;REN=0时,禁止接收数据。时,禁止接收数据。 TB8:在工作方式:在工作方式2和方式和方式3时,时,TB8是发送数据是发送数据的第的第9位,由软件置位或清位,由软件置位或清0。方式。方式0和方式和方式1中该位中该位未用。未用。 RB8:在工作方式:在工作方式2和方式和方式3时,时,RB8存放接收到存放接收到的数据的第的数据的第9位,代表收到的数据的某种特征。位,代表收到的数据的某
52、种特征。 TI:发送中断标志位。方式:发送中断标志位。方式0中,发送完第中,发送完第8位数位数据后由硬件置位;其他方式中,在开始发停止位时,据后由硬件置位;其他方式中,在开始发停止位时,由硬件置位。当由硬件置位。当TI=1时,表示帧发送结束,向时,表示帧发送结束,向CPU申请中断。申请中断。TI必须由软件清必须由软件清0。 RI:接收中断标志。方式:接收中断标志。方式0时,接收完第时,接收完第8位数据位数据时,由硬件置位;其他方式中,当接收到停止位的时,由硬件置位;其他方式中,当接收到停止位的中间时由硬件置位。当中间时由硬件置位。当RI=1时,表示帧接收结束,时,表示帧接收结束,向向CPU申请
53、中断。申请中断。RI必须由软件清必须由软件清0。(2)电源控制寄存器)电源控制寄存器PCON PCON的字节地址为的字节地址为97H,不能位寻址,只有最,不能位寻址,只有最高位高位SMOD与串行口工作有关。与串行口工作有关。 SMOD:串行口波特率倍增位。方式:串行口波特率倍增位。方式1、方式、方式2、方式方式3时,当时,当SMOD=1,串行口波特率加倍;复位时,串行口波特率加倍;复位时,SMOD=0。 单片机系统复位后,单片机系统复位后,SCON各位的值和各位的值和SMOD的的值均为值均为0。3串行口通信工作方式串行口通信工作方式 MCS-51单片机系统的可编程串行口通信工作方式单片机系统的
54、可编程串行口通信工作方式有四种,方式有四种,方式0主要用于主要用于I/O口的扩展,串行通信一口的扩展,串行通信一般使用方式般使用方式1、2和和3。这四种方式传输的数据格式有。这四种方式传输的数据格式有8位、位、10位和位和11位帧。位帧。(1)方式)方式0 方式方式0的一帧数据为的一帧数据为8位,没有起始位和停止位,位,没有起始位和停止位,8个数据位,先发或先收最低位。个数据位,先发或先收最低位。 工作在方式工作在方式0时,串行口是作为同步移位寄存器使时,串行口是作为同步移位寄存器使用的。串行数据由用的。串行数据由RXD(P3.0)端输入)端输入/输出,同步输出,同步移位脉冲由移位脉冲由TXD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聊天主播合同范本
- 职工灶安全协议书
- 联合培训合同范本
- 联盟与工会协议书
- 联通宽带合同范本
- 聘用试用合同范本
- 自愿购买书协议书
- 金融转让协议书
- 个人装卸协议书
- 2025年黑龙江省公需课学习-绿色信贷政策与实施案例150
- 2026年采购部年度工作计划及管理方案
- 餐饮原材料合同范本
- 2025年沈阳华晨专用车有限公司公开招聘考试笔试参考题库及答案解析
- 足浴店加盟店合同范本2025年版合同
- 北京朝阳区六里屯街道办事处招聘18名城市协管员考试笔试备考题库及答案解析
- 哈尔滨铁路局2012年515火灾死亡事故86课件
- 《土木工程专业英语 第2版》 翻译版 课件全套 鲁正 Unit 1 Introduction to Reinforced Concrete Design-Unit 5 Composite Construction
- 高位截瘫患者的麻醉演示文稿
- ICU抗生素使用课件
- 【语文】高考60篇古诗文全项训练宝典
- 《糖尿病教学查房》课件
评论
0/150
提交评论