第8章-STC11F定时器计数器

合集下载

第8章 STC计数器和定时器原理及实现

第8章 STC计数器和定时器原理及实现

辅助寄存器AUXR
比特 B7
B6
B5
B4
B3
B2
B1
B0
名字 T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM S1ST2
计数器/定时器寄存器组
--辅助寄存器AUXR
T0x12
定时器0速度控制位。当该位为0时,定时器0是12分频;当该位为1时, 定时器0不分频。
M1和M0(TMOD.5和TMOD.4)
定时器/计数器1模式选择,如下表所示。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
M1 M0
定时器/计数器1模式选择 工作模式
0 0 16位自动重新加载模式。当溢出时,将RL_TH1和RL_TL1的值自动重 新加载到TH1和TL1中
C/T(TMOD.2)
该位用于控制定时器/计数器0的工作模式。当该位设置为1时,定时 器/计数器0工作在计数器模式下,即:对引脚T0/P3.4外部脉冲计 数;当该位设置为0时,定时器/计数器0工作在定时器模式,即:对 内部时钟进行计数。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
该位用于控制定时器/计数器1。当该位为1时,只有在INT1引脚为高, 并且TCON寄存器的TR1位置1时,才能打开定时器/计数器1。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
C/T(TMOD.6)
该位用于控制定时器/计数器1的工作模式。当该位设置为1时,定时器/ 计数器1工作在计数器模式下,即:对引脚T1/P3.5外部脉冲计数;当 该位设置为0时,定时器/计数器1工作在定时器模式,即:对内部时钟 进行计数。

《定时计数器》PPT课件 (2)

《定时计数器》PPT课件 (2)
<想一想> 如果我们需要超过计数器计数范围的定时或计数功能,应该怎样做?
2.时间常数初值的计算
定时/计数器只要预设一个时间常数初值,就可以完成不
超过其计数范围的任意大小的计数。算法如下:
定时时间常数初值X:
方式0
X=8192-t(fosc/12)
方式1
X=65536-t(fosc/12)
方式2、方式3 X=256-t(fosc/12)
TH0此时只能用作内部定时功能,它借用了定时/计数器T1的控 制位TR1和T1的中断标志位TF1,其启动和停止只受TR1控制。
图4-14 定时/计数器T0方式3的逻辑结构示意图
定时器T1无工作方式3,当定时器T0工作在方式3 时,定时器T1可设置为方式0、方式1和方式2。
1.定时/计数器的定时/计数范围
;自动申请中断 SETB TR0 ;启动T0波特率发生器 3.总结:对计数过程是否结束有查询和中断两种 方法,要合理选择,并在程序设计中正确体现。
1. 定时/计数器用于外部脉冲宽度的测量 (1)测量原理
可以利用定时/计数器方式寄存器TMOD中的门控 位GATE与 引脚配合使用,控制定时/计数器的启 动与停止: ➢ 当GATE=1时,要求TR1=l,且 为高电平, 才能启动定时器T1计数工作;如果 出现低电平,则 T1停止计数; ➢ 当GATE=0时,只要TR1=1就可以启动定时器, 而与 的输入状态无关。
定时器初值的设置
在主频为12MHz的情况下,每个时钟脉冲是1微秒,则 计满65536个脉冲需65.536毫秒,如要定时10毫秒则存入初 值55536,(10毫秒是10000微秒,需计数10000个脉冲)。 可见,
定时器的定时时间长短与系统时钟和定时器初 值有关。

增强型8051单片机的定时计数器

增强型8051单片机的定时计数器

#define uchar unsigned char
#define uint unsigned int
uchar LED=0xfe;
4.1 STC11F08XE单片机定时/计数器的定时应用
/*---------------------利用T1实现定时的子函数------------------*/
式0、方式1,若用于循环定时时,每次计满溢出,寄存器状态全部清零,第二次 计数需要重新装入计数初值。这样不仅编程麻烦,而且影响定时时间的精度。而 方式2具有自动恢复初值功能,即初值的自动重装功能,避免了上述的缺陷,适 合用作较精确的定时。
四.方式3
方式3的电路框图如图7.6所示,定 时器T0被分解成两个独立的8位定时 /计数器TL0和TH0。方式3时,定时 /计数器1仍可设置为方式0、方式1 或方式2。
ACALL
DELAY ;利用软件与定时器,实现1s定时
RL
A
; 改变信号灯显示状态,左移
DJNZ R2,Left_Shift ;判断左移流程是否结束,若结束,转入右移控制
MOV A,#7FH ;设置信号灯的显示(右移)的起始状态值,可省略
MOV
hift:
LED=_crol_(LED,1); //循环左移一位 } else if(t<15) {
LED=_cror_(LED,1); //循环右移一位 } else {t=0;} }
4.1 STC11F08XE单片机定时/计数器的定时应用
/*--------------------T1中断服务子函数------------------*/
uchar i=0;
uchar t=0;
4.1 STC11F08XE单片机定时/计数器的定时应用

