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

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

QQ登錄

只需一步,快速開始

搜索

搞不懂單片機(jī)外部中斷 也查了資料 感覺還是找不到錯(cuò)誤

查看數(shù): 2493 | 評(píng)論數(shù): 11 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-5-28 20:40

正文摘要:

#include<reg52.h> #include<intrins.h> #define uchar  unsigned char #define uint unsigned int sbit flag=P3^2;//外部中斷信號(hào)產(chǎn)生腳 sbit key=P3^0;//控制flag產(chǎn)生下降沿 sbit led=P2 ...

回復(fù)

ID:737694 發(fā)表于 2020-5-30 17:29
lyxing 發(fā)表于 2020-5-29 22:55
外部中斷INT0與INT1,在 P3.2 P3.3口上,按P3.0不能產(chǎn)生外中斷。

我知道那兩個(gè)腳 我網(wǎng)上查的也可以通過別的i/o口來控制P3^2 P3^3的高低電位 觸發(fā)不就是有下降沿么 別的可以控制他的高低電位  咋就不可以等效那兩個(gè)腳呢
ID:67199 發(fā)表于 2020-5-29 22:55
雪峰1259 發(fā)表于 2020-5-29 21:43
額 我是想通過P3^0按鍵來產(chǎn)生這個(gè)中斷

外部中斷INT0與INT1,在 P3.2 P3.3口上,按P3.0不能產(chǎn)生外中斷。
ID:737694 發(fā)表于 2020-5-29 21:43
wulin 發(fā)表于 2020-5-29 16:11
程序都給你改好了你還玩不轉(zhuǎn),無語了。

額 我是想通過P3^0按鍵來產(chǎn)生這個(gè)中斷
ID:213173 發(fā)表于 2020-5-29 16:11
雪峰1259 發(fā)表于 2020-5-29 13:16
加過while后 還是不行 我先通過按P3^0按鍵發(fā)現(xiàn)沒用 然后我又直接按P3^2想產(chǎn)生跳變沿 還是沒反應(yīng) 懵逼了[e ...

程序都給你改好了你還玩不轉(zhuǎn),無語了。
ID:737694 發(fā)表于 2020-5-29 13:17
273431377 發(fā)表于 2020-5-29 00:33
在main()函數(shù)結(jié)尾加個(gè)while(1);
把中斷函數(shù)名改成void exint0() interrupt 0  
試一下。

應(yīng)該加個(gè)while 不過這和名字沒啥關(guān)系吧
ID:737694 發(fā)表于 2020-5-29 13:16
wulin 發(fā)表于 2020-5-29 06:05
樓主犯了兩個(gè)錯(cuò)誤。1.程序結(jié)構(gòu)錯(cuò)誤:main函數(shù)初始化后必須限制在主循環(huán)while(1)中運(yùn)行,哪怕沒有如何任務(wù)也 ...

加過while后 還是不行 我先通過按P3^0按鍵發(fā)現(xiàn)沒用 然后我又直接按P3^2想產(chǎn)生跳變沿 還是沒反應(yīng) 懵逼了
ID:737694 發(fā)表于 2020-5-29 13:12
csmyldl 發(fā)表于 2020-5-29 00:43
問題未描述清楚,flag與KEY在程序中定義引腳P32和P30,不知為何要這么定義

想通過按鍵來控制中斷
ID:341098 發(fā)表于 2020-5-29 12:44
wulin 發(fā)表于 2020-5-29 06:05
樓主犯了兩個(gè)錯(cuò)誤。1.程序結(jié)構(gòu)錯(cuò)誤:main函數(shù)初始化后必須限制在主循環(huán)while(1)中運(yùn)行,哪怕沒有如何任務(wù)也 ...

贊同樓上
ID:213173 發(fā)表于 2020-5-29 06:05
樓主犯了兩個(gè)錯(cuò)誤。1.程序結(jié)構(gòu)錯(cuò)誤:main函數(shù)初始化后必須限制在主循環(huán)while(1)中運(yùn)行,哪怕沒有如何任務(wù)也得在while(1)中死循環(huán)。2.外部中斷理解錯(cuò)誤:所謂外部中斷必須是單片機(jī)外部信號(hào)作用于IN0(IN1),由軟件置flag=1; flag=0;不會(huì)觸發(fā)IN0中斷。
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar  unsigned char
  4. #define uint unsigned int
  5. sbit flag=P3^2;//外部中斷信號(hào)產(chǎn)生腳
  6. sbit key=P3^0;//控制flag產(chǎn)生下降沿
  7. sbit led=P2^0;

  8. //外部中斷0初始化
  9. void intlInit(void)
  10. {
  11.         IT0=1; //  外部中斷0下降沿觸發(fā)
  12.         IE=0;  //清除標(biāo)志位
  13.         EX0=1; // 開外部中斷
  14.         EA=1;  //開總中斷
  15. }
  16. //主函數(shù)
  17. void main()
  18. {
  19.         intlInit();         
  20.         while(1)
  21.         {

  22.         }
  23. }
  24. // 外部中斷0中服務(wù)程序
  25. void int1(void) interrupt 0
  26. {
  27.         led=~led;
  28. }
復(fù)制代碼
ID:235200 發(fā)表于 2020-5-29 00:43
問題未描述清楚,flag與KEY在程序中定義引腳P32和P30,不知為何要這么定義
ID:753266 發(fā)表于 2020-5-29 00:33
在main()函數(shù)結(jié)尾加個(gè)while(1);
把中斷函數(shù)名改成void exint0() interrupt 0  
試一下。

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

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

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