第七章定时计数器
【大学课件】定时计数器PPT-精品文档

定时时间为:TC=XTu。其中,Tu为单位时间间隔,TC为定时时间。 STC12C5410AD单片机的定时器/计数器0或1是对脉冲进行不断加1 进行计数的,因此,不能直接将实际的计数值作为计数初值送入计数寄 存器THX、TLX中,而必须将实际计数值以28、213、216为模求补,以补 码作为计数初值设置THX和TLX。即应装入计数/定时器的初值为:
$include ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV SETB SETB SETB HERE: LJMP T0_ISR: MOV RETI END (STC12.INC) ;包含STC12C5410AD单片机寄存器定义文件 0000H MAIN ;转主程序 000BH ;定时器T0中断服务程序入口地址 T0_ISR ;转中断服务程序 0100H ;主程序的存放起始地址 MOV SP,#60H ;给栈指针赋初值 TMOD,#06H ;定时器T0工作于方式2 TL0,#0FFH ;送时间常数 TH0,#0FFH ET0 ;允许T0中断 EA ;CPU开中断 TR0 ;启动T0计数器 HERE ;等待 DEC A ;T0中断服务程序 P1,A ;累加器A内容减1送P1口
13/49
单片机应用技术
【例8-l】 设计利用定时/计数器T0、T1端作为外部中断源输入线进行外部中断源扩充 的程序。 解:为了扩充外部中断源,可以利用定时/计数器工作于计数状态时,T0(P3.4) 或T1(P3.5)引脚上发生负跳变,计数器增1这一特性,把P3.4、P3.5作为外部中断源 请求输入线,使计数器的计数值为-1(即0FFH),则外部T0、T1输入一个脉冲即计数溢 出,从而置位相应的中断请求标志,以此来申请中断,则相当于扩充了一根/INT线。 编程时,将T0置为方式2计数,计数初值0FFH,计数输入端T0(P3.4)发生一次负 跳变,计数器加1并产生溢出标志向CPU申请中断,中断处理程序使累加器A内容减1,送 P1口,然后返回主程序。汇编语言程序清单如下:
单片机原理及接口技术(C51编程)第7章 定时器计数器

图7-14 由外部计数输入信号控制LED的闪烁
(3)设置IE寄存器 本例由于采用T1中断,因此需将IE寄存器的EA、ET1位置1。
(4)启动和停止定时器T1 将寄存器TCON中TR1=1,则启动T1计数;TR1=0,则停止T1计数。
参考程序如下:
#include <reg51.h> void Delay(unsigned int i)
7.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,只是计数位数不同。方
式0为13位,方式1为16位。由于方式0是为兼容MCS-48而设,计数初 值计算复杂,所以在实际应用中,一般不用方式0,常采用方式1。
7.4.1 P1口控制8只LED每0.5s闪亮一次 【例7-1】在AT89S51的P1口上接有8只LED,原理电路见图7-
当TMOD的低2位为11时,T0被选为方式3,各引脚与T0的逻辑关系 见图7-8。
T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的状态控制位 C/T* 、GATE、TR0 ,而TH0被固定为一个8位定时器(不能作为外部 计数模式),并使用定时器T1的状态控制位TR1,同时占用定时器T1的 中断请求源TF1。
13。采用T0方式1的定时中断方式,使P1口外接的8只LED每0.5s闪亮 一次。
23
图7-13 方式1定时中断控制LED闪亮
24
(1)设置TMOD寄存器 T0工作在方式1,应使TMOD寄存器的M1、M0=01;应设置C/T*=0,为定
时器模式;对T0的运行控制仅由TR0来控制,应使相应的GATE位为0。定时 器T1不使用,各相关位均设为0。所以,TMOD寄存器应初始化为0x01。 (2)计算定时器T0的计数初值
《定时计数器》课件

