3
收藏
微博
微信
复制链接

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

提问于
2022-08-11 22:46

#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,但是为什么加了加粗部分的功能就不正常了,注销了就正常了,麻烦帮看看吧

收藏 691 0 3
粉丝
0
关注
0
主题
4
TIME1的中断在那里
0

回答于 · 2022-08-12 03:44

粉丝
0
关注
0
主题
6
版主说的对
0

回答于 · 2022-08-12 15:09

粉丝
0
关注
0
主题
3
知道了,开始我以为如果没用,中断程序就不用写了,现在明白了,谢谢大家了
0

回答于 · 2022-08-13 05:54