原创 ZT)430资料※五

2008-5-18 14:08 2143 0 分类: MCU/ 嵌入式

十一、  Timer A3 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1)寄存器:


TAIV        (0x012E)  中断向量寄存器


TACTL       (0x0160)  控制寄存器


CCTL0       (0x0162)  捕获比较控制寄存器0


CCTL1       (0x0164)  捕获比较控制寄存器1


CCTL2       (0x0166)  捕获比较控制寄存器2


TAR          (0x0170)  寄存器


CCR0        (0x0172)  捕获比较寄存器0


CCR1        (0x0174)  捕获比较寄存器1


CCR2        (0x0176)  捕获比较寄存器2


2TACTL中的各位                                SSEL1           SSEL0           输入信号


TASSEL2    (0x0400)  未用                   0                   0                   TACLK(特定的外部信号)


TASSEL1    (0x0200)   时钟选择          0                   1                   ACLK    


TASSEL0    (0x0100)   时钟选择         1                   0                MCLK


ID1         (0x0080)   输入信号分频: 00 直通; 012分频


ID0         (0x0040)   ID1一起:   10 4分频    118分频


MC1        (0x0020)   两位一起:00 停止;01:增记数到CCR0


MC0        (0x0010)   模式控制:10 连续增记数,  11 增记数到CCR0,减记数到0H


TACLR      (0x0004)  定时器清除位


TAIE        (0x0002)  中断允许


TAIFG      (0x0001)   定时器溢出标志


#define MC_0                (0*0x10u)  /* Timer A mode control: 0 - Stop */


#define MC_1                (1*0x10u)  /* Timer A mode control: 1 - Up to CCR0 */


#define MC_2                (2*0x10u)  /* Timer A mode control: 2 - Continous up */


#define MC_3                (3*0x10u)  /* Timer A mode control: 3 - Up/Down */


#define ID_0                (0*0x40u)  /* Timer A input divider: 0 - /1 */


#define ID_1                (1*0x40u)  /* Timer A input divider: 1 - /2 */


#define ID_2                (2*0x40u)  /* Timer A input divider: 2 - /4 */


#define ID_3                (3*0x40u)  /* Timer A input divider: 3 - /8 */


#define TASSEL_0            (0*0x100u) /* Timer A clock source select: 0 - TACLK */


#define TASSEL_1            (1*0x100u) /* Timer A clock source select: 1 - ACLK  */


#define TASSEL_2            (2*0x100u) /* Timer A clock source select: 2 - SMCLK */


#define TASSEL_3            (3*0x100u) /* Timer A clock source select: 3 - INCLK */


3)捕获比较控制寄存器 CCTLX 对应的位


CM1       (0x8000)   00 禁止                    01 上升沿捕获


CM0       (0x4000)   10 下降沿捕获          11  上升沿与下降沿都捕获


CCIS1        (0x2000)   CCIS0CCIS1输入选择  00 选择CCIXA


CCIS0        (0x1000)                                            01 选择CCIXB 10 GND   11 VCC


SCS          (0x0800)   0异步捕获  1 同步捕获


SCCI         (0x0400)   捕获比较输入信号与比较输出EQUX同步


CAP          (0x0100)   0 比较模式      1 捕获模式


OUTMOD2    (0x0080)   


OUTMOD1    (0x0040)   


OUTMOD0    (0x0020)   


CCIE         (0x0010)   1 允许中断      0 禁止中断


CCI          (0x0008)   捕获/比较输入信号选择


OUT     0x0004)   


COV          (0x0002)   


CCIFG        (0x0001)   中断标志(与CCRX有关)


#define OUTMOD_0            (0*0x20u)  /* PWM output mode: 0 - output only */


#define OUTMOD_1            (1*0x20u)  /* PWM output mode: 1 - set */


#define OUTMOD_2            (2*0x20u)  /* PWM output mode: 2 - PWM toggle/reset */


#define OUTMOD_3            (3*0x20u)  /* PWM output mode: 3 - PWM set/reset */


#define OUTMOD_4            (4*0x20u)  /* PWM output mode: 4 - toggle */


#define OUTMOD_5            (5*0x20u)  /* PWM output mode: 5 - Reset */


#define OUTMOD_6            (6*0x20u)  /* PWM output mode: 6 - PWM toggle/set */


#define OUTMOD_7            (7*0x20u)  /* PWM output mode: 7 - PWM reset/set */


#define CCIS_0              (0*0x1000u) /* Capture input select: 0 - CCIxA */


#define CCIS_1              (1*0x1000u) /* Capture input select: 1 - CCIxB */


#define CCIS_2              (2*0x1000u) /* Capture input select: 2 - GND */


#define CCIS_3              (3*0x1000u) /* Capture input select: 3 - Vcc */


#define CM_0                (0*0x4000u) /* Capture mode: 0 - disabled */


#define CM_1                (1*0x4000u) /* Capture mode: 1 - pos. edge */


#define CM_2                (2*0x4000u) /* Capture mode: 1 - neg. edge */


#define CM_3                (3*0x4000u) /* Capture mode: 1 - both edges */


4TAIV  中断向量寄存器



0


0


0


0


0


0


0


0


0


0


0


中断向量


0


                    中断源             缩写                      


最高中断优先级: 捕获/比较0                CCIFG0                       NA


                             捕获/比较1                CCIFG1                       2


捕获/比较2                CCIFG2                       4


捕获/比较3                CCIFG3                       6


捕获/比较4                CCIFG4                       8


                            定时器益出                TAIFG                         10


最低优先级:    保留


注意


   TAIFGCCIFG与其他四个捕获/比较寄存器CCRX相关,如果有任何一个中断允许位置位(CCIEXTAIE),并且相应的中断标志也置位,则会产生一个中断请求,结合成一个中断向量,在TAIV中可读出。在PC读取TAIV中断向量后,CCIFGXTAIFG自动复位。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /1 下一条