收藏 分销(赏)

2022年单片机及C应用4.ppt

上传人:二*** 文档编号:5456990 上传时间:2024-11-06 格式:PPT 页数:72 大小:841.04KB
下载 相关 举报
2022年单片机及C应用4.ppt_第1页
第1页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、本章重点内容和要求本章重点内容和要求本章重点讨论本章重点讨论MCS-51单片机内部的资源的原理及其应用单片机内部的资源的原理及其应用 并行并行I/O口口 定时器定时器/计数器计数器 串行串行I/O 口口基本要求:基本要求:掌握掌握 P0P3的特性及其应用的特性及其应用 掌握掌握T/C的原理、工作方式、程序设计方法及应用的原理、工作方式、程序设计方法及应用 学会综合运用学会综合运用 了解串行口的原理、制式了解串行口的原理、制式6.3 MCS-51串行串行I/O口及串行通信口及串行通信 第第6章章 MCS-51内部的内部的I/O口、定时器及其应用口、定时器及其应用6.1 MCS-51内部的并行内部

2、的并行I/O口及应用口及应用6.2 MCS-51的定时器的定时器/计数器计数器例 利用MCS-51单片机的T/C,产生电子时钟的1S基时,并且由P1.1 MCS-51内部的并行I/O口及应用0 11/fosc12 8192 1/fosc122)TF0(TCON.INCR0 ;它们都有定时和对外部事件计数的功能,可用于定时控制、延时、对外部事件检测和计数等场合.4)TR0(TCON.1 MOV A,#LOW(-1000+7);M 当方式1时 (62)还可以通过查询TF1是否置位来判断TH1是否回零溢出。由软件把控制字写入TCON和TMOD,用来设置T/C0和T/C1的工作方式和控制功能。MOV

3、R7,#0FH即先执行一条指令要重装入的校准后的低8位初值0 ;6.1.1 6.1.1 P P0 0口口口口 6.1.2 6.1.2 P P1 1口口口口 6.1.3 6.1.3 P P2 2口口口口 6.1.4 6.1.4 P P3 3口口口口 6.1.5 MCS-51 6.1.5 MCS-51内部并行内部并行内部并行内部并行I/OI/O口口口口的应用的应用的应用的应用 6.1 MCS-51内部的内部的并行并行I/O口及应用口及应用 定时器定时器/计数器的计数器的组成组成 定时器定时器/计数器的计数器的控制控制 定时器的四种定时器的四种工作方式工作方式 T/C的的初始化初始化 定时器定时器定

4、时器定时器/计数器的溢出校准和计数器的溢出校准和计数器的溢出校准和计数器的溢出校准和实时读取实时读取实时读取实时读取 应用应用举例举例 6.2 MCS-51的定时器的定时器/计数器计数器 6.3 MCS-51串行串行I/O口及串行通信口及串行通信 1 1 串行通信基础知识串行通信基础知识 2 MCS-51 2 MCS-51的串行的串行I/OI/O口及控制寄存器口及控制寄存器 5 MCS-51 5 MCS-51串行口的多机通信串行口的多机通信 3 MCS-51 3 MCS-51串行口双机异步通信串行口双机异步通信 4 MCS-51 4 MCS-51串行口的应用串行口的应用 8051单片机内部有四

5、个单片机内部有四个8位并行位并行I/O口:口:P0、P1、P2和和P3 P0P3这这4个并行个并行I/O口都可以作准双向通用口都可以作准双向通用I/O口口 P0、P2和和P3口还有复用的第二功能口还有复用的第二功能 每个口都包含:每个口都包含:一个(一个(8位)锁存器(即特殊功能寄存器位)锁存器(即特殊功能寄存器P0P3)一个输出驱动器一个输出驱动器 和两个三态缓冲器和两个三态缓冲器 6.1 MCS-51内部的并行内部的并行I/O口及应用口及应用 6.1.1 P0口口 功能:功能:功能:功能:控制控制控制控制=0=0:P0 P0口可作通用口可作通用口可作通用口可作通用I/OI/O口,口,口,口

6、,是漏级开路的。因此必须外是漏级开路的。因此必须外是漏级开路的。因此必须外是漏级开路的。因此必须外接上拉电阻,以保证接上拉电阻,以保证接上拉电阻,以保证接上拉电阻,以保证“1”“1”信号正常输出。信号正常输出。信号正常输出。信号正常输出。控制控制控制控制=1=1:P0 P0口分时作为地址口分时作为地址口分时作为地址口分时作为地址/数据总线使用。数据总线使用。数据总线使用。数据总线使用。内部结构:内部结构:内部结构:内部结构:如图所示如图所示如图所示如图所示当外部扩展存储器或当外部扩展存储器或I/O口时,由口时,由EA、PC指指针从外部程序存储器取指令码、执行指令针从外部程序存储器取指令码、执行

7、指令MOVC、MOVX时,控制信号时,控制信号=1,使使MUX与反向器与反向器3连通,连通,作分时地址作分时地址/数据总线。数据总线。6.1.2 P1口口 功能:功能:P1口作通用口作通用I/O口口 P1口口也也是是一一个个“准准双双向向”口口,作作输输入入口口时时要要先先将将输输出驱动管截止。出驱动管截止。即先执行一条指令即先执行一条指令 MOV P1,#0FFH内部结构:内部结构:如图所示如图所示 6.1.3 P2口 功能:功能:功能:功能:控制控制控制控制=0=0:P2 P2口用作通用口用作通用口用作通用口用作通用I/OI/O口口口口 与与与与P1P1口类似口类似口类似口类似 控制控制控

8、制控制=1=1:P2 P2口用作高口用作高口用作高口用作高8 8位地址总线位地址总线位地址总线位地址总线 内部结构内部结构内部结构内部结构:如图所示如图所示如图所示如图所示 6.1.4 P3口口 功能:功能:第二输出功能端第二输出功能端=1:P3口用作通用口用作通用I/O口口 P3口用作第二功能口用作第二功能 三根第二功能输出引脚三根第二功能输出引脚 TXD、WR和和RD 五根第二功能输入引脚五根第二功能输入引脚 INT0、INT1、T0、T1 和和RXD 内部结构内部结构:如图所示如图所示 6.1.5 MCS-51内部并行内部并行I/O口的应用口的应用 一、一、“读锁存器读锁存器”和和“读引

9、脚读引脚”的指令的指令 1 1“读锁存器读锁存器读锁存器读锁存器”的指令的指令的指令的指令 P0P0P3P3作目的操作数的指令,能实现作目的操作数的指令,能实现作目的操作数的指令,能实现作目的操作数的指令,能实现“读读读读修改修改修改修改写写写写”口口口口锁存器的操作,这类指令有:锁存器的操作,这类指令有:锁存器的操作,这类指令有:锁存器的操作,这类指令有:(1 1)字节操作指令)字节操作指令)字节操作指令)字节操作指令(2 2)位操作指令位操作指令位操作指令位操作指令ANLPxANLPx,JBCPX.Y,relJBCPX.Y,relORLPxORLPx,CPLPX.YCPLPX.YXRLPx

