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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2824|回復: 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ⅴ国产馆 | 免费久久久久久 | 日韩不卡在线观看 | www.色午夜.com | 久久99蜜桃综合影院免费观看 | 国产乱肥老妇国产一区二 | 国产精品视频免费看 | 99精品一级欧美片免费播放 | 国产精品免费在线 | 99av成人精品国语自产拍 | 久草福利 | 91久久国产综合久久 | 在线日韩欧美 | 天天久久 | 秋霞电影院午夜伦 | 自拍偷拍中文字幕 | 一级毛毛片| 成人国产精品 | 欧洲亚洲视频 | 久久久成人网 | 久久久成人动漫 | 成人免费视频网站在线看 | 天堂成人国产精品一区 | 亚洲a视频 | 国产成人一区 | 欧美日韩国产高清 | 成人毛片一区二区三区 | 久久久久国产 | 天堂中文字幕av | 亚洲一区二区av | 午夜av一区二区 | 色橹橹欧美在线观看视频高清 | 丝袜久久| 日本精品一区二区 | 99久久久久| 成人午夜视频在线观看 | www.99久久.com | 国产在线精品一区二区三区 | 国产91精品久久久久久久网曝门 | 视频国产一区 | 99视频精品|