久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機程序無法進入中斷是什么問題? [打印本頁]

作者: a超人    時間: 2018-11-7 07:54
標題: 單片機程序無法進入中斷是什么問題?
  1. #include<reg52.h>

  2. sfr P3M0=0XB2;
  3. sfr P3M1=0XB1;
  4. sbit P_out=P3^6;
  5. unsigned int cnt=0;
  6. unsigned char flag1s=0;

  7. void main()
  8. {

  9. //unsigned char sec=0;
  10. EA=1;
  11. TMOD=0X01;          //定時1ms
  12. TH0=0XFC;
  13. TL0=0X67;
  14. ET0=1;
  15. TR0=1;
  16. while(1)
  17. {
  18.    if(flag1s==1)
  19.    {
  20.           flag1s=0;         
  21.           P_out=~P_out;          //繼電器動作
  22.          
  23.    }
  24. }
  25. }
  26. void interrupttime0() interrupt 1 //  中斷函數
  27. {
  28.     TH0=0XFC;
  29.         TL0=0X67;
  30.         cnt++;
  31.         if(cnt>=1000)
  32.         {
  33.             cnt=0;
  34.                 flag1s=1;
  35.         }
  36. }
復制代碼



作者: a超人    時間: 2018-11-7 09:49
是這個芯片 中斷無法進去

4.png (75.36 KB, 下載次數: 33)

4.png

作者: cuihaodianzi    時間: 2018-11-7 12:38
用這個試一下
#include <reg52.h>

sfr P3M0=0XB2;
sfr P3M1=0XB1;
sfr AUXR = 0x8E;
sbit P_out=P3^6;
unsigned int cnt=0;
unsigned char flag1s=0;

void main()
{

//unsigned char sec=0;
  EA=1;
  AUXR &= 0x7F;               
TMOD &= 0xF0;               
TMOD |= 0x01;       
TH0 = 0xB8;       
TL0 = 0x00;       
TF0 = 0;               
TR0 = 1;               
while(1)
{
   if(flag1s==1)
   {
                flag1s=0;         
                P_out=~P_out;          //繼電器動作
                P0=0;
   }
}
}
void interrupttime0() interrupt 1 //  中斷函數
{
  TH0 = 0xB8;       
        TL0 = 0x00;
      
        cnt++;
        if(cnt>=1000)
        {
                        cnt=0;
                        flag1s=1;
        }
}

作者: 飛云居士    時間: 2018-11-7 13:22
少開了管總中斷的控制位EA=1
作者: a超人    時間: 2018-11-7 13:23
cuihaodianzi 發表于 2018-11-7 12:38
用這個試一下
#include

問題已經 解決了 謝謝你
作者: 飛云居士    時間: 2018-11-7 13:23
main()程序里,少個 EA= 1的語句。
void main()
{
    TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
    TR0 = 1;                        //timer0 start running
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
    count = 0;                      //initial counter

    while (1);                      //loop
}


作者: a超人    時間: 2018-11-7 13:24
cuihaodianzi 發表于 2018-11-7 12:38
用這個試一下
#include

是我自己馬虎  少寫了一段代碼

作者: xuyaqi    時間: 2018-11-7 13:36
你怎么知道不能進入中斷,我試可以呀。
作者: ahshmj    時間: 2018-11-7 14:17
程序都正常,按你的晶振,輸出繼電器應該是0.5秒閉合0.5秒斷開(這么快繼電器受不了的,你也沒法用繼電器控制其他設備啊!)。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久精 | 国内精品免费久久久久软件老师 | 中文日韩字幕 | 在线一区观看 | www国产亚洲精品久久网站 | 国产精品中文字幕一区二区三区 | 亚洲区一区二 | 中文字幕一区二区不卡 | 亚洲精品成人 | 国产粉嫩尤物极品99综合精品 | 久久99精品久久久久久青青日本 | 在线观看免费观看在线91 | 国产黄色av网站 | 天堂久久av | 91视频久久 | www.久久| 免费在线观看一区二区三区 | 免费在线观看一区二区三区 | 精品9999| 欧美极品在线播放 | 高清av在线 | 日本久久精品视频 | 国产精品欧美一区二区 | 亚洲视频在线观看免费 | 黄色在线观看 | 国产免费自拍 | 不卡的av电影 | 亚洲一页 | 超碰免费在 | 桃色五月 | 午夜精品在线 | 91精品国产色综合久久 | 久久久精品一区二区三区 | 热久色 | 成人老司机 | av一区二区三区四区 | 国产精品一区二区无线 | 成人片免费看 | 亚洲精品视频在线播放 | 97超碰成人 | 一级毛片免费完整视频 |