10、XRLPx,CLRPX.YCLRPX.YDJNZPxDJNZPx,relMOVPX.Y,CrelMOVPX.Y,CINCPxINCPx其中:其中:其中:其中:X X是口的序号是口的序号是口的序号是口的序号0 03 3,Y Y是位的序号是位的序号是位的序号是位的序号0 07 7P0P0P3P3编程和使用的方法编程和使用的方法 2 2“读引脚读引脚读引脚读引脚”的指令的指令的指令的指令“读引脚读引脚读引脚读引脚”指令的特点是:指令的特点是:指令的特点是:指令的特点是:P0P0P3P3作为源操作数出现在指令中,作为源操作数出现在指令中,作为源操作数出现在指令中,作为源操作数出现在指令中,但在读引脚数

11、据之前,必须对所读的口或口位的但在读引脚数据之前,必须对所读的口或口位的但在读引脚数据之前,必须对所读的口或口位的但在读引脚数据之前,必须对所读的口或口位的D D锁存器写入锁存器写入锁存器写入锁存器写入“1”“1”.要正确读引脚数据,必须先写一条要正确读引脚数据,必须先写一条要正确读引脚数据,必须先写一条要正确读引脚数据,必须先写一条MOVPXMOVPX,#0FFH#0FFH指令或能指令或能指令或能指令或能对所读的口或口位的对所读的口或口位的对所读的口或口位的对所读的口或口位的D D锁存器写入锁存器写入锁存器写入锁存器写入“1”“1”的指令,而后紧接着写下面的指令,而后紧接着写下面的指令,而后

12、紧接着写下面的指令,而后紧接着写下面的指令的指令的指令的指令:(1)(1)字节操作指令字节操作指令字节操作指令字节操作指令 MOVMOVA A,PxANLAPxANLA,PXPXMOVMOVdirectdirect,PxORLAPxORLA,PXPXXCHXCHA A,PXXRLAPXXRLA,PXPXPUSHPUSHPXPXANLdirectANLdirect,PXPXADDADDA A,PXPXORLdirectORLdirect,PXPXADDCADDCA A,PXXRLdirectPXXRLdirect,PXPXSUBBSUBBA A,PXPX Q引脚引脚引脚引脚信号信号信号信号(2)

