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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機關于外部中斷0的一個程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:683345 發表于 2020-1-17 23:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一個很簡單的中斷程序,就是數碼管0-7循環動態顯示,利用外部中斷0使小燈點亮,但是接線之后小燈不亮是什么原因(已經排除接線原因),不知道程序哪里出了問題..
#include<reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;

sbit LED=P1^0;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

u16 k;

u8 table[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
            0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};

void delay(u16 i)
{
   while(i--);
}   

void main()
{
   EA=1;
   EX0=1;
   IT0=0;
      for(k=0;k<8;k++)
      {
         switch(k)
         {
            case 0:LSA=0;LSB=0;LSC=0;break;
            case 1:LSA=1;LSB=0;LSC=0;break;
            case 2:LSA=0;LSB=1;LSC=0;break;
            case 3:LSA=1;LSB=1;LSC=0;break;
            case 4:LSA=0;LSB=0;LSC=1;break;
            case 5:LSA=1;LSB=0;LSC=1;break;
            case 6:LSA=0;LSB=1;LSC=1;break;
            case 7:LSA=1;LSB=1;LSC=1;break;
         }
         P0=table[k];              //動態數碼管是共陰的
         delay(1000000);
         P0=0x00;         //對P0進行清零,否則第二個數碼管會有第一個數碼管的重影
      }
}

void Init0() interrupt 0
{
   LED=0;
}

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

使用道具 舉報

沙發
ID:97023 發表于 2020-1-18 01:23 | 只看該作者
電路圖都沒有怎么分析呢?
不知道你的LED接法,文字上也沒說明LED哪端接地,無法分析。
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-1-18 07:16 | 只看該作者
1.樓主程序沒有約束在主循環中運行,加while(1)。
2.外部中斷要采用IT0=1;//下降沿觸發。
3.錯誤使用延時函數:delay(1000000);
修改如下:
  1. #include<reg52.h>

  2. typedef unsigned char u8;
  3. typedef unsigned int u16;

  4. sbit LED=P1^0;

  5. sbit LSA=P2^2;
  6. sbit LSB=P2^3;
  7. sbit LSC=P2^4;

  8. u8 k;
  9. u8 table[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
  10.             0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};

  11. void delay(u16 i)
  12. {
  13.    while(i--);
  14. }   

  15. void main()
  16. {
  17.         EA=1;
  18.         EX0=1;
  19.         IT0=1;//下降沿觸發
  20.         while(1)
  21.         {
  22.                 P0=0x00;         //消隱
  23.                 switch(k)
  24.                 {
  25.                         case 0:LSA=0;LSB=0;LSC=0;break;
  26.                         case 1:LSA=1;LSB=0;LSC=0;break;
  27.                         case 2:LSA=0;LSB=1;LSC=0;break;
  28.                         case 3:LSA=1;LSB=1;LSC=0;break;
  29.                         case 4:LSA=0;LSB=0;LSC=1;break;
  30.                         case 5:LSA=1;LSB=0;LSC=1;break;
  31.                         case 6:LSA=0;LSB=1;LSC=1;break;
  32.                         case 7:LSA=1;LSB=1;LSC=1;break;
  33.                 }
  34.                 P0=table[k];//動態數碼管是共陰的
  35.                 k++;
  36.                 k%=8;
  37.                 delay(110);//延時1ms
  38.         }
  39. }

  40. void Init0() interrupt 0
  41. {
  42.    LED=~LED;//取反
  43. }
復制代碼
回復

使用道具 舉報

地板
ID:680894 發表于 2020-1-18 09:32 | 只看該作者
建議初學者敲代碼前一定看懂別人的代碼,不要一上手就想著自己就來敲,然后敲不出不就跑來問,這種學習方式是不妥的。一個新的東西肯定有他的知識點,不去了解掌握你怎么憑空想的出來?學東西開始都是先模仿別人,再熟練,到融會慣通......
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费观看黄a一级视频 | 四虎影视1304t | 最新国产精品视频 | 免费视频一区 | 一区二区在线 | 色综合久久天天综合网 | 亚洲一区二区在线视频 | 国产精品精品视频一区二区三区 | 久一精品 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 欧美一区二区在线观看 | 天天视频一区二区三区 | 噜噜噜噜狠狠狠7777视频 | 欧美日本免费 | 97国产精品 | 国产成人精品在线播放 | 久久国产精品99久久久大便 | 欧美一区二区三区精品免费 | 天天拍天天色 | 日韩在线播放一区 | 国产欧美一区二区三区在线看 | 亚洲综合视频一区 | 国产亚洲久 | 亚洲欧美精品国产一级在线 | 日韩一区二区久久 | 国产免费拔擦拔擦8x高清 | 久久美女网 | 亚洲九九 | 国产精品国产成人国产三级 | 理论片免费在线观看 | 精品区 | 欧美性猛交一区二区三区精品 | 欧美日一区二区 | 欧美一级在线观看 | 日韩伦理一区二区三区 | 国产成人精品一区二区三区四区 | 国产aⅴ | 亚洲午夜在线 | 97影院2| 欧美在线视频不卡 | 日韩精品久久久久久 |