欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1625|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

問(wèn)一個(gè)關(guān)于單片機(jī)中斷的問(wèn)題,兩個(gè)方向的交通燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:510031 發(fā)表于 2019-4-13 22:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我想做一個(gè)兩個(gè)方向的交通燈,紅綠(0xed)——黃黃(0xf3)——綠紅(0xde),用定時(shí)器和中斷來(lái)做
但是結(jié)果是:一直只有2個(gè)燈亮,沒(méi)有變化。
調(diào)試發(fā)現(xiàn)不會(huì)進(jìn)入子程序。

單片機(jī)代碼如下:
#include<reg52.h>

void Init_Timer(void)    //初始化
{    TMOD|=0x01;
    TH0=0x00;
    TL0=0x00;
    EA=1;         //總中斷//
    ET0=1;        //定時(shí)器0允許//
    TR0=1;        //T0啟停控制//
}
void display()
{    static unsigned char i;
   
    if(0<=i<=99)
    {
      P1=0xed;
     }
    else if(100<=i<=139)
     {   
         P1=0xf3;
     }
    else if(140<=i<=239)
     {   
         P1=0xde;
     }
       else if(i>239)
     {   
         i=0;
     }
     i++;
}
void Timer_isr(void) interrupt 1
{   
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        display();
}
void main()
{
    Init_Timer();
    while(1);
}
請(qǐng)問(wèn)哪位能幫我看一下



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2019-4-14 08:03 | 只看該作者
if 括號(hào)內(nèi)表達(dá)式錯(cuò)誤。因?yàn)樵谌魏螘r(shí)間都能滿足 if(0<=i<=99) 的判斷條件,不可能進(jìn)入下一條判斷語(yǔ)句。
正常表達(dá)式應(yīng)該這樣寫 if(0<=i && i<=99),原來(lái) if(0<=i<=99)的寫法相當(dāng)于 if(0<=i || i<=99)。

#include<reg52.h>

void Init_Timer(void)    //初始化
{
    TMOD|=0x01;
    TH0=0x00;
    TL0=0x00;
    EA=1;         //總中斷//
    ET0=1;        //定時(shí)器0允許//
    TR0=1;        //T0啟停控制//
}
void display()
{
    static unsigned char i;
   
        if(0<=i && i<=99)
        {
                P1=0xed;
        }
        else if(100<=i && i<=139)
        {   
                P1=0xf3;
        }
        else if(140<=i && i<=239)
        {   
                P1=0xde;
        }
        else if(i>239)
        {   
                i=0;
        }
        i++;
}
void Timer_isr(void) interrupt 1
{   
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        display();
}
void main()
{
    Init_Timer();
    while(1);
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:510031 發(fā)表于 2019-4-14 10:37 | 只看該作者
wulin 發(fā)表于 2019-4-14 08:03
if 括號(hào)內(nèi)表達(dá)式錯(cuò)誤。因?yàn)樵谌魏螘r(shí)間都能滿足 if(0

嗯嗯!太感謝老師了,看來(lái)還是基礎(chǔ)不扎實(shí),謝謝老師指出錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表