13、位操作指令)位操作指令 同同理理,必必须须先先写写一一条条SETB PX.Y或或能能对对所所读读口口位位的的D锁锁存存器器写写入入“1”的的指指令令,在在其其后后再再紧紧跟跟如如下下指令。指令。JNB PX.Y,rel JB PX.Y,rel 二、二、P0、P2、P3口复用作片外扩展系统的系统总线口复用作片外扩展系统的系统总线(1)(1)无条件输入无条件输入/输出程序输出程序 (2)(2)查询输入查询输入/输出程序输出程序 (3)(3)中断输入中断输入/输出程序输出程序 三、直接输入三、直接输入/输出输出 例例例例 简单开关量的输入简单开关量的输入简单开关量的输入简单开关量的输入/输出输出输出

14、输出 通过驱动通过驱动通过驱动通过驱动P1.7P1.7P1.4P1.4输出,使输出,使输出,使输出,使LED3LED3LED0LED0巡回显示,程序如下巡回显示,程序如下巡回显示,程序如下巡回显示,程序如下:ORG0000HORG0000HMAIN1MAIN1:MOVSPMOVSP,#6FH#6FHMOVAMOVA,#0FFH#0FFHMOVP1MOVP1,AAANLAANLA,#0EFH#0EFHLOOPLOOP:MOVP1MOVP1,AA;P1.4=0P1.4=0ACALLDLYACALLDLYRLARLAJBACC.0,LOOPJBACC.0,LOOPMOVAMOVA,#0EFH#0EF

15、HSJMPLOOPSJMPLOOP;延时子程序;延时子程序;延时子程序;延时子程序 DLY:DLY:MOVR6,#0FHMOVR6,#0FHDLY1:MOVR5,#0FFHDLY1:MOVR5,#0FFHDLY2:MOVR4,#0FFHDLY2:MOVR4,#0FFHDLY3:DJNZR4,DLY3DLY3:DJNZR4,DLY3DJNZR5,DLY2DJNZR5,DLY2DJNZR6,DLY1DJNZR6,DLY1 RETRETENDENDLED“0”LED“0”亮亮亮亮“1”“1”灭灭灭灭 2 2)读入读入读入读入P1.3P1.3P P1.01.0引脚上的开关引脚上的开关引脚上的开关引脚上

16、的开关K3K3K0K0的预置状态,的预置状态,的预置状态,的预置状态,再经再经再经再经P1.7P1.7P1.4P1.4输出去驱动输出去驱动输出去驱动输出去驱动LED3LED3LED0LED0发光二极管,使发光二极管发光二极管,使发光二极管发光二极管,使发光二极管发光二极管,使发光二极管显示开关状态。对应参考程序显示开关状态。对应参考程序显示开关状态。对应参考程序显示开关状态。对应参考程序:ORG0100HORG0100HMAIN2:MOVA,#0FFHMAIN2:MOVA,#0FFHMOVP1,AMOVP1,AMOVA,P1MOVA,P1SWAPASWAPAMOVP1,AMOVP1,AHERE

17、HERE:SJMPHERESJMPHEREENDEND(2)(2)查询输入查询输入/输出程序输出程序读读入入P3.0引引脚脚上上的的开开关关K4的的预预置置状状态态,若若P3.0=1,则则驱驱动动P1.7输输出出使使LED3闪闪亮亮一一段段时时间间;否否则则,查查询询等等待。参考程序如下:待。参考程序如下:ORG0200HMAIN3:MOVSP,#60HSETBP1.7WAIT:JNBP3.0,WAITMOVR7,#0FHLOOP:CPLP1.7ACALLDLYDJNZR7,LOOPSJMPWAITEND6.2 MCS-51的定时器的定时器/计数器计数器 在单片机实时应用系统中,定时和对外部事

18、件计数的功能在单片机实时应用系统中,定时和对外部事件计数的功能。定时定时:对周期已知的脉冲信号计数对周期已知的脉冲信号计数计数:计数:对外部事件计数,对周期未知的外来脉冲信号计数对外部事件计数,对周期未知的外来脉冲信号计数定时方法:定时方法:采用软件占用采用软件占用CPU的时间,降低了的时间,降低了CPU的使用效率;的使用效率;定时或计数方法:定时或计数方法:采用专门的硬件电路,参数调节不便;采用专门的硬件电路,参数调节不便;采用可编程的定时器采用可编程的定时器/计数器是最好的方法。计数器是最好的方法。可以方便灵活地修改定时或计数的参数或方式可以方便灵活地修改定时或计数的参数或方式与与CPU并

19、行工作,大大提高了并行工作,大大提高了CPU的工作效的工作效 6.2.1 定时器定时器/计数器的组成计数器的组成Timer/Counter MCS-51 MCS-51单片机内部有二单片机内部有二个个1616位的可编程的定时器位的可编程的定时器/计数器:计数器:定时器定时器/计数器计数器0 0(T/C0T/C0)定时器定时器/计数器计数器1 1(T/C1T/C1)它们都有定时和对外部它们都有定时和对外部事件计数的功能,可用于定事件计数的功能,可用于定时控制、延时、对外部事件时控制、延时、对外部事件检测和计数等场合检测和计数等场合.T/C0T/C0T/C0T/C0和和和和T/C1T/C1T/C1T

