定时/计数器t2.c

来自「AT89S52单片机程序50例(00-50)」· C语言 代码 · 共 37 行

C
37
字号
//定时/计数器T2

#include <reg52.h>

sbit LED=P1^2;  //定义P1.2引脚为LED

//定时/计数器T2的初始化子程序
void TIM2Inital(void)
{
	RCAP2H=(65536-60000)/256;  //@12M 10ms 16bit 自动重载方式下,PCAP2H=15H
    RCAP2L=(65536-60000)%256;  //PCAP2L=0A0H
    ET2=1;  //定时/计数器T2开中断
    EA=1;  //CPU开中断
    TR2=1;  //启动定时/计数器T2
}

//主程序
void main()
{
	TIM2Inital();  //调用定时计数器T2的初始化子程序
    while(1);
}

//定时/计数器T0中断服务子程序
void Timer0_isr(void) interrupt 1 using 1
{
	TH0=0x00;  //给T0计数器赋初值
    TL0=0x00;
    LED=~LED;  //指示灯反相
}

//定时/计数器T2中断服务子程序
void TIM2(void) interrupt 5 using 1
{
	TF2=0;  //T2关溢出中断标志
    LED=~LED;  //指示灯反相
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?