文档库 最新最全的文档下载
当前位置:文档库 › TD-SCDMA定时器详解与设置

TD-SCDMA定时器详解与设置

TD-SCDMA定时器详解与设置
TD-SCDMA定时器详解与设置

一、UE相关的空闲模式下定时器参数

(一).1 T300

1. 名称

T300定时器/T300

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D100, D200, D400, D600, D800, D1000, D1200, D1400, D1600,

D1800, D2000, D3000, D4000, D6000, D8000

物理取值范围:100, 200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 3000, 4000, 6000, 8000

物理单位:ms

4. 参数设置

T300是空闲模式下UE等待RRC CONN SETUP的定时器,在SIB1中广播。

图1T300使用示意图

UE在发送RRC CONNECTION REQUEST消息后启动T300定时器,并将记录RRC CONNECTION REQUEST消息发送次数的计数器V300累加1;在收到RRC CONNECTION SETUP消息后停止T300。

一旦T300定时器超时,UE检查计数器V300,若V300 <= N300(N300解释见下一章节),则重发RRC CONNECTION REQUEST,否则进入空闲模式。

T300设置的过大,会增大网络内UE 信令面平均接入时延;

T300设置的过小,会影响网络内UE信令面接入成功率。

缺省值:无

5. 相关命令

通过“SET IDLEMODETIMER”命令进行设置,通过“LST IDLEMODETIMER”命令进行查询。

(一).2 N300

1. 名称

N300常数/ N300

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:0 ~ 7

物理单位:无

4. 参数设置

N300表示空闲模式下允许UE发送RRC CONNECTION REQUEST消息的最大次数,在SIB1中广播。

N300设置的越大,在无线网络较差的情况下对提高接入成功率会有益处,但占用公共信道时间比较长,增加网络负载;

N300设置的越小,占用的公共信道时间会越少,但会降低接入成功率。

缺省值:无

5. 相关命令

通过“SET IDLEMODETIMER”命令进行设置,通过“LST IDLEMODETIMER”命令进行查询。

1. 名称

T312定时器/T312

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:1 ~ 15

物理单位:s

4. 参数设置

T312是空闲模式下UE等待专用物理信道建立的定时器,在SIB1中广播。

UE在开始建立专用物理信道时启动此定时器, 当检测到N312次来自L1层的“in sync”指示后停止T312定时器。

一旦T312定时器超时,则意味着物理信道建立失败。

T312设置的过大,UE要较长时间才能察觉专用物理信道建立失败,此时间内相关资源无法及时释放,也无法发起或响应新的资源或信道建立。

T312设置的过小,很可能造成专用物理信道建立失败的误判,将本可以在稍后建立成功的专用物理信道释放。

缺省值:无

5. 相关命令

通过“SET IDLEMODETIMER”命令进行设置,通过“LST IDLEMODETIMER”命令进行查询。

1. 名称

N312常数/ N312

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D1, D2, D4, D10, D20, D50, D100, D200, D400, D600, D800, D1000

物理取值范围:1, 2, 4, 10, 20, 50, 100, 200, 400, 600, 800, 1000

物理单位:无

4. 参数设置

N312表示空闲模式下UE从L1层接收“in sync”的次数,在SIB1中广播。

N312设置的越大,越可以保证专用物理信道传输的可靠性,但相应的也会增加专用物理信道建立成功的时延;

N312设置的越小,越增加专用物理信道可用风险,造成本来不可用的专用物理信道被认为成功建立的误判可能性就越大,但专用物理信道建立成功的时延会越小。

缺省值:无

5. 相关命令

通过“SET IDLEMODETIMER”命令进行设置,通过“LST IDLEMODETIMER”命令进行查询。

二、UE相关的连接模式下定时器参数

1. 名称

T302定时器/T302

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D100, D200, D400, D600, D800, D1000, D1200, D1400, D1600,

D1800, D2000, D3000, D4000, D6000, D8000

物理表示范围:100, 200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 3000, 4000, 6000, 8000

物理单位:ms

4. 参数设置

T302是连接模式下UE等待CELL UPDATE CONFIRM/URA UPDATE CONFIRMD

的定时器,在SIB1中广播。

图2T302使用示意图

UE在发送CELL UPDATE/URA UPDATE消息后启动T302定时器,并将记录CELL UPDATE/URA UPDATE消息发送次数的计数器V302累加1;在收到CELL UPDATE CONFIRM/URA UPDATE CONFIRM消息后停止T302。

一旦T302定时器超时,UE检查计数器V302,若V302 <= N302(N302解释见下一章节),则重发CELL UPDATE/URA UPDATE,否则进入空闲模式。

T302设置的过大,会增大UE小区更新/URA更新流程平均时延;

T302设置的过小,会影响UE小区更新/URA更新流程成功率。

在LCR4.0 RNC版本内,SIB1中广播的T302=Roundup{[定时器302] + 2×[IUB传输时延]}, 其中,[定时器302]为SET CONNMODETIMER配置值,[IUB传输时延]为ADD NodeB中配置的IUB传输时延,Roundup为向上取整映射到{100,200,400,600,800,

1000,1200,1400,1600,1800,2000,3000,4000,6000,8000ms}中的某个值。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

N302常数/ N302

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:0 ~ 7

物理单位:无

4. 参数设置

N302表示连接模式下允许UE发送CELL UPDATE/URA UPDATE消息的最大次数,在SIB1中广播。

N302设置的越大,在无线网络较差的情况下对提高小区更新/URA更新流程成功率会有益处,但占用相应信道时间比较长,增加网络负载;

N302设置的越小,占用的相应信道时间会越少,但会降低小区更新/URA更新流程成功率。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T304定时器/T304

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D100, D200, D400, D1000, D2000

物理表示范围:100, 200, 400, 1000, 2000

物理单位:ms

4. 参数设置

T304是连接模式下UE等待UE CAPABILITY INFORMATION CONFIRM的定时器,在SIB1中广播。

图3T304使用示意图

UE在发送UE CAPABILITY INFORMATION消息后启动T304定时器,并将记录UE CAPABILITY INFORMATION消息发送次数的计数器V304累加1;在收到UE CAPABILITY INFORMATION CONFIRM消息后停止T304。