20、/C1的结构及与的结构及与的结构及与的结构及与CPUCPUCPUCPU的关系如图所示。的关系如图所示。的关系如图所示。的关系如图所示。结构组成:结构组成:T/C0由两个由两个8位的位的TH0(8CH)和)和TL0(8AH)组成)组成T/C1由由TH1(8DH)和)和TL1(8BH)组成)组成软件设置:软件设置:计数初值:计数初值:对对TH1、TL1、TH0、和、和TL0的初始化编程的初始化编程工作方式:工作方式:通过通过TMOD和和TCON对每个对每个T/C设置定时或计数设置定时或计数特殊功能寄存器特殊功能寄存器TMOD(TimerModeRegister)TCON(TimerControlR

21、egister)THx存放计数初值的高存放计数初值的高8位位TLx存放计数初值的低存放计数初值的低8位位定时器定时器/计数器(计数器(T/C0和和T/C1)的组成)的组成T/C0T/C0和和T/C1T/C1都是都是1616位的位的加加1 1计数器计数器方式方式0方式方式1方式方式2方式方式3TH0TL0T/C1T/C1TH1TL1T/C0T/C0方式方式方式方式3 3 串行口串行口串行口串行口波特率发生器波特率发生器波特率发生器波特率发生器共同点:共同点:共同点:共同点:都是通过计数器计脉冲的个数来实现的都是通过计数器计脉冲的个数来实现的都是通过计数器计脉冲的个数来实现的都是通过计数器计脉冲的

22、个数来实现的定时方式与计数方式的主要区别定时方式与计数方式的主要区别1 1、定时方式、定时方式、定时方式、定时方式T/CT/C计数计数计数计数80518051内部机器周内部机器周内部机器周内部机器周期信号的个数期信号的个数期信号的个数期信号的个数,由计数个数由计数个数由计数个数由计数个数可以计算出定时时间可以计算出定时时间可以计算出定时时间可以计算出定时时间。每个机器周期使每个机器周期使每个机器周期使每个机器周期使T/CT/C的计的计的计的计数器增加数器增加数器增加数器增加1 1,直至计满回零后,直至计满回零后,直至计满回零后,直至计满回零后自动产生溢出中断请求,表自动产生溢出中断请求,表自动

23、产生溢出中断请求,表自动产生溢出中断请求,表示定时时间到示定时时间到示定时时间到示定时时间到。f=12MHzf=12MHz,一个机器周期是一个机器周期是一个机器周期是一个机器周期是1s1s2、计数方式计数方式T/C计数来自引脚计数来自引脚T0(P3.4)和)和T1(P3.5)的外部的外部脉冲信号的个数。脉冲信号的个数。输入脉冲由输入脉冲由1变变0的下降沿的下降沿时,计数器的值增加时,计数器的值增加1直到回直到回零产生溢出中断零产生溢出中断,表示计数已表示计数已达预期个数。达预期个数。最高计数频率为振荡频率最高计数频率为振荡频率的的1/241/24。即计数周期即计数周期=2=2机器周期。机器周期

24、。不同点:不同点:6.2.2 6.2.2 定时器定时器/计数器的控制计数器的控制 定时器定时器定时器定时器/计数器的工作由计数器的工作由计数器的工作由计数器的工作由TCONTCON和和和和TMODTMOD控制控制控制控制 由软件把控制字写入由软件把控制字写入TCON和和TMOD,用来设置,用来设置T/C0和和T/C1的工作方式和控制功能。的工作方式和控制功能。当当8051系统复位时,系统复位时,TCON和和TMOD所有位都被清所有位都被清0。一、工作模式寄存器一、工作模式寄存器TMOD(89H)TMOD用于控制用于控制T/C0和和T/C1的工作模式,其各位的定义的工作模式,其各位的定义格式如下

25、:格式如下:其中,低其中,低4位用于位用于T/C0,高,高4位用于位用于T/C1。各位功能如下:。各位功能如下:1M1和和M0工作方式选择位工作方式选择位这两位可形成四种编码,对应四种工作方式:这两位可形成四种编码,对应四种工作方式:M1M0方式方式功功能能描描述述000为为13位定时器位定时器/计数器计数器,TL存放低存放低5位位,TH存高存高8位位011为为16位定时器位定时器/计数器计数器102常数自动装入常数自动装入8位定时器位定时器/计数器计数器113仅适于仅适于T/C0,两个两个8位定时器位定时器/计数器计数器2C/T计数计数/定时选择位定时选择位C/T0,设为定时方式,对机器周期

