求帮忙看看定时器的问题

2019-07-15 23:16发布

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit led=P1;
uchar num;
void main()
{
        TMOD=0x01;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;       
        EA=1;
        ET0=1;
        TR0=1;
    while(1);
}
void TO_time() interrupt 1
{
               
                led=~led;

}
为什么LED灯闪烁呢,这里定时器没有重新设定初值啊


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
liuhengdong
1楼-- · 2019-07-16 22:54
没有关闭中断,即TR0依然等于1,定时器溢出后重新头0开始计数了
943347096
2楼-- · 2019-07-17 02:27
void timer0_initialize()
{
counter=0;
TR0=0;
TMOD=0x01;     //定时器0
TH0=(65535-5000)/256;  //5ms
TL0=(65535-5000)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0()interrupt 1   //中断服务子程序
{

TH0=(65535-5000)/256;  //5ms
TL0=(65535-5000)%256;
counter++;
}
你换这个再试试!!!!!!!

一周热门 更多>