定时计数器的使用步骤
开启定时计数器
在设置好所需参数后,用户可 以启动定时计数器开始计时。
实时监控
在计时过程中,用户可以通过 显示界面实时查看当前计数值 和计时状态。
停止计时
当达到设定时间或需要停止计 时时,用户可以按下停止按钮 ,计时器将停止工作。
重置
若需重新计时,用户可以将计 数值重置为初始状态,并重新
信号。
触发器
触发器是定时计数器的 重要组成部分,用于控 制计数器的开始和停止
。
计数器
计数器用于记录输入信 号的个数,可以是二进
制或十进制。
输出信号
定时计数器的输出信号 可以是控制信号、状态
信号或脉冲信号。
定时计数器的工作流程
01
02
03
04
启动
当输入信号满足一定条件时, 触发器被触发,计数器开始计
定时计数器的基本原理是利用触发器的翻转时刻来记录时间间隔的起始和结束时刻 。
当输入信号的上升沿或下降沿到来时,触发器翻转,记录下当前时刻,从而计算出 时间间隔。
定时计数器的精度取决于触发器的翻转时刻的准确性,因此需要采用高精度的触发 器。
02
定时计数器的分类
机械式定时计数器
机械式定时计数器是最早的定时计数 器类型,它利用机械原理来实现计时 和计数功能。
现不必要的时间误差。
05
定时计数器的维护与 保养
定时计数器的清洁保养
清洁外壳表面
使用干燥的软布擦拭计数器的外 壳表面,以去除灰尘和污垢。
清洁内部组件
定期打开计数器外壳,使用吸尘器 或干燥的软布清洁内部电路板和元 件。
清洁触点
定期检查并清洁计数器的触点,以 确保良好的接触性能。
定时器与计数器

第7章定时器/计数器MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,这第三个称定时器T2)。
它们既可用作定时器方式,又可用作计数器方式。
7 . 1定时器/计数器结构定时器/计数器的基本部件是两个8位的计数器(其中TH1,TL1是T1的计数器,TH0,TL0是T0的计数器)拼装而成。
在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器也可看作是对计算机机器周期的计数器(因为每个机器周期包含12个振荡周期,故每一个机器周期定时器加1,可以把输入的时钟脉冲看成机器周期信号)。
故其频率为晶振频率的1/12。
如果晶振频率为12MH Z,则定时器每接收一个输入脉冲的时间为1us。
当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。
在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1(它在每个机器周期的S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,则计数器加1)。
加1操作发生在检测到这种跳变后的一个机器周期中的S3P1,因此需要两个机器周期来识别一个从“1”到“0”的跳变,故最高计数频率为晶振频率的1/24。
这就要求输入信号的电平要在跳变后至少应在一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次。
定时器/计数器有四种工作方式,其工作方式的选择及控制都由两个特殊功能寄存器(TMOD和TCON)的内容来决定。
用指令改变TMOD或TCON的内容后,则在下一条指令的第一个机器周期的S1P1时起作用。
1、定时器的方式寄存器TMOD图7-1 TMOD寄存器各位定义特殊功能寄存器TMOD为定时器的方式控制寄存器,寄存器中每位的定义如图7-1所示。
高4位用于定时器1,低4位用于定时器0。
其中M1,M0用来确定所选的工作方式,如表7-1所示。
①M1 M0 定时器/计数器四种工作方式选择,见表7-1所示。
微机原理定时计数器课件

计时、计数、频率测量、时间间隔 测量等。
定时计数器的分类
01
02
03
专用定时计数器
微机系统内部专用的定时 计数器,如Intel 8253/8254等。
可编程定时计数器
具有可编程能力的定时计 数器,如Intel 8254等。
分布式定时计数器
在微机系统中分布式布置 的定时计数器,用于实现 分布式系统的定时/计数功 能。
器的值就会增加一。
当计数器的值与输出比较寄存器 的值相等时,就会产生一个比较 匹配信号,这个信号可以用于触
发相应的操作。
定时计数器有多种工作模式,包 括计数模式、定时模式、中断模
式等。
定时计数器的控制方式
软件控制方式
通过编写程序来控制定时计数器 的启动、停止、比较匹配等操作 。
硬件控制方式
通过硬件电路来控制定时计数器 的启动、停止、比较匹配等操作 。
微机原理定时计数器课件
目录
• 定时计数器概述 • 定时计数器的硬件结构 • 定时计数器的软件编程 • 定时计数器的应用 • 定时计数器的实现方式 • 定时计数器的调试方法
01
定时计数器概述
定时计数器的定义
01
定时计数器
微机系统内部或外部电路中用于产生定时/计数功能的电路或芯片。
02
定时计数器的基本组成
优点
定时计数器专用芯片具有高精度、高可靠性、可扩展等优 点。
应用场景
广泛应用于工业控制、仪器仪表、通信等领域。
采用单片机实现定时计数器
单片机组成
单片机一般由中央处理器、存 储器、定时计数器、输入输出
接口等组成。
工作原理
利用单片机的定时计数器功能 ,通过编程实现定时计数器的 功能。
微机原理与接口技术_第7章8253