26、计数;设为定时方式,对机器周期计数;C/T1,设为计数方式,对来自,设为计数方式,对来自T0或或T1引脚的外来脉冲计数。引脚的外来脉冲计数。3GATE门控位(控制启动方式)门控位(控制启动方式)GATE0时时,T/C的的启启动动只只要要用用软软件件使使TR0(或或TR1)置置1即可,而不管即可,而不管/INT0(或(或/INT1)的电平是高还是低。)的电平是高还是低。GATE1时时,只只有有/INT0(或或/INT1)引引脚脚为为高高电电平平且且由由软软件使件使TR0(或(或TR1)置)置1时,才启动时,才启动T/C工作。工作。也就是也就是T/C的启动受双重控制。的启动受双重控制。注意:注意:

27、TMOD不能位寻址,只能由字节设置不能位寻址,只能由字节设置T/C的工作方式,的工作方式,低半字节设定低半字节设定T/C0,高半字节设定,高半字节设定T/C1。二、二、二、二、控制寄存器控制寄存器控制寄存器控制寄存器TCONTCON(88H88H)控控控控制制制制寄寄寄寄存存存存器器器器 TCONTCON除除除除可可可可字字字字节节节节寻寻寻寻址址址址外外外外,各各各各位位位位还还还还可可可可位位位位寻寻寻寻址址址址。各位定义及格式如下:各位定义及格式如下:各位定义及格式如下:各位定义及格式如下:11)TF1TF1(TCON.7TCON.7)T/C1T/C1的溢出标志位。的溢出标志位。的溢出标

28、志位。的溢出标志位。当当当当T/C1T/C1被被被被允允允允许许许许计计计计数数数数后后后后,T/C1T/C1从从从从初初初初值值值值开开开开始始始始加加加加1 1计计计计数数数数,回回回回零零零零时时时时由由由由高高高高位位位位产产产产生生生生溢溢溢溢出出出出,由由由由硬硬硬硬件件件件自自自自动动动动置置置置TF1TF1为为为为“1”“1”,并并并并向向向向CPUCPU请请请请求求求求中中中中断断断断,当当当当CPUCPU响响响响应应应应并并并并进进进进入入入入中中中中断断断断服服服服务务务务程程程程序序序序后后后后,TF1TF1又又又又被被被被硬硬硬硬件件件件自自自自动动动动清清清清0 0

29、。TF1TF1也可以由程序查询和清也可以由程序查询和清也可以由程序查询和清也可以由程序查询和清0 0。22)TF0TF0(TCON.5TCON.5)T/C0T/C0溢出标志位。其功能同溢出标志位。其功能同溢出标志位。其功能同溢出标志位。其功能同TF1TF1。33)TR1TR1(TCON.6TCON.6)T/C1T/C1运行控制位。运行控制位。运行控制位。运行控制位。由软件置位或复位。由软件置位或复位。由软件置位或复位。由软件置位或复位。当当当当GATEGATE(TMOD.7TMOD.7)为)为)为)为0 0时时时时,TR1TR1为为为为1 1时时时时,启动启动启动启动T/C1T/C1计数;计数

30、;计数;计数;TR1TR1为为为为0 0时时时时,停止停止停止停止T/C1T/C1计数。计数。计数。计数。44)TR0TR0(TCON.4TCON.4)T/C0T/C0运行控制位。运行控制位。运行控制位。运行控制位。其功能同其功能同其功能同其功能同TR1TR1,只是,只是,只是,只是GATEGATE为为为为TMOD.3TMOD.3。55)IE1IE1、IT1IT1、IE0IE0、IT0IT0(TCON.3TCON.3TCON.0TCON.0)外外外外部部部部中中中中断断断断INT1INT1、INT0INT0的的的的中中中中断断断断标标标标志志志志位位位位和和和和申申申申请请请请信信信信号号号号

31、的的的的触发方式控制位。触发方式控制位。触发方式控制位。触发方式控制位。6.2.3 定时器的四种工作方式定时器的四种工作方式 TMODTMOD中控制位中控制位中控制位中控制位C/TC/T设置定时或计数功能设置定时或计数功能设置定时或计数功能设置定时或计数功能 M1M1、M0M0位的设置选择四种工作方式,位的设置选择四种工作方式,位的设置选择四种工作方式,位的设置选择四种工作方式,即即即即方式方式方式方式0 0、方式方式方式方式1 1、方式方式方式方式2 2和和和和方式方式方式方式33 方式方式方式方式0 0、1 1和和和和2 2时,时,时,时,T/C0T/C0和和和和T/C1T/C1的工作相同