一旦T304定时器超时,UE检查计数器V304,若V304 <= N304(N304解释见下一章节),则重发UE CAPABILITY INFORMATION,否则启动小区更新过程。

T304设置的过大,会增大UE能力信息更新流程的平均时延;

T304设置的过小,会影响UE能力信息更新流程的成功率。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

N304常数/ N304

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:0 ~ 7

物理单位:无

4. 参数设置

N304表示连接模式下允许UE发送UE CAPABILITY INFORMATION消息的最大次数,在SIB1中广播。

N304设置的越大,在无线网络较差的情况下对提高UE能力信息更新流程成功率会有益处,但占用相应信道时间比较长,增加网络负载;

N304设置的越小,占用的相应信道时间会越少,但会降低能力信息更新流程成功率。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T305定时器/T305

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:INFINITY, D5, D10, D30, D60, D120, D360, D720

物理表示范围:INFINITY, 5, 10, 30, 60, 120, 360, 720

物理单位:min(分钟),INFINITY表示不触发小区更新或URA更新

4. 参数设置

T305是连接模式下当UE处于非DCH状态时在同一状态下进行周期性小区更新的定时器,在SIB1中广播。

UE在进入某一种非DCH状态后(CELL_FACH/CELL_PCH/URA_PCH),就会启动

T305。一旦T305超时,且UE检测处于服务区域,则UE需要发送CELL/URA UPDATE 消息,并停止T305;当UE收到CELL UPDATE CONFIRM/URA UPDATE CONFIRMD 后,再启动T305,而当T305再超时并且UE仍然处于服务区域,会再次发起CELL/URA UPDATE,从而实现周期性发起CELL/URA UPDATE的功能。

如果T305超时,但UE检测到当前处于非服务区,则启动T307定时器(T307解释见下一章节)。

当UE发生状态迁移时,当前启动的T305定时器需要被停止。

T305设置的过大,会导致UE对是否处于服务区的检测变得很不敏感,从而导致长时间处于非服务区时资源无法及时释放。

T305设置的过小,会导致UE频繁发起周期性小区更新或URA更新,从而过多的占用相应信道和资源,增加无效的网络负载。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T307定时器/T307

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D5, D10, D15, D20, D30, D40, D50

物理表示范围:5, 10, 15, 20, 30, 40, 50

物理单位:s

4. 参数设置

T307是连接模式下UE等待进入服务区的定时器,在SIB1中广播。

当T305定时器超时,且UE检测离开服务区域,则启动T307定时器。

当UE检测处于服务区域则停止T307定时器。

T307一旦超时,UE从连接模式进入空闲模式。

T307设置的过大,会导致UE长时间处于非服务区时资源无法及时释放。

T307设置的过小,会导致UE无法平滑短期内的进出服务区,从而将可恢复性的进出服务区行为误判为无法继续与网络侧连接而发起本地释放。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T308定时器/T308

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D40, D80, D160, D320

物理表示范围:40, 80, 160, 320

物理单位:ms

4. 参数设置

T308是连接模式下UE发送RRC CONNECTION RELEASE COMPLETE消息的保护定时器,在SIB1中广播。

图4T308使用示意图

当UE发送了RRC CONNECTION RELEASE COMPLETE消息后启动T308定时器,并将记录RRC CONNECTION RELEASE COMPLETE消息发送次数的计数器V308累加1;没有条件会触发T308停止。

一旦T308定时器超时,UE检查计数器V308,若V308 <= N308(N308解释见下一章节),则重发RRC CONNECTION RELEASE COMPLETE消息,否则进入空闲模式。

T308设置的过大,会增大UE完成RRC释放流程的平均时延,从而导致相应资源无法及时释放;

T308设置的过小,会导致UE过渡频繁重发RRC CONNECTION RELEASE COMPLETE消息,无效占用相应信道资源。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

N308常数/ N308

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:1 ~ 8

物理单位:无

4. 参数设置

N308表示连接模式下允许UE发送RRC CONNECTION RELEASE COMPLETE消息的最大次数,在SIB1中广播。

N308设置的越大,在无线网络较差的情况下对提高RRC CONNECTION RELEASE COMPLETE消息发送成功率会有益处,但占用相应信道时间比较长,增加网络负载;

N308设置的越小,占用的相应信道时间会越少,但会降低RRC CONNECTION RELEASE COMPLETE消息发送的成功率。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T309定时器/T309

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:1 ~ 8

物理单位:s

4. 参数设置

T309是连接模式下UE等待异系统接入成功的定时器,在SIB1中广播。

图5T309使用示意图

当UE从连接模式重选到一个属于其它无线接入系统的小区,或者当UE接收到CELL CHANGE ORDER FROM UTRAN消息后启动T309定时器。

当UE在一个新小区成功建立连接后停止T309定时器。

一旦T309超时,继续与UTRAN的连接。

T309设置越大,可以提高异系统重选成功率,但是会增大异系统重选平均时延。

T309设置越小,可以减少异系统重选的时延,但会导致重选成功率下降。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T313定时器/T313

2. 影响范围

RNC

3. 参数取值范围

参数取值范围:0 ~ 15

物理单位:s

4. 参数设置

T313是连接模式下UE检测无线链路失败的定时器,在SIB1中广播。

当UE从L1检测到连续N313个失步指示后启动T313定时器。当UE从L1检测到连续N315个同步指示后停止T313定时器。

一旦T313超时,UE上报原因值为RL FAILURE的CELL UPDATE消息通知RNC空中接口下行失步。

T313设置的过大,UE要较长时间才能察觉RL下行失步,此时间内相关资源无法及时释放,也无法发起恢复操作或响应新的资源建立请求。

T312设置的过小,很可能造成对RL偶而的闪断过于敏感,从而导致频繁对本可以迅速自我恢复的RL上报CELL UPDATE消息,造成系统不必要的消息处理和流程开销。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

N313常数/ N313

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D1, D2, D4, D10, D20, D50, D100, D200

物理取值范围:1, 2, 4, 10, 20, 50, 100, 200

物理单位:无

4. 参数设置

N313表示连接模式下UE从L1收到连续失步指示的最大次数,在SIB1中广播。

N313设置的越大,UE对RL失步的判断就越不敏感,可能造成本来不可用的RL迟迟不能被上报RL失步进而无法触发后续的恢复或重建操作。

