标题: 51单片机里面的定时器2如何使用中断 [打印本页]

作者: 加油鸭加油    时间: 2018-12-15 11:55
标题: 51单片机里面的定时器2如何使用中断
void init2()
{
T2CON|=0x04;

EXEN2=0;
TH2=0xff;
RCAP2H=0xff;
TL2=0xf7;
RCAP2L=0xf7;
EA=1;
ET2=1;
TF2=1;
PT2=0;
TR2=1;
}


作者: devcang    时间: 2018-12-15 14:47

/*   interrupt vector */
#define                INT0_VECTOR                0
#define                TIMER0_VECTOR        1
#define                INT1_VECTOR                2
#define                TIMER1_VECTOR        3
#define                UART1_VECTOR        4
#define                ADC_VECTOR                5
#define                LVD_VECTOR                6
#define                PCA_VECTOR                7
#define                UART2_VECTOR        8
#define                SPI_VECTOR                9
#define                INT2_VECTOR                10
#define                INT3_VECTOR                11
#define                TIMER2_VECTOR        12
#define                INT4_VECTOR                16
#define                UART3_VECTOR        17
#define                UART4_VECTOR        18
#define                TIMER3_VECTOR        19
#define                TIMER4_VECTOR        20
#define                CMP_VECTOR                21

作者: hmgqljz111    时间: 2019-11-23 15:20
#include "reg51.h"
#include "intrins.h"

//测试工作频率为11.0592MHz

sfr     T2L         =   0xd7;
sfr     T2H         =   0xd6;
sfr     AUXR        =   0x8e;
sfr     IE2         =   0xaf;
#define ET2             0x04
sfr     AUXINTIF    =   0xef;
#define T2IF            0x01

sbit    P10         =   P1^0;

void TM2_Isr() interrupt 12 using 1
{
    P10 = !P10;                                 //测试端口
    AUXINTIF &= ~T2IF;                          //清中断标志
}

void main()
{
    T2L = 0x66;                                 //65536-11.0592M/12/1000
    T2H = 0xfc;
    AUXR = 0x10;                                //启动定时器
    IE2 = ET2;                                  //使能定时器中断
    EA = 1;

    while (1);
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1