凡亿问答 | 定时器0和1同时使用,为什么现象不对,麻烦大家吧帮看看吧
定时器0和1同时使用,为什么现象不对,麻烦大家吧帮看看吧

#include
#define uchar unsigned char
#define uint unsigned int
uchar T0_flag,n;
void T0_T1_init()        //T0,T1初始化函数
{
        TMOD=0x11;

        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
         
//        TH1=(65536-1000)/256;
//        TL1=(65536-1000)%256;

        TR0=1;
        ET0=1;
         
//        TR1=1;
//        ET1=1;

        EA=1;       
}
void main()
{
        T0_T1_init();
        while(1)
        {
                if(T0_flag==1)
                        P1=0;
                else
                        P1=0xff;
        }
}
void timer0()interrupt 1
{
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        n++;
        if(n==10)
                n=1;
        if(n==1)
                T0_flag=1;
        else
                T0_flag=2;       
}
本来想要定时器0和1同时使用,都工作在方式1,但是为什么加了加粗部分的功能就不正常了,注销了就正常了,麻烦帮看看吧

3个回答
TIME1的中断在那里
知道了,开始我以为如果没用,中断程序就不用写了,现在明白了,谢谢大家了
热门问答
我来回答
首页
3
0
0