32、;的工作相同;的工作相同;的工作相同;方式方式方式方式3 3时,时,时,时,T/C0T/C0和和和和T/C1T/C1的工作不同。的工作不同。的工作不同。的工作不同。方式方式0 0高高高高8 8位和低位和低位和低位和低5 5位的一个位的一个位的一个位的一个1313位计数器的运行方式位计数器的运行方式位计数器的运行方式位计数器的运行方式 当当当当TL1TL1的的的的低低低低5 5位位位位溢溢溢溢出出出出时时时时,向向向向TH1TH1进进进进位位位位,而而而而TH1TH1溢溢溢溢出出出出(回回回回零零零零)时时时时向向向向TF1TF1标标标标志志志志进进进进位位位位(硬硬硬硬件件件件置置置置位位位位

33、TF1TF1),并并并并申申申申请请请请中中中中断断断断。还还还还可可可可以以以以通通通通过查询过查询过查询过查询TF1TF1是否置位来判断是否置位来判断是否置位来判断是否置位来判断TH1TH1是否回零溢出。是否回零溢出。是否回零溢出。是否回零溢出。GATETRxINTxGATETRxINTx启动情况启动情况启动情况启动情况00X00X停止停止停止停止01X01X启动定时启动定时启动定时启动定时/计数计数计数计数10X10X停止停止停止停止1111启动定时启动定时启动定时启动定时/计数计数计数计数1111停止停止停止停止其中:其中:其中:其中:11表示高电平,表示高电平,表示高电平,表示高电平

34、,0 0表示低电平,表示低电平,表示低电平,表示低电平,X X表示任意状态表示任意状态表示任意状态表示任意状态 启动控制启动控制B BTR1TR1 AATR1TR1 (INT1+GATE)(INT1+GATE)举例:利用举例:利用举例:利用举例:利用GATEGATEGATEGATE位测正脉冲的宽度位测正脉冲的宽度位测正脉冲的宽度位测正脉冲的宽度 方式方式1 1 方式方式方式方式1 1是一个是一个是一个是一个1616为定时器为定时器为定时器为定时器/计数器,见图计数器,见图计数器,见图计数器,见图6-76-7。方方方方式式式式1 1的的的的结结结结构构构构几几几几乎乎乎乎与与与与方方方方式式式式

35、0 0完完完完全全全全一一一一样样样样,唯唯唯唯一一一一的的的的差差差差别别别别是是是是:方方方方式式式式1 1中的中的中的中的TH1(TH0)TH1(TH0)和和和和TL1TL1(TL0TL0)均是均是均是均是8 8位的,构成位的,构成位的,构成位的,构成1616位计数器位计数器位计数器位计数器。方式方式2 2 在方式在方式在方式在方式2 2时,时,时,时,T/CT/C被拆成一个被拆成一个被拆成一个被拆成一个8 8位的寄存器位的寄存器位的寄存器位的寄存器TH1TH1(TH0TH0)和一个和一个和一个和一个8 8位计数器位计数器位计数器位计数器TL1TL1(TL0TL0),两者构成可以自动重装

36、),两者构成可以自动重装),两者构成可以自动重装),两者构成可以自动重装载的载的载的载的8 8位位位位T/CT/C,如图,如图,如图,如图6-86-8所示。所示。所示。所示。每当它计满回零时每当它计满回零时一方面向一方面向一方面向一方面向CPUCPU发出溢出中断请求,发出溢出中断请求,发出溢出中断请求,发出溢出中断请求,另一方面从另一方面从另一方面从另一方面从TH1TH1(或(或(或(或TH0TH0)中重新获得初值)中重新获得初值)中重新获得初值)中重新获得初值并启动计数并启动计数并启动计数并启动计数;也就是也就是也就是也就是CPUCPU自动将自动将自动将自动将TH1TH1(或(或(或(或TH

37、0TH0)中存放的)中存放的)中存放的)中存放的初值重新装回到初值重新装回到初值重新装回到初值重新装回到TL1TL1(或(或(或(或TL0TL0),并在此初值的),并在此初值的),并在此初值的),并在此初值的基础上对基础上对基础上对基础上对TL1TL1(或(或(或(或TL0TL0)开始新一轮计数,周而)开始新一轮计数,周而)开始新一轮计数,周而)开始新一轮计数,周而复始,直到下停止计数或更改工作方式命令为止。复始,直到下停止计数或更改工作方式命令为止。复始,直到下停止计数或更改工作方式命令为止。复始,直到下停止计数或更改工作方式命令为止。方式方式3 3 方式方式方式方式3 3下下下下T/C0T

