不会,可以解答一下嘛

用单片机定时/计数器以定时器t0的方式,工作方式1软件启动利用单片机引脚p1.0 控制LED灯2秒闪烁一次,以中断的方式编程

参考
定时器定时周期定为50mS,然后在定时器中断中做计数,加到40的适合就是2S了,翻转一次,再重新开始计数,再次到达40再次翻转,依此循环就可以2S闪烁一次

 
#include <reg51.h>

sbit  LED_OUT= P1^0;
 unsigned char time_cnt = 0;
// 定时器初始化
void timer0_init()
{
    EA = 0;
    TMOD = 0x01;  // T0选择方式1
    TH0 = (65536-50000)/256;     //  定时器初始值高字节
    TL0 = (65536-50000)%256;      //  定时器初始值低字节
    ET0 = 1;
    TR0 =1;
    EA = 1;
}
 
// 定时器中断
void timer0() interrupt 1
{
    TH0 = (65536-50000)/256;
    TL0 = (65536-50000)%256;

    time_cnt++;
    if(time_cnt == 40)
    {
        LED_OUT= ~LED_OUT;  // 翻转LED灯
        time_cnt = 0;
    }
}
 
void main()
{
    void timer0_init();
    while(1);
}