N313设置的越小,越可以保证RL传输的可靠性,但相应的也会增加可恢复性RL闪断的误判,从而可能导致UE频繁的上报原因值为RL FAILURE的CELL UPDATE消息。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T314定时器/T314

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D0, D2, D4, D6, D8, D12, D16, D20

物理取值范围:0, 2, 4, 6, 8, 12, 16, 20

物理单位:s

4. 参数设置

T314是连接模式下UE在CELL UPDATE过程中对RB的释放保护定时器(针对CS 域业务),在SIB1中广播。

当RL下行失步满足无线链路失败准则,UE发送了原因值为RL FAILURE的CELL UPDATE消息后,若当前存在与T314定时器关联的无线承载,则UE需要启动T314定时器。当小区更新过程完成后停止T314。

在业务对应的T314超时之前,如果由CELL UPDATE CONFIRM配置的无线链路建不成功,则还可以重发CELL UPDATE消息,进行无线链路的重建(重发CELL UPDATE消息和等待响应的保护机制由T302和N302联合完成),基于此目的,配置T314应大于

T302×N302。

一旦T314超时,则相应的业务RB就被删除。

T314设置的过大,UE要较长时间才能将已无法恢复的RL的相应业务资源释放,此时间内相关资源吊死,无法分配给其他业务使用。

T314设置的过小,如上文所述,很可能造成无法与T302和N302的正确配合工作,从而导致RL重建失败率上升,业务被过早释放。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

T315定时器/T315

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D0, D10, D30, D60, D180, D600, D1200, D1800

物理取值范围:0, 10, 30, 60, 180, 600, 1200, 1800

物理单位:s

4. 参数设置

T315是连接模式下UE在CELL UPDATE过程中对RB的释放保护定时器(针对PS 域业务),在SIB1中广播。

当RL下行失步满足无线链路失败准则,UE发送了原因值为RL FAILURE的CELL UPDATE消息后,若当前存在与T315定时器关联的无线承载,则UE需要启动T315定时器。当小区更新过程完成后停止T315。

在业务对应的T315超时之前,如果由CELL UPDATE CONFIRM配置的无线链路重建不成功,则还可以重发CELL UPDATE消息,进行无线链路的重建(重发CELL UPDATE 消息和等待响应的保护机制由T302和N302联合完成),基于此目的,配置T315应大于T302×N302。

一旦T315超时,则相应的业务RB就被删除。

T315设置的过大,UE要较长时间才能将已无法恢复的RL的相应业务资源释放,此时间内相关资源吊死,无法分配给其他业务使用。

T315设置的过小,如上文所述,很可能造成无法与T302和N302的正确配合工作,从而导致RL重建失败率上升,业务被过早释放。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

1. 名称

N315常数/ N315

2. 影响范围

RNC

3. 参数取值范围

数值取值范围:D1, D2, D4, D10, D20, D50, D100, D200, D400, D600, D800, D1000

物理取值范围:1, 2, 4, 10, 20, 50, 100, 200, 400, 600, 800, 1000

物理单位:无

4. 参数设置

N315表示连接模式下在T313定时器启动期间UE从L1接收到连续同步指示的最大次数,在SIB1中广播。

N315设置的越大,越可以保证RL恢复下行同步的可靠性,但相应的也会增加导致T313超时的风险,一旦T313超时,就会触发RL FAILURE原因的小区更新流程;

N315设置的越小,越增加判断RL下行恢复可用的风险,造成本来没有正确恢复下行同步的RL被认为成功恢复的误判可能性就越大,但由此导致的T313超时的风险会越小。

缺省值:无

5. 相关命令

通过“SET CONNMODETIMER”命令进行设置,通过“LST CONNMODETIMER”命令进行查询。

6. 注意事项

05_STM32F4通用定时器详细讲解精编版

STM32F4系列共有14个定时器,功能很强大。14个定时器分别为: 2个高级定时器:Timer1和Timer8 10个通用定时器:Timer2~timer5 和 timer9~timer14 2个基本定时器: timer6和timer7 本篇欲以通用定时器timer3为例,详细介绍定时器的各个方面,并对其PWM 功能做彻底的探讨。 Timer3是一个16位的定时器,有四个独立通道,分别对应着PA6 PA7 PB0 PB1 主要功能是:1输入捕获——测量脉冲长度。 2 输出波形——PWM 输出和单脉冲输出。 Timer3有4个时钟源: 1:内部时钟(CK_INT ),来自RCC 的TIMxCLK 2:外部时钟模式1:外部输入TI1FP1与TI2FP2 3:外部时钟模式2:外部触发输入TIMx_ETR ,仅适用于TIM2、TIM3、TIM4,TIM3,对应 着PD2引脚 4:内部触发输入:一个定时器触发另一个定时器。 时钟源可以通过TIMx_SMCR 相关位进行设置。这里我们使用内部时钟。 定时器挂在高速外设时钟APB1或低速外设时钟APB2上,时钟不超过内部高速时钟HCLK ,故当APBx_Prescaler 不为1时,定时器时钟为其2倍,当为1时,为了不超过HCLK ,定时器时钟等于HCLK 。 例如:我们一般配置系统时钟SYSCLK 为168MHz ,内部高速时钟 AHB=168Mhz ,APB1欲分频为4,(因为APB1最高时钟为42Mhz ),那么挂在APB1总线上的timer3时钟为84Mhz 。 《STM32F4xx 中文参考手册》的424~443页列出与通用定时器相关的寄存器一共20个, 以下列出与Timer3相关的寄存器及重要寄存器的简单介绍。 1 TIM3 控制寄存器 1 (TIM3_CR1) SYSCLK(最高 AHB_Prescaler APBx_Prescaler

CC2530定时器设置以及应用

定时器的应用 一、教学目标 1、熟悉定时器相关寄存器的功能 2、能对程序进行改写以实现不同时间的定时操作 二、教学重点 定时器T1寄存器设置 通过变量累计定时溢出调整定时时间的方法 三、教学难点 定时器以及定时中断寄存器的设置 四、教学方法 案例法、对比法 五、教学过程 [引入]定时器也是CC2530的重要资源之一,CC2530的定时器比51单片机的定时器功能更多,本次课通过阅读、修改程序以及相关寄存器的学习,使大家能基本应用定时器完成不同定时时间的程序设计。 定时器程序设计方法也分为查询法和中断法。 任务一、查询法程序设计 1)结合以下寄存器的功能介绍阅读程序,分析程序的功能,并分析定时时间 2)修改程序实现4个LED指示灯的流水灯控制,延时时间为1秒。 将P1口状态用数组存放,采用循环结构引用数组。 任务二、中断法程序设计 与定时器中断相关的寄存器 ◆定时器初始化

