找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3371|回復: 1
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機中斷程序執(zhí)行時間/次數(shù)的設置

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:757605 發(fā)表于 2020-5-21 17:42 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
編程實現(xiàn):正常情況下,P1口控制8個LED燈(低電平亮)常亮,當外部中斷0中斷時,P1口所接的8個LED燈流水一段時間;外部中斷1中斷時,P1口所接的8個LED燈間隔點亮一段時間。



#include <reg51.h>
unsigned char t0,t1;
void delay0_5s()
{   
  for(t0=0;t0<0x0a;t0++)   
{      
   TH0=0x3c;   
   TL0=0xb0;
   TR0=1;               
   while(!TF0);            
   TF0=0;      
   }
}
void delay_t(unsigned char t)
{
  for(t1=0;t1<t;t1++)delay0_5s();
  }
void int_0()  interrupt 0   
  {                unsigned char n,j,k,l,m;
  n=P1;
  j=t0;
  k=t1;
  l=TH0;
  m=TL0;         
  {
   P1=0xfe;delay0_5s();
   P1=0xfd;delay0_5s();
   P1=0xfb;delay0_5s();
   P1=0xf7;delay0_5s();
   P1=0xef;delay0_5s();  
   P1=0xdf;delay0_5s();
   P1=0xbf;delay0_5s();
   P1=0x7f;delay0_5s();        // 提問:這段流水燈程序用數(shù)組或移位的方式應該怎么寫?我想讓這個中斷執(zhí)行兩次,程序應該怎么寫?
   }   
                P1=n;
                t0=j;
                t1=k;
                TH0=l;
                TL0=m;
   }
   void int_1()  interrupt 2
{        unsigned char n,j,k,l,m;
  n=P1;
  j=t0;
  k=t1;
  l=TH0;
  m=TL0;
          {
     P1=0x00;   
     delay0_5s();   
     P1=0xff;   
         delay0_5s(); }          //提問:我想讓這個中斷執(zhí)行兩次,程序應該怎么寫?           
                P1=n;
                t0=j;
                t1=k;
                TH0=l;
                TL0=m;         
   }
void main()   
{   
    EA=1;     
    EX0=1;   
    IT0=1;     
        EX1=1;
        IT1=1;
    TMOD=0x01;            
while(1)
  {
   P1=0x00;
  }
}


        

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

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2020-5-21 18:49 | 只看該作者
先畫出邏輯框圖,在框圖走通后,再寫程序!
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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