#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int  u16;
sbit led = P1^0;
u8 timer;
void main (void)
{
    TMOD = 0x01;//设置TMOD,使得T0工作在16位定时。
    TH0 = (65535-50000) / 256;
    TL0 = (65535-50000) % 256;
    EA = 1; //开放总中断
    ET0 = 1;//开放定时器0的溢出中断
    TR0 = 1;//开始定时
    while(1) //作用就是让程序结束  否则程序一直在这运行;
    {
        ;
    }
}
//实现方式一
void timer0_service(void) interrupt 1
{
    TH0 = (65535-50000) / 256;
    TL0 = (65535-50000) % 256;    
    //50ms已经设置好了
    timer ++;
    if (timer == 20)
    {
        timer = 0;
        led = ~led;
    }
}

 

版权声明:本文为wxb20原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wxb20/p/6194148.html