⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led flash.txt

📁 通过定时器中断实现P1口LED隔1秒闪烁一次
💻 TXT
字号:
#include<reg52.h>

#define T0_INTERRUPT 1  //T0中断向量号
#define LED P1

typedef unsigned char uchar;
typedef unsigned int uint;

void Init_T0();

void main()
{
    LED = 0xFF;   //熄灭所有的LED
    Init_T0();    //初始化定时器0
    while(1)
    {
        PCON |= 0x01; //单片机进入休眠模式,节省功耗
    }
}

void Init_T0()
{
    TMOD &= 0xF0;
    TMOD |= 0x01;  //16位定时器模式
    
    TH0 = 0xFC;
    TL0 = 0x18;
    
    EA = 1;       //开全局中断
    ET0 = 1;      //允许T0中断
    TR0 = 1;      //启动定时器
}

void T0_Interrupt() interrupt T0_INTERRUPT
{
    static uint i = 0;
    TH0 = 0xFC;
    TL0 = 0x18;
    i ++;
    TF0 = 0;
    if(i == 1000)  //1秒取反LED,使之闪烁
    {
        LED ^= 0xFF;
        i = 0;
    }
}

⌨️ 快捷键说明

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