STC12 -定时器0 定时 1s LED0翻转1次 中断法

Posted oneme1world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STC12 -定时器0 定时 1s LED0翻转1次 中断法相关的知识,希望对你有一定的参考价值。

程序:中断法

 

1. Timer0_Init()  在上次  (一)查询法   中说过

2.main.c 用 flag 

#include<reg52.h>
#include<Timer0_Init.h>
#define uchar unsigned char
#define uint unsigned int

sbit LED0 = P2^0;
uchar count = 0;
uchar flag = 0;
void main()
{
    
    Timer0_Init();
    while(1)
    {
        if(flag == 1)
        {
            flag = 0;
            LED0=~LED0;
        }      
    }
}

void Timer0() interrupt 1
{
    TH0 = (65535-10000+1)/256; 
    TL0 = (65535-10000+1)%256;
    count++;
    if (count >= 100) //中断 100 次即 1 秒
    {
        count = 0; //清零计数值以重新开始下 1 秒计时
        flag = 1; //设置 1 秒定时标志为 1
    }    
}

 

以上是关于STC12 -定时器0 定时 1s LED0翻转1次 中断法的主要内容,如果未能解决你的问题,请参考以下文章

51单片机自定义串口通讯协议控制流水灯+Proteus仿真

1205 单词翻转

区间翻转

3243 区间翻转

测试STC32G12K128的几个特性

PCB开源分享STC32G12K128/STC8H8K64U开发板