定时中断初始化 void init(void) { P1SEL &= ~0x03; // 设置LED1、LED2为普通IO口 P1DIR |= 0x003 ; // 设置LED1、LED2为输出 LED1 = 0; LED2 = 1; //灭LED T1CTL = 0x05; // T1 通道0,8 分频; 自动重载模式(0x0000->0xffff); IEN1 |=0X02; //定时器1中断使能 EA=1; //开总中断 CLKCONCMD &= 0x80; //时钟速度设置为32MHz } 2)中断服务子程序设计 请同学们将任务一的程序调整为中断服务子程序 #pragma vector = T1_VECTOR //中断服务子程序 __interrupt void T1_ISR(void) { … … } 注意:中断标志需要软件清除,T1的中断标志位为T1IF 六、小结 本次课通过两个案例,分别采用查询法和中断法对定时器1进行程序设计,为后面的串口操作打下了基础。 七、作业 请同学们结合按键控制LED和定时器操作完成程序设计,按下按键,LED灯以1秒的时间间隔依次点亮

C51单片机定时器及数码管控制实验报告

理工大学信息工程与自动化学院学生实验报告 (201 — 201学年第1 学期) 课程名称:单片机技术

一、实验目的 1.掌握定时器T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 2.掌握LED 数码管动态显示程序设计方法。 二、实验原理 1.89C51 单片机有五个中断源(89C52 有六个),分别是外部中断请求0、外部中断请求1、定时器/计数器0 溢出中断请求、定时器/计数器0 溢出中断请求及串行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器TCON 和SCON 中。当中断源请求中断时,相应标志分别由TCON 和SCON 的相应位来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。在

同一优先级别中,靠部的查询逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。 中断的控制用四个特殊功能寄存器IE、IP、TCON (用六位)和SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。中断程序由中断控制程序(主程序)和中断服务程序两部分组成: 1)中断控制程序用于实现对中断的控制; 2)中断服务程序用于完成中断源所要求的中断处理的各种操作。 C51 的中断函数必须通过interrupt m 进行修饰。在C51 程序设计中,当函数定义时用了interrupt m 修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按MCS-51 系统中断的处理方式自动把它安排在程序存储器中的相应位置。 在该修饰符中,m 的取值为0~31,对应的中断情况如下: 0——外部中断0 1——定时/计数器T0 2——外部中断1 3——定时/计数器T1 4——串行口中断 5——定时/计数器T2 其它值预留。 89C51 单片机设置了两个可编程的16 位定时器T0 和T1,通过编程,可以设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。

单片机定时器习题

单片机定时器/计数器、中断和串行口习题 一、填空题 1、若要启动定时器T0开始计数,则应将TR0的值设置为 1 。 2、定时器T1工作在方式0时,其定时时间为(8192-定时器初值)*2us 。方式1时定时时间又为(65536-定时器初值)*2us 。 3、串行通信有异步通信和同步通信两种基本通讯方式。 4、波特率是指每秒钟传递信息的位数。 5、如果要将现有的波特率加倍,可使用指令MOV PCON,#80H 。 6、当串行口工作在方式1时,一帧信息共有10位,即起始位、8个数据位、停止位。 7、串行口工作在方式2时的波特率为fosc/32或fosc/64 。 8、外部中断1的程序入口地址是0013H 。 二、选择题 1、若要采用定时器0,方式1,如何设置TMOD__B__ A.00H B.01H C.10H D. 11H 2、单片机采用方式0时是13位计数器,它的最大定时时间是多少?_B__ A.81.92ms B.8.192ms C.65.536ms D.6.5536ms 3、以下哪项不是中断的特点? C A.分时操作 B.实时处理 C.在线编程 D.故障处理 4、外部中断响应时间至少需要__A个机器周期。 A.3 B.2 C.4 D.8 5、通过串口发送和接受数据时,在程序中使用__A___指令。 A.MOV BMOVX C.MOVC D.SW AP 6、以下哪个是中断优先级寄存器?__B A.IE B.IP C.TCON D.SCON 7、串行口中断的程序入口地址是 C 。 A 0003H B 001BH C 0023H D 000BH 三、判断题 1、8051的两个定时器T0和T1都是16位的计数器。(对) 2、单片机的计数器最高检测频率为振荡频率的1/12。(错) 3、定时/计数器的方式2具有自动装入初值的功能。(对) 4、引起中断的原因或发出中断申请的来源称为中断源。(对) 5、中断可使CPU和外设同时工作。(对) 6、定时器的特殊功能寄存器TMOD是用作中断溢出标志,并控制定时计数器的启动和停止。(错) 7、定时器控制寄存器TCON可以位寻址。(对) 8、MCS-51系列单片机的5个中断源都是可屏蔽中断。(对) 四、综合题

MCS-51单片机计数器定时器

80C51单片机内部设有两个16位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 : 从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1 (P3.5)输入。 定时计数器的原理: 16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。如果晶振为12MHz,则计数周期为: T=1/(12×106)Hz×1/12=1μs 这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长 度(如8位、13位、16位等)。 当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。例如,如果选用12MHz 晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。

STM32通用定时器_15-1-6

通用定时器的相关配置 1、预装入(Preload) 预装入实际上是设置TIMx_ARR寄存器有没有缓冲,根据“The auto-reload register is preloaded。Writing to or reading from the auto-reload register accesses the preload register。”可知: 1)如果预装入允许,则对自动重装寄存器的读写是对预装入寄存器的存取,自动重装寄存器的值在更新事件后更新; 2)如果预装入不允许,则对自动重装寄存器的读写是直接修改其本身,自动重装寄存器的值立刻更新; 3)设置方式:TIMx_CR1 →ARPE(1) 2、更新事件(UEV) 1)产生条件:①定时器溢出 ②TIMx_CR1→ UDIS = 0 ③或者:软件产生,TIMx_EGR→ UG = 1 2)更新事件产生后,所有寄存器都被“清零”,注意预分频器计数 器也被清零(但是预分频系数不变)。若在中心对称模式下或DIR=0(向上计数)则计数器被清零;若DIR=1(向下计数)则计数器取TIMx_ARR的值。 3)注意URS(复位为0)位的选择,如下:

如果是软件产生更新,则URS→1,这样就不会产生更新请求 和DMA请求。 4)更新标志位(UIF)根据URS的选择置位。 5)可以通过软件来失能更新事件: 3、计数器(Counter) 计数器由预分频器的输出时钟(CK_CNT)驱动,TIMx_CR1→CEN = 1 使能,注意:真正的计数使能信号(CNT_EN)在 CEN 置位后一个周期开始有效。 4、预分频器(Prescaler) 预分频器用来对时钟进行分频,分频值由TIMx_PSC决定,计数器的时钟频率CK_CNT= fCK_PSC / (PSC[15:0] + 1)。 根据“It can be changed on the fly as this control register

stm32定时器的区别

STM32高级定时器、通用定时器(TIMx) 、基本定时器(TIM6和TIM7) 区别? 高级定时器TIM1和TIM8、通用定时器(TIM2,TIM3,TIM4,TIM5) 、基本定时器(TIM6和TIM7) 区别? TIM1和TIM8主要特性TIM1和TIM8定时器的功能包括: ● 16位向上、向下、向上/下自动装载计数器 ● 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值 ● 多达4个独立通道:─ 输入捕获─ 输出比较─ PWM生成(边缘或中间对齐模式) ─ 单脉冲模式输出 ● 死区时间可编程的互补输出 ● 使用外部信号控制定时器和定时器互联的同步电路 ● 允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器 ● 刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态 ● 如下事件发生时产生中断/DMA:─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获─ 输出比较─ 刹车信号输入 ● 支持针对定位的增量(正交)编码器和霍尔传感器电路 ● 触发输入作为外部时钟或者按周期的电流管理 TIMx主要功能通用TIMx (TIM2、TIM3、TIM4和TIM5)定时器功能包括: ● 16位向上、向下、向上/向下自动装载计数器 ● 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值 ● 4个独立通道:─ 输入捕获─ 输出比较─ PWM生成(边缘或中间对齐模式) ─ 单脉冲模式输出 ● 使用外部信号控制定时器和定时器互连的同步电路 ● 如下事件发生时产生中断/DMA:─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获─ 输出比较 ● 支持针对定位的增量(正交)编码器和霍尔传感器电路 ● 触发输入作为外部时钟或者按周期的电流管理 TIM6和TIM7的主要特性TIM6和TIM7定时器的主要功能包括: ● 16位自动重装载累加计数器 ● 16位可编程(可实时修改)预分频器,用于对输入的时钟按系数为1~65536之间的任意数值分频 ● 触发DAC的同步电路注:此项是TIM6/7独有功能. ● 在更新事件(计数器溢出)时产生中断/DMA请求 强大,高级定时器应该是用于电机控制方面的吧

定时器产品使用说明书

定时器产品使用说明书 定时设置: 1、先检查时钟是否与当前时间一致,如需重新校准,在按住“时钟”键的同时,分别按住“星期”、“小时”、“分钟”键,将时钟调到当前准确时间。 2、按一下“设定”键,显示屏左下方出现“1开”字样(表示第一次开启的时间)。然后按“星期”调整本次设定的星期组合模式,再按“小时”、“分钟”键,输入所需开启的时间。 3、再按一下“设定”键,显示屏左下方出现“1关”字样(表示第一次关闭时间),再按“星期”、“小时”、“分钟”键,输入所需关闭的日期和时间。 4、继续按动“设定”键,显示屏左下方将依次显示“2开、2关、3开、3关……16开、16关”,参考步骤2、3设置以后各次开关时间。设置完成后,按一下“时钟”键返回。 5、如果每天不需设置16组开关,则必须按“清除”键,将多余各组消除,使其显示屏上显示“—:—”图样(不是00:00)。 6、按“模式”键,可以变换工作模式。总共有四种工作模式:A、液晶显示开(代表进入常开模式);B、液晶显示关(代表进入常关模式);C、由开进入自动(表示目前状态为开,等到下一组时间到后开始自动运行);D、由关进入自动(表示目前状态为关,等到下一组定时时间到后开始自动运行)。 当出现以下情况时: 1、定时器没有根据设定的程序开启或关闭,请检查设置程序是否正确或重新调整。 2、定时器长时间不用,显示模糊时,请将定时器接通电源充足,10分钟后无显示,按“复位”键,2-3秒。 3、如以上步骤均不能排除问题,请与公司或经销商联系维修。 注意事项: 1、对于那些因定时开关出错而可能发生的生命相关事故或者对社会产生重大影响的设备(如医疗设备等),请不要使用定时开关。 2、对于那些因定时开关出错而发生重大财产损失的设备(大型加热器或冷库),在使用本定时开关时,请务必是特性和性能的数值有足够的余量,并采取二重电路等安全对策。 3、请勿自行修理、分解或改造。 4、接通电源后请勿接触端子部分。本开关工作在无潮湿、腐蚀及高金属含量气体环境中。请勿沾染油或水。

STM32学习笔记通用定时器PWM输出

STM32学习笔记(5):通用定时器PWM输出 2011年3月30日TIMER输出PWM 1.TIMER输出PWM基本概念 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。 STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出。 1.1PWM输出模式 STM32的PWM输出有两种模式,模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位确定的(“110”为模式1,“111”为模式2)。模式1和模式2的区别如下: 110:PWM模式1-在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。 111:PWM模式2-在向上计数时,一旦TIMx_CNTTIMx_CCR1时通道1为有效电平,否则为无效电平。 由此看来,模式1和模式2正好互补,互为相反,所以在运用起来差别也并不太大。 而从计数模式上来看,PWM也和TIMx在作定时器时一样,也有向上计数模式、向下计数模式和中心对齐模式,关于3种模式的具体资料,可以查看《STM32参考手册》的“14.3.9 PWM模式”一节,在此就不详细赘述了。 1.2PWM输出管脚 PWM的输出管脚是确定好的,具体的引脚功能可以查看《STM32参考手册》的“8.3.7 定时器复用功能重映射”一节。在此需要强调的是,不同的TIMx有分配不同的引脚,但是考虑到管脚复用功能,STM32提出了一个重映像的概念,就是说通过设置某一些相关的寄存器,来使得在其他非原始指定的管脚上也能输出PWM。但是这些重映像的管脚也是由参考手册给出的。比如

STM32如何设置定时器

STM32如何设置定时器 STM32 如何设置定时器 下面以stm32 的TIM2 作为实例一步步配置成为定时器: 第一种 对定时器的基本配置 TIM_TimeBaseStructure.TIM_Period = 1000; //设置自动装载寄存器 TIM_TimeBaseStructure.TIM_Prescaler = 35999; //分频计数 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //选择向上计数 TIM_TimeBaseInit(TIM2, TIM_TimeBaseStructure); TIM_Cmd(TIM2, ENABLE); //是能定时器 始能定时器的中断: TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); 在开启时钟里一定要打开TIM2 的时钟,函数表达式如下: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 4:中断向量函数的编写: void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; #ifdef VECT_TAB_RAM //如果程序在ram 中调试那么定义中断向量表在Ram 中否则在Flash 中 /* Set the Vector Table base location at 0x20000000 */

智能编程定时器操作说明书

文案大全 此文档由恒飞电器提供 由杭州寰宇世极功放编写 ※系统概述: M P 3智能音乐播放器:采用世界最先进的微电脑控制技术。将广播自动分区播放、外部音频和麦克风录音存储等先进功能综合为一体。内存大小由你选择: (分别可用U 盘或T F 卡设计),成为广播设备的典范之精品,达到国内领先水平。广泛适用于校园自动广播音乐打铃、外语广播教学听力考试系统。 ※综合功能: M P 3自动广播、智能分区广播、日常教学广播、消防紧急广播、背景音乐播放、外语教学及听力考试广播功能。 ※技术参数: 信噪比:>90d B ; 谐波失真:<0.1%; 频响范围:20H z -18K ; 电压:220V ※前面板介绍(由于机型不同布局略有不同) 01、电源灯及开关 02、插U 盘或连接电脑U S B 囗 03、电源灯 (T F 卡插囗) 04、显示屏; 05、菜单上,下,左,右控制 选择键; 06、确定,停止,返回键; 07、咪,输入,监听音量控制键; 08、分区1,2,3,4,5,6按键 09、分区及电源全开全关按键; 10、手动与自动切换按键; 重要提示:当你插入新U 盘或TF 卡时,必须先把它插在本机上并开关本机电源,让它自动生成AUDIO 文件夹后并把有编号的MP3歌曲装到AUDIO 文件夹内才可以播放。 ※后面板介绍(由于机型不同布局略有不同)

2 注:短路输入端囗: 当这个端囗有短路信号输入时,本机会立刻播放你放在內存里AL A R M 文件夹内的这一首曲目,A L AR M 这文件夹內只能放一首用于紧急报警用的歌曲,其它需要定时播放的歌曲要放在AU DI O 文件夹內,如歌曲的路径放错则定时播放将不执行。短路输出端囗: 这个端囗与功放电源和分区的动作同步,即当有定时点到时,这端囗即短路,当定时歌曲放完或设定了结束时间到了即断开,这端囗作用是用于控制电源时序器接多台功放之用。 ※设备连接图(由于机型不同 布局略有不同) 01、FM 与遥控天线接囗; 03、MIC 输入插孔; 05、六个分区输入输出接线座; 07、输入电源接线座; 02、音频输入输出插孔; 04、短路输入警报与短路输出控制接口; 06、电源输出接线座;

定时器工作原理

定时器工作原理 通电延时型。只要在定时的时间段内(即1分钟)定时器一直得电,则常开触电就会闭合,只要定时器不断电常开触电就会一直闭合。定时器断电则常开触电断开 1,定时器/计数器的结构与功能 主要介绍定时器0(T0)和定时器1(T1)的结构与功能。图6.1是定时器/计数器的结构框图。由图可知,定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。 定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。 图6.1 定时器/计数器结构框图 TL0、TL1、TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。 TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD 用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。 6.1.1 计数功能 计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。 输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。 脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。 6.1.2 定时方式 定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。 每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。 定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。

STM32入门篇之通用定时器彻底研究

STM32入门篇之通用定时器彻底研究 STM32的定时器功能很强大,学习起来也很费劲儿,本人在这卡了5天才算看明白。写下下面的文字送给后来者,希望能带给你点启发。在此声明,本人也是刚入门,接触STM32不足10天,所以有失误的地方请以手册为准,欢迎大家拍砖。 其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册…}才搞明白的!所以接下来我以手册的顺序为主线,增加一些自己的理解,并通过11个例程对TIMER 做个剖析。实验环境是STM103V100的实验板,MDK3.2 +Library2.东西都不怎么新,凑合用…… TIMER主要是由三部分组成: 1、时基单元。 2、输入捕获。 3、输出比较。 还有两种模式控制功能:从模式控制和主模式控制。 一、框图 让我们看下手册,一开始是定时器的框图,这里面几乎包含了所有定时器的信息,您要是能看明白,那么接下来就不用再看别的了… 为了方便的看图,我对里面出现的名词和符号做个注解: TIMx_ETR:TIMER外部触发引脚ETR:外部触发输入 ETRP:分频后的外部触发输入ETRF:滤波后的外部触发输入 ITRx:内部触发x(由另外的定时器触发) TI1F_ED:TI1的边沿检测器。 TI1FP1/2:滤波后定时器1/2的输入 TRGI:触发输入TRGO:触发输出 CK_PSC:应该叫分频器时钟输入 CK_CNT:定时器时钟。(定时周期的计算就靠它) TIMx_CHx:TIMER的输入脚TIx:应该叫做定时器输入信号x

ICx:输入比较x ICxPS:分频后的ICx OCx:输出捕获x OCxREF:输出参考信号 关于框图还有以下几点要注意: 1、影子寄存器。 有阴影的寄存器,表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preload register(预装 载寄存器),另一个是程序员看不见的、但在操作中真正起作用的寄存 器,称为shadow register(影子寄存器);(详细请参考版主博客 https://www.wendangku.net/doc/b75058686.html,/STM32/401461/message.aspx) 2、输入滤波机制 在ETR何TIx输入端有个输入滤波器,它的作用是以采样频率 Fdts来采样N次进行滤波的。(具体也请参考版主博客 https://www.wendangku.net/doc/b75058686.html,/STM32/263170/message.aspx ) 3、输入引脚和输出引脚是相同的。 二、时基单元 时基单元有三个部分:CNT、PSC、ARR。CNT的计数方式分三种:向上、向下、中央对齐。通俗的说就是0—ARR、ARR—0、0—(ARR-1)—ARR—1. 三、时钟源的选择 这个是难点之一。从手册上我们看到共有三种时钟源: 1、内部时钟。 也就是选择CK_INT做时钟,这个简单,但是有一点要注意,定 时器的时钟不是直接来自APB1或APB2,而是来自于输入为

AT89C51单片机定时器中断模式和查询设置

AT89C51单片机定时器终端模式和查询设置 T1为定时模式,定时65.536ms,P2.0对应的LED等闪烁一次,T0计数模式,计数脉冲从P3.4脚用按键输入,按一次,记一次,所以计数初值为0FFFFh,没按一次,产生一个溢出,P2.5对应的LED闪烁,同时数码管加1显示。 一、定时/计数器终端模式 org 0000h ljmp bb ;跳转到主程序入口bb处 org 000bh ;定时器0中断响应从这里开始执行 cjne r2,#9d,xx mov r2,#00h ljmp xx11 org 001bh ;定时器1中断响应从这里开始执行 ljmp xxx bb: mov p1,#3fh ;主程序入口处 mov tmod,#05h ;05h=0000 0101B设置T1定时T0计数模式,0定时,1计数 ;00是13位二进制计数模式0,高4位控制T1 ;01是16位二进制计数模式1,低4位控制T0 mov dptr,#0300h ;查表入口地址存放 mov r2,#00h

setb et0 ;和setb 0afh效果相同 setb ea ;和setb 0abh相同 setb et1 ;和setb 0a9h相同 setb tr0 setb tr1 mov th0,#0ffh ;计数器0的计数初值的高8位 mov tl0,#0fdh ;计数器0的计数初值的低8位(第一次开始计数初值) sjmp $ ;程序执行时,原地踏步等待语句,在没有中断请求时, ;在此位置原地踏步计数定时计数,有请求时跳到中断入口执行中断xx: inc r2 xx11: mov th0,#0ffh ;计数器0的计数初值的高8位 mov tl0,#0fdh ;计数器0的计数初值的低8位(第二次以后开始计数初值) mov a,r2 movc a,@a+dptr cpl p2.5 mov p1,a reti xxx: mov th1,#00h ;计数器1的计数初值的高8位 mov tl1,#00h ;计数器1的计数初值的低8位 cpl p2.0 reti org 0300h ;七段显示吗表格入口 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh end 二、定时/计数器查询模式 org 0000h ljmp bb ;跳转到主程序入口bb处 bb: mov tmod,#15h ;主程序入口处 ;设置T1定时模式,工作在计数方式0,设置T0计数模 ;式工作在计数方式1 mov dptr,#0300h ;查表入口地址存放 clr et0 ;关定时/计数器0中断 setb ea ;和setb 0abh相同,开总中断开关 setb et1 ;和setb 0a9h相同,开定时/计数器1中断 setb tr0 setb tr1 mov th0,#0ffh ;计数器0的计数初值的高8位 mov tl0,#0ffh ;计数器0的计数初值的低8位(第一次开始计数初值) CX: JBC TF0, xx ;查询定时/计数器0溢出标志位,有溢出跳转xx执行 JBC TF1, xxx ;查询定时/计数器1溢出标志位,有溢出跳转xxx执行 sjmp CX ;无溢出,跳CX继续查询 ;溢出是在THi和TLi计数满,超过FFFFH时,TFi被自动置1,中断和查询都是根 ;据这个标志是否为1来响应的。 xx: mov th0,#0ffh ;计数器0的计数初值的高8位 mov tl0,#0ffh ;计数器0的计数初值的低8位(第二次以后开始计数初值) cjne r2,#10d,xx11 mov r2,#00h

mcgs定时器操作函数设置

定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器。 系统定时器以秒为定时单位。 !TimerClearOutput(定时器号) 函数意义: 断开定时器的数据输出连接 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号。 实例:!TimerClearOutput(1),断开1号定时器的数据输出连接 !TimerRun(定时器号) 函数意义:启动定时器开始工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerRun(1),启动1号定时器工作。 !TimerStop(定时器号) 函数意义:停止定时器工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerStop(1 ),停止1号定时器工作。 !TimerSkip(定时器号,步长值) 函数意义:在计时器当前时间数上加/减指定值 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;步长值 实例:!TimerSkip(1,3),1号定时器当前值+3 !TimerReset(定时器号,数值) 函数意义:设置定时器的当前值,由第二个参数设定,第二个参数可以是MCGS变量返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值 实例:!TimerReset(1,12),设置1号定时器的值为12 !TimerValue(定时器号,0) 函数意义:取定时器的当前值

返回值:将定时器的值以数值型的方式输出(数值格式) 参数:定时器号 实例:Data3=!TimerValue(1,0),取定时器1的值给Data3 !TimerStr(定时器号,转换类型) 函数意义:以时间类字符串的形式返回当前定时器的值 返回值:字符型变量,将定时器的值以字符型的方式输出(时间格式) 参数:定时器号 转换类型值:开关型 = 0:取定时器的值以“00:00”形式输出; = 1:取定时器的值以“00:00:00”形式输出; = 2:取定时器的值以“0 00:00:00”形式输出; = 3:取定时器的值以“0 00:00:00.000”形式输出; 实例:Time=!TimerStr(1,1),取定时器的值以“00:00:00”形式输出给Time !TimerState(定时器号) 函数意义:取定时器的工作状态 返回值:数值型变量,0 - 定时器停止,1 - 定时器运行 参数:定时器号 实例:data1=!TimerState(1),取定时器1的工作状态给data1 !TimerSetLimit(定时器号,上限值,参数3) 函数意义:设置定时器的最大值,即设置定时器的上限 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;上限值;参数3,1 - 表示运行到60后停止;0 - 表示运行到60后重新循环运行 实例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。 !TimerSetOutput(定时器号,数值型变量) 函数意义:设置定时器的值输出连接的数值型变量 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值型变量,定时器的值输出连接的数值型变量 实例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0 !TimerWaitFor(定时器号,数值)

51单片机定时器设置

51单片机定时器设置入门(STC89C52RC) STC单片机定时器设置 STC单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个: 1. 一定要知道英文缩写的原形,这样寄存器的名字就不用记了。 理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。 2. 尽量用形像的方法记忆 比如TCON和TMOD两个寄存器各位上的功能,教程一般有个图表,你就在学习中不断回忆那个图表的形像 TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER) 定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。 其格式为: 其中低四位定义定时器/计数器C/T0,高四位定义定时器/计数器C/T1,各位的说明: GA TE——门控制。 GA TE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。 当INT0引脚为高电平时TR0置位,启动定时器T0; 当INT1引脚为高电平时TR1置位,启动定时器T1。 GA TE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。 C/T——功能选择位 C/T=0时为定时功能,C/T=1时为计数功能。 置位时选择计数功能,清零时选择定时功能。

M0、M1——方式选择功能 由于有2位,因此有4种工作方式: M1M0 工作方式计数器模式TMOD(设置定时器模式) 0 0 方式0 13位计数器TMOD=0x00 0 1 方式1 16位计数器TMOD=0x01 1 0 方式 2 自动重装8位计数器TMOD=0x02 1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器TMOD=0x03 单片机定时器0设置为工作方式1为TMOD=0x01 这里我们一定要知道,TMOD的T是TIMER/COUNTER的意思,MOD是MODE的意思。至于每位上的功能,你只要记住图表,并知道每个英文缩写的原型就可以了。 在程序中用到TMOD时,先立即回忆图表,并根据缩写的单词原形理出每位的意义,如果意义不是很清楚,就查下手册,几次下来,TMOD的图表就已经在脑子里了。 8位GA TE位,本身是门的意思。 7位C/T Counter/Timer 6位M1 Mode 1 5位M0 Mode 0 TCON: 定时器/计数器控制寄存器(TIMER/COUNTER CONTROL REGISTER) TMOD分成2段,TCON控制更加精细,分成四段,在本文中只要用到高四段。 TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。 TR0(TR1)——定时器运行控制位 当TR0(TR1)=0 停止定时器/计数器工作 当TR0(TR1)=1 启动定时器/计数器工作 IE0(IE1)——外中断请求标志位 当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。 IT0(IT1)——外中断请求信号方式控制位 当IT0(IT1)=1 脉冲方式(后沿负跳有效) 当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。 TF0(TF1)——计数溢出标志位

STM32通用定时器

STM32通用定时器 一、定时器的基础知识 三种STM32定时器区别 通用定时器功能特点描述: STM3 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括: 位于低速的APB1总线上(APB1) 16 位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMx_CNT)。 16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数 为 1~65535 之间的任意数值。 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为: ①输入捕获 ②输出比较 ③ PWM 生成(边缘或中间对齐模式) ④单脉冲模式输出 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。 如下事件发生时产生中断/DMA(6个独立的IRQ/DMA请求生成器): ①更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ②触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ③输入捕获 ④输出比较 ⑤支持针对定位的增量(正交)编码器和霍尔传感器电路 ⑥触发输入作为外部时钟或者按周期的电流管理 STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。 定时器框图:

倍频得到),外部时钟引脚,可以通过查看数据手册。也可以是TIMx_CHn,此时主要是实现捕获功能; 框图中间的时基单元 框图下面左右两部分分别是捕获输入模式和比较输出模式的框图,两者用的是同一引脚,不能同时使用。

STM32通用定时器学习

STM32通用定时器 STM32的定时器功能很强大,学习起来也很费劲儿. 其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册…}才搞明白的!所以接下来我以手册的顺序为主线,增加一些自己的理解,并通过11个例程对TIMER做个剖析。实验环境是STM103V100的实验板,MDK3.2 +Library2.东西都不怎么新,凑合用…… TIMER主要是由三部分组成: 1、时基单元。 2、输入捕获。 3、输出比较。 还有两种模式控制功能:从模式控制和主模式控制。 一、框图 让我们看下手册,一开始是定时器的框图,这里面几乎包含了所有定时器的信息,您要是能看明白,那么接下来就不用再看别的了… 为了方便的看图,我对里面出现的名词和符号做个注解: TIMx_ETR:TIMER外部触发引脚 ETR:外部触发输入 ETRP:分频后的外部触发输入 ETRF:滤波后的外部触发输入 ITRx:内部触发x(由另外的定时器触发) TI1F_ED:TI1的边沿检测器。 TI1FP1/2:滤波后定时器1/2的输入 TRGI:触发输入 TRGO:触发输出 CK_PSC:应该叫分频器时钟输入 CK_CNT:定时器时钟。(定时周期的计算就靠它) TIMx_CHx:TIMER的输入脚 TIx:应该叫做定时器输入信号x ICx:输入比较x ICxPS:分频后的ICx OCx:输出捕获x OCxREF:输出参考信号 关于框图还有以下几点要注意: 1、影子寄存器。 有阴影的寄存器,表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preload register(预 装载寄存器),另一个是程序员看不见的、但在操作中真正起作用的 寄存器,称为shadow register(影子寄存器);(详细请参考版主博客 https://www.wendangku.net/doc/b75058686.html,/STM32/401461/message.aspx) 2、输入滤波机制 在ETR何TIx输入端有个输入滤波器,它的作用是以采样频率 Fdts来采样N次进行滤波的。(具体也请参考版主博客 https://www.wendangku.net/doc/b75058686.html,/STM32/263170/message.aspx) 3、输入引脚和输出引脚是相同的。 二、时基单元 时基单元有三个部分:CNT、PSC、ARR。CNT的计数方式分三种:向上、

相关文档