r8051xc2定时器2的用法

来源:互联网 发布:文案策划知乎 编辑:程序博客网 时间:2024/05/29 13:54

T2CON----定时器2控制寄存器

t2con.7---t2ps:时钟的选择

                     0:定时器2的clocked是1/12的振荡器频率

                     1:定时器2的clocked是1/24的振荡器频率

t2con.6---3fr :外部中断int3的活跃选择(也用来比较和获取信号)

                       0 :falling edge  
                       1 :rising edge

t2con.5---i2fr:外部中断int2的活跃选择(也用来比较和获取信号)

                       0 :falling edge  
                       1 :rising edge

t2con.4---t2r1:定时器2的加载模式选择

t2con.3---t2r0:定时器2的加载模式选择

                       0X – reload disabled 
                       10 – Mode 0  
                       11 – Mode 1

t2con.2---t2cm:定时器2的比较模式选择

                       0 – Mode 0 
                       1 – Mode 1

t2con.1 ---t2i1:timer2的输入选择

t2con.0---t2i0:timer2的输入选择

t2i1:t2i0

0:0   timer 2 stopped

0:1   输入频率f/12或者f/24

1:0   通过检测T2口的下降沿来增加定时器2

1:1   由外部脚t2输入频率f/12或者f/24

复制代码
/*  程序用途:timer2自动填装控制  版本号:  V1   创建日期:2013.9.22  创建者:*/$NOMOD51#include"REG8F301.INC"dseg        at        30hiseg        at        80hcseg        at        00h    org        0000H    jmp        start    org        002bh    jmp        Timer2_Isrstart:    mov        ckcon,#50h    mov        r0,#0x7fClrRam:    mov        @r0,#0    djnz        r0,ClrRam        mov        dptr,#0x00ClrOutRam:    mov        a,#0x00    movx        @dptr,a    inc        dpl    mov        a,dpl    cjne        a,#0,ClrOutRam    inc        dph    mov        a,dph    cjne        a,#3,ClrOutRamSetTimer2:    mov        tl2,#00h    mov        th2,#00h    mov        crch,th2    mov        crcl,tl2    mov        T2con,#11h     //选择模式0自动加载,选择f/12分频    setb        ET2    setb        EAmain:     ljmp        mainTimer2_Isr:    push        acc    push        psw    nop    nop    pop        psw    pop        acc    END                /*  总结:      1.将crch,crcl里的值自动填充到tl2与th2    2.crcl加到0xFF时crch加1,crch溢出时产生中断,并自动填充*/
复制代码
0 0
原创粉丝点击