stc11f04e原理

stc11f04e原理

stc11f04e原理一、概述本文将介绍s tc11f04e芯片的原理,包括其基本概念、结构和工作原理。

st c11f04e是一款单片机芯片,广泛应用于各种电子设备和嵌入式系统中。

二、芯片结构s t c11f04e芯片采用高性能的8位单片机结构,集成了各种外设和功能模块,包括中央处理器、存储器、输入/输出接口、定时器、串口通信等。

它的结构紧凑,功耗低,适合在资源有限的环境中使用。

三、工作原理s t c11f04e芯片的工作原理如下:1.中央处理器s t c11f04e芯片的中央处理器采用8位的哈佛架构,具有高性能和低功耗的特点。

它可以执行各种指令,并控制其他模块的工作。

2.存储器s t c11f04e芯片内置的存储器包括F las h存储器和RA M存储器。

其中,Fl as h存储器用于存储程序和数据,而R AM存储器用于临时数据存储。

3.输入/输出接口s t c11f04e芯片提供了多个输入/输出引脚,用于与外部设备进行数据交换。

它支持数字输入输出和模拟输入输出,并能够通过中断和轮询方式进行数据传输。

4.定时器s t c11f04e芯片内置了多个定时器,用于测量时间和控制时序。

它可以实现定时中断、定时计数和PW M输出等功能。

5.串口通信s t c11f04e芯片支持异步串行通信,具有多种通信方式和协议。

它可以与其他设备进行数据交换,实现远程监控、数据传输等功能。

四、应用领域s t c11f04e芯片由于其低成本、低功耗和高性能的特点,在各种嵌入式系统中得到广泛应用。

它可以用于家电控制、电子仪器、工业自动化、智能家居等领域。

五、总结本文对s tc11f04e芯片的原理进行了简要介绍,包括其基本概念、结构和工作原理。

s tc11f04e芯片作为一款高性能的8位单片机,具有广泛的应用前景。

希望本文能对读者了解st c11f04e芯片有所帮助。

以上就是关于st c11f04e原理的文档内容,介绍了该芯片的概述、结构、工作原理、应用领域等方面的内容。

定时器计数器

定时器计数器

0
0 计数器0 1 计数0器锁存0操作 方式4
0
1 计数器1 1 只读0写低位1字节 方式5
1
0 计数器2 只读写高位字节
1
1 非法
先读写低位字节 后读写高位字节
第一章 概述
例:设8253的端口地址是8000h-8003h,计数器1工作在方式 0,按二进制计数,计数初值为4。写出初始化程序。
1.控制字为01010000B=50H。
第一章 概述
(2)定时原理 ☆定时器脉冲来源:系统时钟振荡器。 ☆定时时间:定时器对内部机器周期计数(1个机器周期
等于12个振荡周期,即计数频率为晶振频率的1/12)。
若 MCS-51主频为12MHz,机器周期为1μs,即12MHz晶振 时,每1μs定时器完成加1操作。
定时时间 t =计数值N x 计数脉冲周期T
8.1 概述
实现定时常用的三种方法:
软件定时 不可编程的硬件定时 可编程芯片定时
第一章 概述
1. 软件定时
执行指令所花费的时间来构成一定的时间间隔, 从而达到定时的目的。
例如:
MOV R0,50H
DELAY:NOP
DJMZ R0, DELAY
优点:不需要专门的硬件设备。 缺点:浪费了宝贵的CPU资源,效率低。
OUT:输出引脚,当计数减到0时, 该引脚有输出。
第一章 概述
3. 8253的控制字
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
00 01 10
11
0 二进制
1 BCD 0 0 0 方式0
0 0 1 方式1
× 1 0 方式2
× 1 1 方式3

第11章 STC计数器和定时器原理及实现(1)

第11章 STC计数器和定时器原理及实现(1)