§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
定时计数器的工作原理
定时计数器的工作原理定时计数器是一种常见的计时器,用于测量时间间隔,控制定时操作或执行循环等。
该计数器具有一定的精度和稳定性,其工作原理及应用场景也非常广泛。
下面我们将为大家介绍定时计数器的工作原理,包括硬件和软件实现。
硬件实现定时计数器通常由一个计数器和一个时钟源组成。
时钟源提供固定的时钟信号,计数器通过计数来测量时间间隔或执行定时操作。
时钟源通常是晶振,可以提供极高的稳定性和精度。
计数器可以是简单的二进制计数器,也可以是复杂的倒计数器和分频器等。
不同类型的计数器可以根据不同的应用场景进行选择。
在定时计数器的设计中,需要考虑到时钟信号的频率和计数器的位数。
时钟信号的频率决定了时间分辨率的大小,而计数器的位数则限制了计数器的最大值。
一个10位二进制计数器可以计数到1023,而一个16位二进制计数器可以计数到65535。
选取合适的时钟频率和计数器位数可以满足不同的应用要求。
定时计数器还可以通过外部信号触发计数器开始计数。
这种触发方式通常称为外部触发或同步触发,可以提高计数器的精度和控制性能。
在测试仪器中,可以通过外部触发控制测试时序,在控制系统中,可以通过外部触发控制执行任务。
在嵌入式系统中,定时计数器通常由软件实现。
软件实现的定时计数器主要依赖于系统时钟和定时中断。
系统时钟提供了一个固定的时钟信号,一般由晶振或外部时钟源提供。
定时中断是一个由硬件实现的中断,可以周期性地触发软件中断服务程序的执行。
定时计数器通过定时中断实现定时操作和时间测量。
每当定时中断发生时,中断服务程序会对定时计数器进行更新,并执行相应的定时操作。
在控制系统中,可以通过定时计数器实现周期性的任务执行,定时采样和控制输出等功能。
在嵌入式系统中,定时计数器还可以用于实现延时等操作。
1. 定时中断的触发频率:定时中断的触发频率决定了定时计数器的分辨率和响应速度。
合理的触发频率可以提高定时计数器的精度和控制性能。
2. 定时计数器的位数:定时计数器的位数决定了定时器的最大值和分辨率。
定时器 计数器的工作原理
定时器计数器的工作原理
定时器计数器的工作原理是通过使用一个稳定的时钟源来驱动计数器进行计数。
计数器有一个初始值,每次时钟源产生一个时钟脉冲,计数器就会递增一次。
当计数器达到设定的值时,会触发一个中断或产生某种特定的事件。
定时器计数器通常用于实现定时功能,如延时、定时触发等。
通过设置计数器的初始值和设定的计数器值,可以实现不同的定时时间。
当计数器达到设定的值时,可以触发中断或执行一段特定的代码,从而实现相应的定时功能。
定时器计数器的工作原理是基于时钟脉冲的递增计数。
时钟脉冲可以来自外部的时钟源,也可以来自内部的时钟发生器。
计数器的工作频率由时钟源决定,计数器每次加1所需的脉冲数取决于时钟源频率与计数器选择的分频系数。
通过调整时钟源频率和计数器的分频系数,可以实现不同的计数速率,进而实现定时器的不同计时范围。
例如,当时钟源频率为1MHz,计数器分频系数为1000时,计数器每计数1000个时钟脉冲就会触发中断,从而实现1秒的定时功能。
定时器计数器的工作原理基于时钟的周期性和计数器的递增计数,通过合理的设置和调整,可以实现各种不同的定时功能。
定时器计数器工作原理
定时器计数器工作原理
定时器计数器是一种用于计算时间间隔的电子设备。
它通过内部的晶振、分频器和计数器等组件实现精确的计时功能。
工作原理如下:
1. 晶振:定时器计数器内部搭载了一个晶振,晶振的频率非常稳定,一般为固定的几十千赫兹。
2. 分频器:晶振的频率可能非常高,但计数器需要较低的频率进行计数,所以需要一个分频器将晶振的频率降低,得到一个更低的频率作为计数器的输入。
3. 计数器:分频器将得到的较低频率信号送入计数器,计数器会根据信号的脉冲个数来进行计数。
4. 触发器:计数器会将计数结果保存在一个触发器中,可以通过读取这个触发器来获取时间间隔的计数值。
5. 重置:当计数器达到设定的计数值后,会自动重置为初始状态,重新开始计数。
通过以上几个步骤的组合,定时器计数器可以实现精确的时间间隔计算。
可以根据不同的需求设置不同的晶振频率、分频器的分频倍数和触发器的位数,以实现不同精度的计数功能。
定时器计数器广泛应用于各种电子设备中,如计时器、时钟、
定时开关等。
它们都依赖于定时器计数器的准确计时功能,来实现精确的时间控制。
7章定时计数器PPT课件
************* 用汇编语言编程 ***************
①查询方式如下: ORG 0030H MOV A,#01H
NEXT:MOV P1,A MOV TMOD,#10H
MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 AGAI:JBC TF1,SHI
SJMP AGAI SHI:RL A
SJMP NEXT
;置第一个LED亮
;T1工作于定时方式1
;定时100ms
;100ms到转SHI,并清TF1 ;100ms未到,再查询 ;A左移,准备下一个亮
②中断方式
ORG 0000H
AJMP MAIN ;单片机复位后从0000H开始执行
ORG 001BH ;T1中断入口
#include <reg51.h>
void main(void) {
P1=0x01;
/ *第一只LED亮*/
TMOD=0x10 ;
/ *定时器1方式1*/
TR1=1;
For(;;) {
/*启动T/C1 */
TH1=0x3c;TL1=0xb0; /*装载计数初值*/
do{}while(!TF1);/*查询等待TF1置位*/
timer0() interrupt 1 using 1 /*T0中断服务程序*/
{ P1_0=!P1_0;
/*100ms到P1.0反向*/
TH0=-50000/256; /*重载计数初值高8位*/
TL0=-50000%256; /*重载计数初值低8位*/
}
timer1()interrupt 3 using 2 /*T1中断服务*/
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2.3 工作方式2 工作方式2 定时器T0在工作方式2时,16位的计数器分成了两 定时器T0在工作方式2时,16位的计数器分成了两 个独立的8位计数器TH0和TL0. 个独立的8位计数器TH0和TL0.
图 7.4 定时计数器 工作方式2 作方式2
1,工作在定时方式 2,工作在计数方式 工作方式2 与工作方式0 方式 1 的差别, 工作方式 2 与工作方式 0 , 方式1 的差别 , 在于工作 方式2是一个8位的计数器. 方式2是一个8位的计数器. 7.2.4 工作方式3 工作方式3 工作方式3 仅对定时器T 有效. 当定时器T 工作方式3 仅对定时器T0 有效 . 当定时器T0 工作在 方式3 方式 3 时 , 将 16 位的计数器分为两个独立的8 位计数器 16位的计数器分为两个独立的 8 TH0和TL0. TH0 TL0
MOV TL0 , #18H SETB TR0 LOOP: JNB TF0 , $ CLR TF0 SETB P1.0 NOP CLR P1.0 MOV TH0 , #0E0H MOV TL0 , #18H SJMP LOOP END ;重装载TH0和TL0 重装载TH0和 ;产生2s正脉冲 产生2s正脉冲 ;启动T0工作 启动T0工作 ;$为当前指令指针地址
7.2 定时器/计数式0 定时器/ 计数器T 工作在方式0 定时器 / 计数器 T0 工作在方式 0 时 , 16 位计数器只用了 16位计数器只用了 13位 13 位 , 即 TH0 的高 8 位和 TL0 的低 5 位 , 组成一个13 位定 TH0 的高8 位和TL0 的低5 组成一个 13位定 时器/计数器. 时器/计数器.
图 7.3 定时计数器 工作方式1 作方式1
1,工作在定时方式 2,工作在计数方式 工作方式1 16位计数器 . 这是工作方式1 工作方式 1 是 16 位计数器. 这是工作方式 1 与工作 方式0在计数方式时唯一差别. 方式0在计数方式时唯一差别. 【例7-2】 用定时器T0产生50HZ的方波.由P1.0输 用定时器T 产生50HZ的方波. 出此方波(设时钟频率为12MHZ) 出此方波(设时钟频率为12MHZ). 解:50HZ的方波周期为20ms, 解:50HZ的方波周期为20ms,可以用定时器产生 10ms 的定时, 每隔 10ms 改变一次P 的电平, 10ms的定时, 每隔10ms改变一次P1.0 的电平, 即可得 到 50HZ的方波 . 此时 , 应使定时器 T0 工作在方式 1 . 50HZ 的方波. 此时, 应使定时器T 工作在方式1 工作在方式1时的T 初值, 工作在方式1时的T0初值,根据下式计算:
方法二: 方法二: 采用中断工作方式,编程如下: 采用中断工作方式,编程如下: ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0100H MAIN: CLR P1.0 MOV TH0 , #0E0H ;给定时器T0送初值 给定时器T0送初值
MOV TL0 , #18H MOV IE , #82H SJMP $ 中断服务程序: 中断服务程序: ORG 0300H T0INT: SETB P1.0 NOP CLR P1.0 MOV TH0 , #0DDH MOV TL0 , #18H RETI ;重装载TH0和TL0 重装载TH0和 ;允许T0中断 允许T0中断 SETB TR0 ;启动T0 启动T0
7.1.2 定时器/计数器的工作方式寄存器TMOD 定时器/计数器的工作方式寄存器TMOD 定时器/计数器是一种可编程部件, 定时器/计数器是一种可编程部件,在工作之前必 须通过软件设定它的工作方式, 须通过软件设定它的工作方式 , 即对工作方式寄存器 TMOD中每位进行设定. TMOD中每位进行设定.下面介绍每位的含义: TMOD(89H TMOD(89H)
图 7.2 定时计数器 工作方式0 工作方式0
1,工作在定时方式 2,工作在计数方式 【 例 7-1】 利用定时器 T0 产生定时脉冲 . 每隔 2ms 产生 利用定时器T 产生定时脉冲. 每隔2ms产生 宽度为2 个机器周期的正脉冲, 宽度为 2 个机器周期的正脉冲 , 由P1.0 输出此定时序列 脉冲信号(设时钟频率为6MHZ) 脉冲信号(设时钟频率为6MHZ). 解:首先求出定时器T 初值.由于时钟频率为6MHZ, 解:首先求出定时器T0初值.由于时钟频率为6MHZ, 所以,机器周期为2s. 所以,机器周期为2s. 因为:t=( 因为:t=(213-T0初值)× 机器周期 初值) 所 以 , 当 t=2ms 时 , 则 : ( 213-T0 初 值 ) × 2×10t=2 6=2×10-3
当定时器T0工作在方式 当定时器T0工作在方式3时,定时器T1只能工作在方 工作在方式3 定时器T1只能工作在方 并且工作在不需要中断的场合. 式0~2,并且工作在不需要中断的场合.
�
图 7.1.3 控制寄存器TCON 控制寄存器TCON
TF1:定时器T1溢出标志位.当定时器T1溢出时,由硬 TF1:定时器T1溢出标志位.当定时器T1溢出时,由硬 件自动使TF1置 ,并向CPU申请中断.CPU响应中断后, 件自动使TF1置1,并向CPU申请中断.CPU响应中断后, 自动对TF1清零.TF1也可以用软件清零. 自动对TF1清零.TF1也可以用软件清零. TR1:定时器T1运行控制位.可由软件置1 TR1:定时器T1运行控制位.可由软件置1(或清零) 来启动(或关闭)定时器T1,使定时器T1开始计数.用 来启动(或关闭)定时器T1,使定时器T1开始计数.用 指令SETB TR1(或CLR TR1)使TR1置 指令SETB TR1(或CLR TR1)使TR1置1(或清零). TF0:定时器T0溢出标志位.其功能与TF1相同. TF0:定时器T0溢出标志位.其功能与TF1相同. TR0:定时器T0运行控制位.其功能与TR1相同. TR0:定时器T0运行控制位.其功能与TR1相同. IE1:外部中断1请求标志位. IE1:外部中断1 IT1:外部中断1触发方式控制位. IT1:外部中断1触发方式控制位.
IE0:外部中断0 IE0:外部中断0请求标志位. IT0:外部中断0 IT0:外部中断0触发方式控制位. IE1,IT1,IE0,IT0这 位将在第3 IE1,IT1,IE0,IT0这4位将在第3节讲述. 控制寄存器TCON的位地址是88H,可以对它进行位寻址. 控制寄存器TCON的位地址是88H,可以对它进行位寻址.
MAIN:
MOV TMOD , #01H MOV TH0 , #0D8 H MOV TL0 , #0CC H MOV IE , #82H SETB TR0 SJMP $ 中断服务程序; 中断服务程序; ORG 0300H T0INT: CPL P1.0 MOV TH0 , #0D8H MOV TL0 , #0CCH RETI
解得:T0初值=7192=11100000 11000B, 初值=7192=11100000 11000B, 解得:T0初值 其中将高8 其中将高8位11100000 B=E0H赋给TH0; B=E0H赋给TH0; 赋给TH0 低5位11000B=18H赋给TL0. 11000B=18H赋给TL0. 赋给TL0 方法一: 方法一: 采用查询工作方式,编程如下: 采用查询工作方式,编程如下: ORG AJMP ORG MAIN: CLR MOV MOV 0000H MAIN 0100H P1.0 TMOD , #00H TH0 , #0E0H ;设定T0的工作方式 设定T0 T0的工作方式 ;给定时器T0送初值 给定时器T0 T0送初值
2,C/T定时器/计数器方式选择位 C/T定时器 定时器/ C/T=0 设置为定时方式, C/T=0,设置为定时方式,对机器周期进行计数; C/T=1 设定为计数方式,对外部信号进行计数, C/T=1,设定为计数方式,对外部信号进行计数, 外部信号接至T 外部信号接至T0(P3.4)或T1(P3.5)引脚. 引脚. 3,GATE门控位 GATE门控位 GATE=0 GATE=0时,只要用软件使TR0(或TR1)置1就能 只要用软件使TR0 TR1 启动定时器T 启动定时器T0(或T1); GATE=1 GATE=1时,只有在INT0(或INT1)引脚为高电平 只有在INT0 INT1 的情况下, 且由软件使TR0 的情况下 , 且由软件使 TR0 ( 或 TR1 ) 置 1 时 , 才能启 TR1 动定时器T 动定时器T0(或T1)工作. 工作.
t=( t=(216-T0初值)× 机器周期 T0初值 初值) 解得t=55536= 解得t=55536= 11011000 11001100B=D8CCH,其中 11001100B=D8CCH, 将高8 D8H赋给 将高8位D8H赋给TH0,低8位CCH赋给TL0. 赋给TH0, CCH赋给 赋给TL0. 采用中断工作方式,编程如下: 采用中断工作方式,编程如下: ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0100H
7.2.4 工作方式3 工作方式3 工作方式3仅对定时器T0有效.当定时器T0工作在方式 工作方式3仅对定时器T0有效.当定时器T0工作在方式 3时,将16位的计数器分为两个独立的8位计数器TH0和TL0. 时,将16位的计数器分为两个独立的8位计数器TH0和TL0.
图 7.5 定时计数器 工作方式3 作方式3
第7章 定时器/计数器及应用 定时器/
7.1 定时器/计数器的结构 7.2 定时器/计数器的工作方式
退出
7.1 定时器/计数器的结构 定时器/
7.1.1 定时器/计数器的结构 定时器/ 定时器/计数器的结构如图7 所示. 定时器/计数器的结构如图7-1所示.
图7.1 定时器/计数器的结构 定时器/
7.1.3 定时器/计数器的控制寄存器TCON 定时器/计数器的控制寄存器TCON 设定好了定时器/ 设定好了定时器/计数器的工作方式后,它还不能 进入工作状态,必须通过设置控制寄存器TCON中的某 进入工作状态,必须通过设置控制寄存器TCON中的某 些位来启动它工.要使定时器/ 些位来启动它工.要使定时器/计数器停止运行,也必 须通过设置TCON中的某些位来实现.当定时器/ 须通过设置TCON中的某些位来实现.当定时器/计数 器计满溢出,或有外部中断请求时,TCON能标明溢出 器计满溢出,或有外部中断请求时,TCON能标明溢出 和中断情况.下面介绍控制寄存器TCON每位的含义: 和中断情况.下面介绍控制寄存器TCON每位的含义: