I51开发板 第五讲:定时器之简介篇

  • 定时器
  • 开发
  • 软件
  • SingleYork
  • LV5工程师
  • |      2016-08-19 20:21:32
  • 浏览量 1499
  • 回复:7
本帖最后由 SingleYork 于 2016-8-29 20:28 编辑 bg7.png

I51开发板 第四讲:流水灯之软件篇(续)

https://bbs.icxbk.com/community/forum.php?mod=viewthread&tid=65459

(出处: ICKEY BBS)

这一讲,主要介绍定时器的一些基本知识,主要内容参考自STC官方自带的芯片手册。

IAP15F2K61S2单片机内部集成了3个16位的定时器/计数器T0、T1、T2,其核心部件是一个加法计数器(TH、TL),对输入脉冲进行计数,若计数脉冲来自系统时钟,则为定时器方式,若计数脉冲来自T0(P3.4)、T1(P3.5)、T2(P3.1)引脚,则为计数方式

定时器/计数器T0和T1具有四种工作方式,由特殊功能寄存器TMOD中的M1、M0位决定,如下表所示:

M1 M0 工作方式 功能说明 0 0方式016位自重重装初值的定时器/计数器 0 1方式116位的定时器/计数器 1 0方式28位自动重装初值的定时器/计数器 1 1方式3T0被分成两个8位的定时器/计数器,T1停止计数

定时器/计数器T0和T1的工作方式1~方式3与传统的8051类似,但是工作方式016位自动重装方式,这一点与传统的8051不同,另外方式0和方式2还可以作为可编程时钟输出源使用。定时器/计数器T0工作方式0的逻辑结构如下图所示:

定时器/计数器T0工作方式0的逻辑结构

定时器/计数器T2的工作方式固定为16位自动重装初值方式,逻辑结构如下图所示,T2除了可用作定时器之外,还可以用作串行口波特率发生器或可编程时钟输出源。

定时器/计数器T2的逻辑结构

定时器方式在输入脉冲可以直接是系统时钟脉冲fsys简称1T方式,也可以对系统时钟fsys进行12分频之后作为定时输入脉冲,简称12T方式,12T方式与传统的定时器方式相同。采用1T还是12T方式,有特殊功能寄存器AUXR决定,当AUXR寄存器中的T0x12、T1x12、T2x120时,采用12T方式,当T0x12、T1x12、T2x121时,采用1T方式。

计数方式下从外部引脚输入的脉冲,必须保证脉冲电平在变化之前至少被采样一次。

IAP15F2K61S2单片机与定时器/计数器相关的特殊功能寄存器如下表所示:

寄存器名地址MSB 复位地址及位名称 LSB复位值 TH0 8CH定时器/计数器T0的高8位0000 0000 TL0 8AH定时器/计数器T0的低8位 0000 0000 TH1 8DH定时器/计数器T1的高8位 0000 0000 TL1 8BH定时器/计数器T1的低8位 0000 0000 T2H D6H定时器/计数器T2的高8位 0000 0000 H2L D7H定时器/计数器T2的低8位 0000 0000 TCON 88HTF1 TR1 TF0TR0 IE1 IT1 IE0 IT0 0000 0000 TMOD 89HGATE C/T M1 M0 GATE C/T M1 M0 0000 0000 IE A8HEA ELVD EADC ES ET1 EX1 ET0 EX0 0000 0000 IE2 AFH- - - - - EET2 ESP1 ES2 0000 0000 IP B8HPPCA PLVD PADC PS PT1 PX1 PT0 PX0 0000 0000 INT_CLKO 8FH- EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO 0000 0000 AUXR 8EHT0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 WXTRAM S1ST2 0000 0000 (1)寄存器TH0、TL0、TH1、TL1、T2H、T2L分别用于用于装入T0、T1和T2的初值。 (2)寄存器TCONTMOD的功能和用法与传统8051相同。 (3)寄存器IE、IE2ET1、ET0ET2位分别用于T1、T0和T2中断允许禁止,置1允许中断,清0禁止中断。 (4)寄存器IP中的PT1和PT0位分别用于T1和T0中断优先级,置1为高优先级,清0为低优先级;T2固定为最低优先级。 (5)寄存器INT_CLKO中的T2_CLKO、T1_CLKO和T0_CLKO位分别用于控制T2、T1和T0的可编程时钟输出,置1允许从P3.0、P3.4和P3.5引脚输出时钟频率,清0禁止输出时钟频率。 (6)寄存器AUXR中的T0x12、T1x12和T2x12位分别位于控制T0、T1和T2的1T或12T定时方式,置1采用1T方式,清0采用12T方式。AUXR中的T2R位用于控制T2启动停止,置1启动T2,清0停止T2。AUXR中的T2_C/T位用于控制T2的计数或定时方式,置1采用计数方式,置1采用定时方式。

下一讲,本菜将带领大家一起学习定时器的使用,敬请期待!

I51开发板 第六讲:定时器之配置篇 https://bbs.icxbk.com/community/forum.php?mod=viewthread&tid=65517 (出处: ICKEY BBS)
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
瞎折腾 2016-08-19
定时器的工作方式你没说T2呢?
0   回复
举报
发布
SingleYork 回复 2016-08-19
有啊,请仔细看:lol
0   回复
举报
kk118a 回复 2016-08-19
习惯顶,加油
0   回复
举报
x
收藏成功!点击 我的收藏 查看收藏的全部帖子