计数器/定时器模块
--概述
定时器/计数器T0和T1
通过特殊功能寄存器TMOD相对应的控制位C/T,确定T0/T1工作 在定时器还是计数器模式。
定时器/计数器T2
通过特殊功能寄存器AUXR中相对应的控制位T2_C/T,确定T2 工作在定时器还是计数器模式。
计数器/定时器模块
--概述
定时器/计数器T3
功能 不启动定时器
启动定时器 不启动定时器
启动定时器 不启动定时器 不启动定时器 不启动定时器
启动定时器
计数器/定时器工作模式原理和实现
--定时器/计数器0工作模式
AUXR.7/T0x12比特位
当该位为0时,通过开关将SYSclk/12后得到的时钟接入到定时器/计数器0 中;当该位为1时,通过开关将SYSclk直接接入到定时器/计数器0中。
区别在于计数脉冲来源不同:
如果计数脉冲来自单片机内的系统时钟,则为定时方式,定时器/计 数器每12个时钟或者1个时钟就得到一个计数脉冲,计数值加1。
如果计数脉冲来自单片机外部引脚,则为计数方式,当每接收到一 个外部的脉冲时,计数值加1。
计数器/定时器模块
--概述
定时器/计数器0有4种工作模式(不要死背,从结构分析)
定时器/计数器2工作模式
定时器/计数器2只有16位自动重加载模式
定时器/计数器3工作模式
定时器/计数器3只有16位自动重加载模式
计数器/定时器工作模式原理和实现
--定时器/计数器4工作模式
定时器/计数器4只有16位自动重加载模式
通过特殊功能寄存器T4T3M中相对应的控制位T3_C/T,确定 T3工作在定时器/计数器模式。
定时器/计数器T4
通过特殊功能寄存器T4T3M中相对应的控制位T4_C/T,确定 T4工作在定时器/计数器模式。

plc定时器与计数器

plc定时器与计数器
第27页/共43页
(2)计数值
计数值的范围为0~999,如下图所示,计数器值有两种存储格 式:
一种是BCD码格式,则该字的0~11位是计数值的BCD码,用
格式 15
87
0
0 0 0 10 0 1 0 0 1 1 1
C#127表示BCD码127;
未用
1
2
7
另一种是二进制格式,只占用计数器字的0~9位,。
机M2起 动;按下停止按钮,M2立即停止,延时10s后,
M1停机。 起动按钮:I0.1; 停止按钮:I0.2 电动机M1:Q0.0; 电动机M2: Q0.1
例4:定时器扩展,在S7-300中,单个定时器的最大计时范围 是9990s
或2H-46M-30s,如果超过这个范围,可以采用两个(或多个)
第42页/共43页
= 输出地址 //输出地址 为1状态
第32页/共43页
STL等效程序
3. S_CU(加计数器)块图指令
第33页/共43页
4. S_CD(减计数器)块图指令
第34页/共43页
5. 计数器的线圈指令 除了前面介绍的块图形式的计数器指令以外,S7-300系统
还为用 户准备了LAD环境下的线圈形式的计数器。这些指令有计数器
L(装入指令):把预置值装入累加器1 SP(为脉冲定时器指令):启动定时器 R:复位Tn0 L Tn0:把Tn0的十六进制时间当前值装入累加器1 T 时间字单元1:把累加器1的内容传送到时间字单元1 LC Tn0:把Tn0的BCD时间当前值装入累加器1 T 时间字单元2:把累加器1的内容传送到时间字单元2 A Tn0:检查Tn0的信号状态 = 输出地址: Tn0的定时器位为1时,输出地址有输出。
圈表示 的形式,指令格式、示例及时序波形图见下图所示。各输入端及输

第 章 STC C 单片机定时计数器

