TIMER 定时器

增强型定时器模块(ECTECT功能相当于高速的I/O,由一个4位预分频器一个16位自由运行计数器816IC/OC通道,216位脉冲累加器以及一个16位模数递减计数器组成。

    

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

TEN   

TSWAI

TSFRZ

TFFCA

0       

0       

0        

0        

TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的 ICOC 功能,必须将 TEN 置位。

0:定时器/计数器被禁止,有利于降低功耗。

1:定时器/计数器使能,正常工作

  2、计时器系统控制寄存器 2(TSCR2)

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

TOI   

0       

0       

0       

TCRE 

PR2    

PR1    

PR0    

TOI:定时器/计时器溢出中断使能。

0:中断被禁止。

PR2,PR1,PR0:计数器预分频选择。

这三位所决定的分频因子如下表所示。分频因子选择

PR2

PR1

PR0

PrescaleFactor

0

0

0

1

0

0

1

2

0

1

0

4

0

1

1

8

1

0

0

16

1

0

1

32

1

1

0

64

 

3控制寄存器(TCTLl-TCTL4

TCTLl-TCTL4 分为两组,分别对 IC OC 电路进行设定,每组 16 个二进制位,每两个二进制位管理一个通道。其中 TCTLlTCTL2 设定各个 OC 通道 匹配时的动作,包括切断 OC 与输出引脚的联系,而 TCTL3TCTL4 设定 IC 应引脚的何种动作,包括禁止 IC 的响应。

TCTL3   寄存器偏移量:$000A

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

EDG7B

EDG7A

EDG6B

EDG6A

EDG5B

EDG5A

EDG4B

EDG4A

TCTL4   寄存器偏移量:$000B

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

EDG3B

EDG3A

EDG2B

EDG2A

EDG1B

EDG1A

EDG0B

EDG0A

可在任何时候读或写。

各个控制位的作用如下:

EDGnBEDGnA 输入捕捉边沿控制位,这 8 对控制位(EDG7BEDG7AEDG0BEDG0A)对输入捕捉的边沿检测电路进行设置。当二者同时为 0 时,IC 与输入引脚断开。

 

输入捕捉边沿检测电路设置

CnFICOC 通道中断请求标志。

0:上次清除标志以来,ICOC 通道没有有效动作。

1ICOC  通道已经出现动作。

以下是一段程序

void init_ECT(void)
{
   TSCR2_PR = 3;       // M_clock分频8
   TIOS_IOS6 = 0;      // T6口捕捉场同步信号
   TCTL3_EDG6A = 1;    // 场同步信号捕捉沿设置
   TCTL3_EDG6B = 1;    // 同时捕捉上升沿、下降沿
  
   TIOS_IOS5 = 0;      // T5口捕捉行同步信号
   TCTL3_EDG5A = 1;    // 行同步信号捕捉沿设置
   TCTL3_EDG5B = 0;    // 捕捉上升沿
  
   TIE_C6I = 1;        // 场同步信号中断禁止,由串口命令控制
   TIE_C5I = 0;        // 行同步信号中断禁止,在每一场中断中打开
 
  
    TSCR1_TEN = 1;      // 启动定时器
   return;
}

// 场同步中断
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 14 T6OddEven(void)   //场同步中断
{
 
}

// 行同步中断
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 13 T5RowSyn(void)      //T5视频采集行同步中断
{                       
 

}

 

 

EDGnB

EDGnA

边沿检测电路设置

0

0

禁止捕捉

0

1

捕捉上升沿

1

0

捕捉下降沿

1

1

上升沿下降沿均捕捉

ICOC 选择寄存器(TIOS)

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

IOS7

IOS6

IOS5

IOS4

IOS3

IOS2

IOS1

IOS0

TIOS 寄存器用于指定各个通道的功能,即工作于 IC 还是 OC 方式。当某位 IOSn=0 时,对应的通道 n 为输入捕捉(1C)通道,否则当 IOSn=1 时,通道 n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。

计时器中断使能寄存器(TIE

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

C7I

C6I

C5I

C4I

C3I

C2I

C1I

C0I

如果将 TIE 中的某位清 0,相应的标志位就不能引起硬件中断。如果被置 1,相应的标志位就可以引起中断。

6主定时器中断标志寄存器(TFLG1TFLG2)

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

C7F

C6F

C5F

C4F

C3F

C2F

C1F

C0F

TFLG1 对应 8 ICOC 通道,当某 CnF=1 时说明对应的 ICOC 通道有动作,表明该通道有中断事件发生

  ECT实际上是一个16位的可编程计数器,它的基本时钟频率可以通过预分频器设置,用于产生波形输出,测量输入波形,统计脉冲个数,可以作为定时中断功能和独立时钟基准。

   下面介绍一下用到的寄存器

    1定时器/计数器系统控制寄存器 1TSCR1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值