找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序 為什么進不了中斷? 謝謝啦

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:182522 發(fā)表于 2017-5-4 16:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                 #include<reg52.h>sbit led=P2^0;
#define uchar unsigned char;
uchar x,y,t;
void main()
      {  
         TMOD=0X01;//定時器0 工作方式1
         TH0=(65536-50000)/256;//高八位賦初值
         TL0=(65536-50000)%256;//低八位賦初值
         EA=1;//開總中斷
         ET0=1;//開定時器0中斷
         TR0=1;//啟動定時器
        if(t==20)
       {
          t=0;
          led=0;
       };
         led=1;
      }
void exter0() interrupt 1
       {
         TH0=(65536-50000)/256;//高八位賦初值
         TL0=(65536-50000)%256;//低八位賦初值
          t++;
       }

哪位大神能告知一下程序為什么進不了中斷?

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

使用道具 舉報

沙發(fā)
ID:182522 發(fā)表于 2017-5-4 16:18 | 只看該作者
有好心人 解惑嗎?
回復(fù)

使用道具 舉報

板凳
ID:187614 發(fā)表于 2017-5-4 22:33 | 只看該作者
1.建議t賦個初值;2.f(t==20)改為f(t>=20)
回復(fù)

使用道具 舉報

地板
ID:142559 發(fā)表于 2017-5-4 22:57 | 只看該作者
沒出錯嗎
回復(fù)

使用道具 舉報

5#
ID:194033 發(fā)表于 2017-5-4 23:26 來自手機 | 只看該作者
可以試試將主函數(shù)tr0=1;后面的語句放入while(1)死循環(huán)中。
回復(fù)

使用道具 舉報

6#
ID:196753 發(fā)表于 2017-5-4 23:53 | 只看該作者
同問,
回復(fù)

使用道具 舉報

7#
ID:196754 發(fā)表于 2017-5-4 23:59 | 只看該作者
什么編譯器?
回復(fù)

使用道具 舉報

8#
ID:196870 發(fā)表于 2017-5-5 11:54 | 只看該作者
應(yīng)該是沒while循環(huán)導(dǎo)致定時器只溢出一次,所以燈沒變化
回復(fù)

使用道具 舉報

9#
ID:196908 發(fā)表于 2017-5-5 13:39 | 只看該作者
個人感覺在主程序最后需要加一個循環(huán)命令,即最后加一個while();
回復(fù)

使用道具 舉報

10#
ID:196497 發(fā)表于 2017-5-5 16:21 | 只看該作者
沒有死循環(huán)                 程序跑飛了。。。。。。。。。。。!
回復(fù)

使用道具 舉報

11#
ID:128363 發(fā)表于 2017-5-8 11:27 | 只看該作者

                 #include<reg52.h>sbit led=P2^0;
#define uchar unsigned char;
uchar x,y,t;
void main()
      {  
         TMOD=0X01;//定時器0 工作方式1
         TH0=(65536-50000)/256;//高八位賦初值
         TL0=(65536-50000)%256;//低八位賦初值
         EA=1;//開總中斷
         ET0=1;//開定時器0中斷
         TR0=1;//啟動定時器
while(1)
{
        if(t==20)
       {
          t=0;
          led=0;
       };
         led=1;
    }
  }
void exter0() interrupt 1
       {
         TH0=(65536-50000)/256;//高八位賦初值
         TL0=(65536-50000)%256;//低八位賦初值
          t++;
       }
回復(fù)

使用道具 舉報

12#
ID:148552 發(fā)表于 2017-5-8 13:07 | 只看該作者
程序最后一句加上while(1);
回復(fù)

使用道具 舉報

13#
ID:198121 發(fā)表于 2017-5-8 13:49 | 只看該作者
加個while(1)循環(huán)!
回復(fù)

使用道具 舉報

14#
ID:198121 發(fā)表于 2017-5-8 14:07 | 只看該作者
程序要加死循環(huán)!
回復(fù)

使用道具 舉報

15#
ID:159139 發(fā)表于 2017-5-8 16:37 | 只看該作者
應(yīng)該主程系if語句前加上while(1)
回復(fù)

使用道具 舉報

16#
ID:193213 發(fā)表于 2017-5-8 17:38 | 只看該作者
      if(t==20)
       {
          t=0;
          led=0;
       };
這里太快,人眼識別不了,幾乎led一直等于1
回復(fù)

使用道具 舉報

17#
ID:198319 發(fā)表于 2017-5-8 20:06 來自手機 | 只看該作者
程序要加死循環(huán) 不然一直在裝初值 本來加到要益處 結(jié)果有賦值了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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