第 章 STC C 单片机定时计数器
8
6.2.1 定时器/计数器0和1的相关寄存器 • STC89C52单片机与定时/计数器0和1的
相关寄存器见表6-2所示.
表6-2 定时器/计数器的0和1相关寄存器
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T0 类同
M1M0:方式选择位 C/T : 功能选择位 GATE: 门控位
一个机器周期
12或6 6MHz
12或6 6 106
s
2s或1s (1)
注意:对于传统51系列单片机,式(1)中分子取值为12, 而对于STC89C52单片机,式(1)中分子取值是根据计数 脉冲倍速设置来定(参见教材图4-12),若单片机选12T, 则式(1)分子为12,若选6T,则式(1)分子为6。若没 有特别提出,书中STC89C52单片机都选12T模式。
MOV TL0,#38H
X=56=38H
MOV TH0,#38H
SETB TR0
16
6.2.2 定时/计数器0和1的四种工作方式
由上节可知,通过对TMOD中的M1M0的设 置,可以选择四种工作方式。也就是每个定时 器可构成4种电路结构模式。
在模式0、1和2,T0和T1的工作方式相同, 在模式3,两个定时器的方式不同。下面以T1 为例,分述各种工作方式的特点和用法。
5
当定时器/计数器工作在定时模式时,可在烧录用户 程序时在STC -ISP编程器中设置如图4-12是系统时钟/12 还是系统时钟/6后让T0和T1进行计数。当定时/计数器工 作在计数模式时,对外部计数脉冲计数不分频。
图4-12 计数脉冲倍速设置
6
6
结论: 单片机中的定时器和计数器是一个东
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2)确定TMOD内容:T0工作于定时器方式0,M1M0=00H、C/-T=0、GATE=0;定时 器T1不用,取为全0,于是TMOD = 00000000B = 00H。
7.4 定时器/计数器的应用举例
3) 程序设计(查询方式)
ORG 0000H AJMP MIAIN MAIN: ORG 0030H ;主程序 MOV TMOD,#00H MOV TH0,#0E0H ;E018H ;1mS初值 MOV TL0,#18H SETB TR0 ;启动T0 Check_TF0: JBC TF0 Time_overflow ;查询T0溢出标志 SJMP Check_TF0 Time_overflow: CPL P1.0 ;输出方波 ;重装计数初值 MOV TH0,#0E0H MOV TL0,#18H
方式0(13位方式):C =(64H)求补=0000001100100+1=1F9CH 方式1(16位方式):C =(64H)求补=0000000001100100+1=FF9CH
方式2(8位方式) : C =(64H)求补 = 01100100+1 = 9CH 注意:定时器/计数器在工作方式0时的初值装入方法!(低5位,高8位)
如果分频设定T0x12=0, 则12分频, Tcy=12/fosc;
分频设定T0x12=1, 则不分频, Tcy=1/fosc。
7.3 定时器/计数器的工作方式
3.方式2
当M1M0=10 时,方式2为自动重装载的8位定时器/计数器模式。
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1 “1”闭合
7.3 定时器/计数器的工作方式
4. 方式3
当M1M0=11 时,定时器/计数器0 设定为工作方式3。将T0分成为两个独立的8位 计数器TL0和TH0 。方式3 只适用于定时器T0,当定时器T1 处于方式3 时,相当于 TR1=0,T1 将停止工作。
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1
M1 0 0 1 M0 0 1 0 工作方式 0 1 2 方式说明 13位定时/计数器 16位定时/计数器 可自动重装入的8位定时/计数器 T0分为2个8位定时器,T1无此方式
1
1
3
注意 :TMOD 不能位寻址!
7.2 定时器/计数器的控制
2. 定时器/计数器控制寄存器TCON
B7 TF1 B6 TR1 B5 TF0 B4 TR0 B3 IE1 B2 IT1
f0sc
S2 TL0 低 5位 “1”闭合 & TH0 8位 TF0
S1 T0引脚 TR0 1 ≥1
中断 请求
断引脚信号引脚的高电平启动计数,外 GATE 中断引脚信号引脚的低电平停止计数。 INT0 这种方式常用来测量外中断引脚上正脉 冲的宽度。
图7.3 定时器/计数器0工作方 式0的逻辑结构图
●定时模式时,定时值 T=(213-X) Tcy
1ms产生一次中断,在中断服务程序中将输出信号取反即可。
解:1)计算计数初值:要定时1ms,用方式0(13位定时器)就可实现。
由于晶振为12MHz,所以机器周期Tcy为1s。 所以:X=t/ Tcy =1×10
-3
/1×10
-6
=1000=3E8H
计数常数为:C=(3E8H)补= 0001111101000 +1= 1110000011000B=1C18H 初值=1110,0000,XXX1,1000B =E018H
解: C =(0003H)补 =(0000,0000,0000,0011B)补=1111,1111,1111,1101B=FFFDH
0000001100 100B
7.3 定时器/计数器的工作方式
又例: T0运行于定时器状态,时钟振荡周期为12MHz,要求定时 100µs。求不同工 作方式时的定时初值。(设T0x12=0) 解: 因为机器周期Tcy =(T0x12)/ 12MHZ = 1µs 所以要计数的机器周期个数为100,即64H。 ;(T0x12)是分频值1、12
因为,计数器溢出的含义是指加满到计数器的模值2n(n位计数位数),即 X + C = 模=2n 所以, C = 2n–X =2n +(–X)=(X)补 可见,计数初值的大小等于需要计数的个数X求补运算µ s,则计数脉冲个数为X=t/Tcy,(Tcy为
考虑分频系数后的时钟周期),同理可知,定时初值为 (t/Tcy )求补。 例: T0运行于计数器状态,工作于方式1(16位方式),要求外部引脚出现3个脉 冲后,T0计满溢出而申请中断,试求计数初值C。
计数模式时,计数值为N=213-X 初值还可以采用计数个数直接取补法获得 。
● 注:STC15系列改进为16位 重装常数方式
7.3 定时器/计数器的工作方式
2.方式1
当 M1M0=01 时方式, 1为 16位定时器 /计数器模式,由 TL0+TH0,其它控 制逻辑与方式0相同 。 (上图TL0改8位全用)
7.2 定时器/计数器的控制
3. 辅助寄存器AUXR (8EH单元,STC11F增加)
B7 T0x12 B6 T1x12 B5 B4 B3 -B2 B1 B0
UART_MOx6 BRTR
BRTx12 XRAM S1BRS
设置T1分频系数:0--foscd的12分频 1--不分频 设置T0分频系数:0--foscd的12分频 1--不分频
T1引脚 T0引脚
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
T0x12
TF1
TR1
TF0
TR0
C/T
C/T
M1
M0
M1
T1方式
T0方式
M0
TCON
TMOD
AUXR
T1x12
GATE
GATE
7.2 定时器/计数器的控制
1 . 工作方式寄存器TMOD (89H) B7 GATE
B6
C/T
B5
M1 控制T1
7.4 定时器/计数器的应用举例
课后作业,准备下节课堂调试要求
在例题7.1基础上,晶振24MHz, 修改程序,调试到LED在0.3~0.6秒之间频率 闪烁。可通过查询方式和中断方式分别实现。
下一节课先讲例题7.2、7.3, 然后调试示例5 和示例6
7.4 定时器/计数器的应用举例
对定时器/计数器初始化编程一般包括以下5个步骤: ◆对TMOD赋值,以确定工作方式; ◆对AUXR赋值,以确定分频系数; ◆计算定时初值,并写入寄存器TH0、TL0或TH1、TL1中。 ◆置位EA、置位ETX,设置IP,允许中断及确定优先级(需要时)。 ◆置位TRX启动定时器/计数器。
7.4 定时器/计数器的应用举例
例7.1
若STC11F单片机的晶振频率为12MHz,要求利用T0方式0,定时分频系数 12 ,P1.0引脚输出周期为2ms的方波(课本用T1方式1,10ms)。
思路:若要产生周期为2ms的方波,只要每1ms将信号的幅值由0变到1或由1变到0即
可,可采用取反指令CPL来实现。为了提高CPU的效率,可采用定时方式0中断,每
◆T0和T1,可由程序选择作为定时器或作为计数器使用,定时时间或计数值也可程
序设定。定时频率是振荡频率的1/12,计数是负跳变时加1。 ◆ 定时器/计数器可用程序选择不同的工作方式,T0具有4种方式,T1具有3种方式。 ◆任一定时器/计数器在定时时间到或计数值到时,可由程序安排产生中断请求信号
或不产生中断请求信号。
RETI
END
;中断返回
7.4 定时器/计数器的应用举例
课堂调试示例工程5_定时器控制P0口输出
7.4 定时器/计数器的应用举例
第7章 STC11F单片机的定时器/计数器
7.1 单片机定时器/计数器结构与原理 7.2 单片机定时器/计数器的控制 7.3 单片机定时器/计数器的工作方式 7.4 单片机定时器/计数器的应用举例 7.5 单片机定时器/计数器的可编程 时钟输出功能
7.1 定时器/计数器的结构与原理
◆ 两个16位加1计数器,THx+TLx成。TMOD工作方式寄存器;TCON控制寄存器, 控制Tx的启、停及设置溢出标志;AUXR辅助寄存器设定内部计数脉冲的分频系数。
7.3 定时器/计数器的工作方式
定时器/计数器T0有4种工作方式,T1没有工作方式3。 1. 方式0
当M1M0=00 时,方式0为13位定时器/计数器模式,由TL0的低5位+TH0的8位组成。
÷ 12 T0X12
S3 不分频 0 1 C/T=0 C/T=1
●门控位GATE具有特殊的作用:
当GATE=0时,此时仅由TR0=1控 制与门的开启,计数开始; 当 GATE=1 时,当 TR0=1 时,外中
SJMP Check_TF0
END
7.4 定时器/计数器的应用举例
4) 程序设计(中断方式)
ORG 0000H AJMP MIAIN ORG 000BH ;T0中断服务程序入口 LJMP Time0_ISR ORG 0030H ;主程序 MAIN: MOV TMOD,#00H MOV TH0,#0E0H ;E018H ;1mS初值 MOV TL0,#18H SETB EA ;开全局中断 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0 SJMP $ ;暂停,等待中断 Time0_ISR :CPL P1.0 ;输出方波 ;重装计数初值 MOV TH0,#0E0H MOV TL0,#18H
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1
S2 TL0 8位 “1”闭合 & TH0 8位 TF0
相关文档
最新文档