38、/C0和和和和T/C1T/C1功能就不同了。此时,功能就不同了。此时,功能就不同了。此时,功能就不同了。此时,TH0TH0和和和和TL0TL0按两个独立的按两个独立的按两个独立的按两个独立的8 8位计数器工作,如图位计数器工作,如图位计数器工作,如图位计数器工作,如图6-96-9所示。所示。所示。所示。T/C1T/C1只能按只能按只能按只能按不中断的方式工作,常常利用它的定时功能作串行口波特不中断的方式工作,常常利用它的定时功能作串行口波特不中断的方式工作,常常利用它的定时功能作串行口波特不中断的方式工作,常常利用它的定时功能作串行口波特率发生器率发生器率发生器率发生器,如图如图如图如图6-1

39、06-10所示。所示。所示。所示。T/C0T/C0方式方式方式方式3 3时时时时,TL0,TL0占用了占用了占用了占用了T/C0T/C0的的的的C/TC/T、GATEGATE、TR0TR0、TF0TF0、T0T0(P3.4P3.4)和)和)和)和INT0INT0控制引脚控制引脚控制引脚控制引脚。TH0TH0只只只只有有有有简简简简单单单单的的的的内内内内部部部部定定定定时时时时功功功功能能能能,它它它它占占占占用用用用了了了了T/C1T/C1的的的的TR1TR1控控控控制位和制位和制位和制位和TF1TF1中断标志位,其启动中断标志位,其启动中断标志位,其启动中断标志位,其启动/关闭仅受关闭仅受

40、关闭仅受关闭仅受TR1TR1控制。控制。控制。控制。在在在在T/C0T/C0工作在方式工作在方式工作在方式工作在方式3 3时,时,时,时,T/C1T/C1仍可设置为方式仍可设置为方式仍可设置为方式仍可设置为方式0 02 2。由于由于由于由于TR1TR1和和和和TF1TF1已被已被已被已被T/C0T/C0(TH0TH0)占用,计数开关已被)占用,计数开关已被)占用,计数开关已被)占用,计数开关已被接通,此时仅用接通,此时仅用接通,此时仅用接通,此时仅用T/C1T/C1的的的的C/TC/T来切换其定时或计数工作方式就来切换其定时或计数工作方式就来切换其定时或计数工作方式就来切换其定时或计数工作方式

41、就可使可使可使可使T/C1T/C1工作。工作。工作。工作。计数器(计数器(计数器(计数器(8 8位、位、位、位、1313位或位或位或位或1616位)回零溢出时,只能将输出送位)回零溢出时,只能将输出送位)回零溢出时,只能将输出送位)回零溢出时,只能将输出送入串行口或用于不需要中断的场合。入串行口或用于不需要中断的场合。入串行口或用于不需要中断的场合。入串行口或用于不需要中断的场合。一般情况下,当一般情况下,当一般情况下,当一般情况下,当T/C1T/C1用作串行口波特率发生器时,用作串行口波特率发生器时,用作串行口波特率发生器时,用作串行口波特率发生器时,T/C0T/C0才设置为工作方式才设置为

42、工作方式才设置为工作方式才设置为工作方式3 3。此时,常把此时,常把此时,常把此时,常把T/C1T/C1设置为方式设置为方式设置为方式设置为方式2 2用作波特率发生器。用作波特率发生器。用作波特率发生器。用作波特率发生器。6.2.4 T/C的初始化 1.1.初始化的步骤初始化的步骤初始化的步骤初始化的步骤 MCS-51MCS-51内内内内部部部部的的的的T/CT/C是是是是可可可可编编编编程程程程的的的的,其其其其工工工工作作作作方方方方式式式式和和和和模模模模式式式式通通通通过过过过程程程程序序序序进行设定和控制进行设定和控制进行设定和控制进行设定和控制,称为对称为对称为对称为对T/CT/C

43、的初始化。初始化的步骤是:的初始化。初始化的步骤是:的初始化。初始化的步骤是:的初始化。初始化的步骤是:1)1)确确确确定定定定工工工工作作作作方方方方式式式式,即即即即根根根根据据据据题题题题目目目目要要要要求求求求先先先先给给给给TMODTMOD送送送送一一一一个个个个方方方方式式式式控制字。控制字。控制字。控制字。2)2)计计计计算算算算计计计计数数数数初初初初值值值值/定定定定时时时时初初初初值值值值,并并并并写写写写入入入入TH0TH0、TL0TL0或或或或 TH1TH1、TL1TL1中。中。中。中。3)3)根根根根据据据据需需需需要要要要,置置置置位位位位EAEA使使使使CPUCP

44、U开开开开放放放放中中中中断断断断,同同同同时时时时置置置置位位位位ETxETx允允允允许许许许T/CT/C中断。中断。中断。中断。IPIP设定中断优先级。设定中断优先级。设定中断优先级。设定中断优先级。4)4)给给给给TCONTCON送命令控制字,即置位送命令控制字,即置位送命令控制字,即置位送命令控制字,即置位TRxTRx启动启动启动启动T/CT/C计数。计数。计数。计数。2 2计数器初值的计算计数器初值的计算 T/CT/C在在在在计计计计数数数数模模模模式式式式下下下下,计计计计数数数数之之之之前前前前必必必必须须须须给给给给它它它它的的的的计计计计数数数数器器器器TH0TH0、TL0T

