文档详情

单片机原理及应用 第5章单片机的定时器计数器 第6章单片机串行通信接口课件.pptx

发布:2025-05-05约5.42千字共103页下载文档
文本预览下载声明

第5章单片机的定时器/计数器;第5章单片机的定时器/计数器;;定时器/计数器的核心部件是加1计数器。

定时器模式时,是对内部机器周期计数。计数值乘以机器周期就是定时时间。

计数器模式时,是对外部事件计数。脉冲由T0(P3.4)或T1(P3.5)引脚输入。;

MCS-51单片机中有两个SFR与定时/计数有关:

TMOD用于设置定时器/计数器的工作模式和工作方式

TCON用于控制定时器/计数器的启动、停止和中断请求

1.工作方式寄存器TMOD(89H);TMOD中各位的含义如下:

①M1、M0—工作方式选择位

定时器/计数器有4种工作方式,由M1M0进行设置,如下表所示。;②C/T—定时/计数模式选择位

C/T=0,设置为定时模式,对内部机器周期进行计数。

C/T=1,设置为计数模式,对来自T0、T1引脚的外部脉冲信号进行计数。

③GATE—门控位

GATE=0时,只要用软件使TCON中的运行控制位TRx为1,就可以启动Tx。

GATE=1时,要用软件使运行控制位TRx为1,同时或引脚要为高电平时,才可以启动Tx。

注意:TMOD不能进行位寻址。;2.中断请求标志寄存器TCON(88H);T0有方式0、1、2、3;T1有方式0、1、2。以T0为例说明。

5.2.1方式0(13位计数器);5.2.2方式1(16位计数器);门控位作用;5.2.3方式2(8位自动重装初值计数器);5.2.4方式3(仅T0有此方式,T1的方式3将停止计数);5.3.1定时器/计数器初值计算和初始化

1.计数初值的计算

假设当前工作方式下的最大计数值用M表示,则各种工作方式的最大计数值如下:

方式0,M=213=8192;

方式1,M=216=65536;

方式2,M=28=256;

方式3,M=28=256。;假设用X表示计数初值,N表示能产生溢出的计数值

计数模式下,计数值与计数初值之间的关系如下:

X=M-N

定时模式,计数值N乘以机器周期Tcy等于定时时间t,即:

t=N×Tcy=(M-X)×Tcy

由此式可以得到计数初值X的表达式如下所示:

X=M-t/Tcy

其中Tcy=12/fosc。

;【例5-1】假设定时时间为5ms,单片机主频为6MHz,使用T0,求方式1的计数初值。

解:Tcy=12/(6MHz)=2μs

X=M-t/Tcy=M-5ms/(2μs)=M-2500

对于方式1,X=216-2500=63036=0F63CH,

其中低8位3CH要送入TL0,高8位F6H要送入TH0。;2.定时器/计数器的初始化

初始化的步骤如下:

(1)对TMOD赋值,以设定T0和T1的工作模式和工作方式;

(2)计算计数初值,并送入TH0、TL0、TH1、TH1;

(3)给IE和IP赋值,以开放相应中断和设置中断优先级;

(4)设置TR0、TR1,以启动或禁止T0、T1的运行。;【例5-2】假设T0为定时模式,按方式2工作,TH0、TL0的初值均为0FH,且允许T0中断,请对该定时器进行初始化。

;【例5-3】在某工厂的一条自动饮料生产线上,每生产12瓶饮料,就需要发出一个包装控制信号自动执行装箱操作。试编写程序完成这一计数任务,假设用T0完成计数,用P1.0发出控制信号,如下图所示。;分析

(1)选择工作方式

因为计数值为12,所以选用T0的工作方式2来完成此任务。

假设此时T1不工作,则方式控制字为TMOD=06H。

(2)求计数初值X

X=256-12=244=F4H

因此,TL0和TH0的初值都为F4H。;参考程序1(采用中断方式);参考程序2(采用查询方式);【例5-4】利用定时器T1的方式2对外部信号计数,要求每计满100个数将P1.7取反。

分析

(1)确定方式字

假设此时T0不工作,则T1工作在方式2的控制字为TMOD=60H。

(2)计算初值

X=28-100=156=9CH

因此,TL1和TH1的初值都为9CH。;参考程序;

【例5-5】假设系统时钟频率为6MHz,现欲利用定时器T0每隔1ms产生宽度为1个机器周期的正脉冲,并由P1.0送出,如下图所示,请编程实现该功能。;分析

(1)选择工作方式

因为Tcy=12/fosc=2μs,由定时器各种工作方式的特性,可计算出:

方式0最长可定时16.384ms;方式1最长可定时131.072ms;方式2、3最长可定时512?s。

本题中定时时间t=1ms,选则T0的工作方式1来完成此任务。假设此时T1不工作,则方式控制字为TMOD=01H。

(2)计算初值X

X=216-1000μs/2μs=65536-50

显示全部
相似文档