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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3824|回復: 16
打印 上一主題 下一主題
收起左側

單片機死活不進中斷 求分析原因

[復制鏈接]
跳轉到指定樓層
樓主
ID:558225 發表于 2020-1-21 10:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*****************************************
*函數名:delay_us(u16 i)
**作用*:較高精度的延時,延時范圍1~65536us
**傳入參數:i,無符號十六位
**傳出參數:無
*****************************************/
void delay_us(u16 i)//定時范圍1~65536us
{

  AUXR &= 0x7F;  //定時器時鐘12T模式
TMOD &= 0xF0;  //設置定時器模式
TMOD |= 0x01;  //設置定時器模式
TL0 = (65536-i)&0x00ff;  //設置定時初值
TH0 = (65536-i)>>8;  //設置定時初值
TF0 = 0;  //清除TF0標志
a=1;
  EA = 1;
  ET0 = 1;                        //使能定時器0中斷
TR0 = 1;                        //定時器0開始計時
while(a);
}
/*****************************************
函數名: Timer0Callback()  interrupt 1
作用 :定時器T0的回調函數
傳入:無
傳出:無
*****************************************/
void Timer0Callback ()   interrupt 1 using 1
{
led=~led;
a=0;
}

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

使用道具 舉報

沙發
ID:558225 發表于 2020-1-21 10:39 | 只看該作者
單片機型號為IAP15F2K61S2
回復

使用道具 舉報

板凳
ID:378182 發表于 2020-1-21 11:55 | 只看該作者
主程序main在哪里?
回復

使用道具 舉報

地板
ID:213173 發表于 2020-1-21 15:38 | 只看該作者
19980813 發表于 2020-1-21 10:39
單片機型號為IAP15F2K61S2

IAP15F2K61S2端口模式需要初始化,程序中連main入口都沒有這么運行?給你補充完整。
  1. #include <STC15F2K60S2.H>

  2. sbit led=P1^0;

  3. unsigned int a,b;

  4. void Timer0Init()                //10毫秒@11.0592MHz
  5. {
  6.         AUXR &= 0x7F;                //定時器時鐘12T模式
  7.         TMOD &= 0xF0;                //設置定時器模式
  8.         TL0 = 0x00;                        //設置定時初值
  9.         TH0 = 0xDC;                        //設置定時初值
  10.         TF0 = 0;                                //清除TF0標志
  11.         TR0 = 1;                                //定時器0開始計時
  12.         EA = 1;
  13.         ET0 = 1;  
  14. }

  15. void main()
  16. {
  17.         P0M0 = 0x00;
  18.         P0M1 = 0x00;
  19.         P1M0 = 0x00;
  20.         P1M1 = 0x00;
  21.         P2M0 = 0x00;
  22.         P2M1 = 0x00;
  23.         P3M0 = 0x00;
  24.         P3M1 = 0x00;
  25.         P4M0 = 0x00;
  26.         P4M1 = 0x00;
  27.         P5M0 = 0x00;
  28.         P5M1 = 0x00;
  29.         P6M0 = 0x00;
  30.         P6M1 = 0x00;
  31.         P7M0 = 0x00;
  32.         P7M1 = 0x00;
  33.         Timer0Init();
  34.         b=50;//延時時間=b*10ms
  35.         while(1);
  36. }

  37. void Timer0Callback() interrupt 1 using 1
  38. {
  39.         a++;
  40.         if(a>=b)
  41.         {
  42.                 a=0;
  43.                 led=~led;//閃爍頻率1Hz
  44.         }
  45. }
復制代碼

回復

使用道具 舉報

5#
ID:93224 發表于 2020-1-21 16:59 | 只看該作者
你在哪里調用的delay_us函數
回復

使用道具 舉報

6#
ID:93224 發表于 2020-1-21 17:00 | 只看該作者
你這個中斷函數寫的有問題,你這個只能進一次中斷,沒有在終端里面對定時器賦初值,具體可以咨詢我1014461948@1qq.com
回復

使用道具 舉報

7#
ID:195446 發表于 2020-1-21 17:42 | 只看該作者
延時函數里a=1;while(a);執行到這里就死在這了。
回復

使用道具 舉報

8#
ID:394148 發表于 2020-1-21 20:24 | 只看該作者
建議可以直接在STC那個燒寫軟件中,直接復制中斷或者定時器程序,我有有時候就是寄存器稍微配置弄錯了,或者明明想開中斷0,但是敲的是中斷1的,或者對照著數據手冊,好好看一看,應該是那個寄存器弄錯了,我有時候調了一天,就是有的位應該寫1但是給的0
回復

使用道具 舉報

9#
ID:558225 發表于 2020-1-21 20:59 來自觸屏版 | 只看該作者
有主程序   主程序調用初始化函數
回復

使用道具 舉報

10#
ID:558225 發表于 2020-1-21 21:00 來自觸屏版 | 只看該作者
znz43a 發表于 2020-1-21 11:55
主程序main在哪里?

主程序在另一個頁面里   主程序調用初始化函數
回復

使用道具 舉報

11#
ID:558225 發表于 2020-1-21 21:04 來自觸屏版 | 只看該作者
有沒有可能是while里的標志識別不了
回復

使用道具 舉報

12#
ID:558225 發表于 2020-1-21 23:08 | 只看該作者
調試發現在while 里出不來但是為什么呢
難道while的優先級還沒中斷高?
但是不應該呀
回復

使用道具 舉報

13#
ID:558225 發表于 2020-1-21 23:56 來自觸屏版 | 只看該作者
mffhxa 發表于 2020-1-21 17:42
延時函數里a=1;while(a);執行到這里就死在這了。

調試發現就是死在這里了,但是為什么
回復

使用道具 舉報

14#
ID:326783 發表于 2020-1-22 14:27 | 只看該作者
你開總中斷了么?
回復

使用道具 舉報

15#
ID:207421 發表于 2020-1-22 15:53 | 只看該作者
1. 16位要在中斷里面重賦值
2. 你這函數弄不了
3. IO模式也沒設置
4. 重寫吧
回復

使用道具 舉報

16#
ID:235200 發表于 2020-1-22 18:20 | 只看該作者
請別人看程序,有些需要完整的程序,如中斷初始化設置,中斷程序的寫法,上面程序好象在delay_us中設置了定時計數器,主程序是否調用它,是否有另外的初始化程序,不得而知
回復

使用道具 舉報

17#
ID:558225 發表于 2020-1-23 14:12 | 只看該作者
找到原因了,分頁里有個相同的回調函數被調用了,編譯器沒提示
回復

使用道具 舉報

18#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表