45、L0或或或或TH1TH1、TL1TL1选选选选送送送送计计计计数数数数初初初初值值值值。T/CT/C的的的的计计计计数数数数器器器器是是是是在在在在计计计计数数数数初初初初值值值值的的的的基基基基础础础础上上上上加加加加1 1计计计计数数数数的的的的,当当当当计计计计数数数数器器器器回回回回“0”“0”时时时时自自自自动动动动产产产产生生生生溢溢溢溢出出出出,置置置置位位位位TFxTFx中中中中断断断断标标标标志志志志,向向向向CPUCPU提出中断请求。提出中断请求。提出中断请求。提出中断请求。设设设设需需需需要要要要计计计计数数数数器器器器计计计计数数数数的的的的个个个个数数数数为为为为 X

46、 X,计计计计数数数数初初初初值值值值为为为为C C,由由由由此此此此可可可可得得得得出出出出如如如如下计算计数初值的通式:下计算计数初值的通式:下计算计数初值的通式:下计算计数初值的通式:计数初值计数初值计数初值计数初值:C:CM-XM-X(6161)式中,式中,式中,式中,MM为计数器的模值,该值和计数器的工作方式有关。为计数器的模值,该值和计数器的工作方式有关。为计数器的模值,该值和计数器的工作方式有关。为计数器的模值,该值和计数器的工作方式有关。当方式当方式当方式当方式0 0时时时时MM当方式当方式当方式当方式1 1时时时时(6262)当方式当方式当方式当方式2 2、3 3时时时时3

47、3定时器初值计算定时器初值计算 在在在在定定定定时时时时模模模模式式式式下下下下,计计计计数数数数器器器器对对对对单单单单片片片片机机机机振振振振荡荡荡荡频频频频率率率率foscfosc经经经经1212分分分分频频频频后后后后的的的的机机机机器器器器周周周周期期期期进进进进行行行行加加加加1 1计计计计数数数数,用用用用X X表表表表示示示示计计计计数数数数个个个个数数数数,MM表表表表示示示示模模模模,C C表表表表示示示示定定定定时时时时初初初初值,值,值,值,TcyTcy表示机器周期,则表示机器周期,则表示机器周期,则表示机器周期,则1Tcy1Tcy12/fosc12/fosc,因此,因

48、此,因此,因此,定时时间定时时间定时时间定时时间T T的计算公式为:的计算公式为:的计算公式为:的计算公式为:TTXTcyXTcy(M-CM-C)TcyTcy 定时初值公式为:定时初值公式为:定时初值公式为:定时初值公式为:CCM-T/TcyM-T/Tcy定时器的溢出率定时器的溢出率定时器的溢出率定时器的溢出率 1/T1/Tfosc/fosc/(12X12X)fosc/fosc/(1212(M-CM-C)6.2.6应用举例应用举例应用应用应用应用举例举例举例举例1 1举例举例举例举例2 2GATEGATE 例例例例 利用利用利用利用T/C0T/C0方式方式方式方式0 0产生产生产生产生1ms1

49、ms的定时的定时的定时的定时,在在在在P1.0P1.0引脚上输出周期为引脚上输出周期为引脚上输出周期为引脚上输出周期为2ms2ms的方波。设单片机晶振频率的方波。设单片机晶振频率的方波。设单片机晶振频率的方波。设单片机晶振频率foscfosc12MHZ12MHZ。解:解:解:解:(1 1)确定)确定)确定)确定T/C0T/C0的工作方式的工作方式的工作方式的工作方式 要要要要在在在在P1.0P1.0输输输输出出出出周周周周期期期期为为为为2ms2ms的的的的方方方方波波波波,只只只只要要要要使使使使P1P10 0每每每每隔隔隔隔1ms1ms取取取取反一次即可。反一次即可。反一次即可。反一次即可

50、。(2 2)送)送)送)送T/C0T/C0的方式控制字的方式控制字的方式控制字的方式控制字 (TMODTMOD)00H00H,即即即即T/C0T/C0定定定定时时时时,方方方方式式式式0 0,只只只只由由由由TR0TR0启启启启动动动动,因因因因为为为为T/C1T/C1不用,高不用,高不用,高不用,高4 4位取位取位取位取0 0。即:。即:。即:。即:GATEC/TM1M0GATEC/TM1M0GATEC/TM1M0GATEC/TM1M00000000000000000TR0TR0定时定时定时定时 方式方式方式方式0,T/C10,T/C1不用各位均取不用各位均取不用各位均取不用各位均取00启动

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服