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

QQ登錄

只需一步,快速開始

搜索
查看: 3702|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

下面的代碼是之前發(fā)的那個(gè)的整貼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:36551 發(fā)表于 2012-3-18 16:58 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg51.h>
#include <stdio.h>
#define uchar     unsigned char
#define uint      unsigned int

uchar h;      
uint r=0;
uint s;
uchar code  dis[]={       
 0Xc0,/*0*/
 0Xf9,/*1*/
 0Xa4,/*2*/
 0Xb0,/*3*/
 0X99,/*4*/
 0X92,/*5*/
 0X82,/*6*/
 0Xf8,/*7*/
 0X80,/*8*/
 0X90,/*9*/
 0Xff,/*NULL*/
};
void delay(uint c)
{
   uint i,j;
    for(i=0;i<c;i++)
   for(j=0;j<100;j++); 
}
 //interrupt 1
void t0(void) interrupt 0 using 1
{
  delay(2);
   if(INT0==0)
    {
      r++;
   if(r==2)
    {
    r=0;
    }
   r%=2;
   if(r==0)
    {
     P0=0xeb;
        P1=0x00;
        P2=0xff;
    }while(1)
     {
     if(INT0==0|INT1==0|T0==0)
    {
    delay(2);
    if(INT0==0|INT1==0|T0==0)
     break;
    }
     };   
    }
}
 //interrupt 2
void t1(void) interrupt 2 using 1
{
  delay(2);
   if(INT1==0)
    {
   r++;
   if(r==2)
    {
    r=0;
    }
   r%=2;
   if(r==0)
    {
     P0=0xdd;
        P1=0x00;
        P2=0xff;
    }while(1)
     {
     if(INT1==0|INT0==0|T0==0)
    {
     delay(2);
     if(INT1==0|INT0==0|T0==0)
     break;
    }
     };      
    }
}

//interrupt 3
void t2(void) interrupt 1 using 1
{
  TH0=0xff;
  TL0=0xff;
    delay(2);
     if(T0==0)
       {
     P0=0xdb;
        P1=0x00;
        P2=0xff;
    }while(1)
     {
     if(INT0==0|INT1==0)
    {  
      delay(2);
   if(INT0==0|INT1==0)
     break;
    }
     };
}
void main(void)
{
  TMOD=0x06;
  TH0=0xff;
  TL0=0xff;
  TR0=1;
  EA=1;
  EX0=1;
  EX1=1;
  ET0=1; 
 while(1)
{
    P0=0xeb;
     for(h=28;h>0;h--)
     {
       for(s=248;s>0;s--)
       {
        P1=0x00;
        P2=0xff;
        P1=0x01;
        P2=dis[h/10];
         delay(1);
  P1=0x00;
        P2=0xff;
        P1=0x02;
        P2=dis[h%10];
   delay(1);
  P1=0x00;
        P2=0xff;
  P1=0x04;
        P2=dis[(h+2)/10];
   delay(1);
  P1=0x00;
        P2=0xff;
  P1=0x08;
        P2=dis[(h+2)%10];
         delay(1);
       }
     }
    delay(248);
    P0=0xf3;
     for(h=3;h>0;h--)
     {
        delay(392);
         P0=0xf3;
         delay(1);
        P1=0x00;
        P2=0xff;
        P1=0xaa;
        P2=dis[(h-1)%10];
         delay(600);
        P0=0xfb;
     }
    delay(248);     
    P0=0xdd;
     for(h=38;h>0;h--)
     {
       for(s=248;s>0;s--)
       {     
  P1=0x00;
        P2=0xff;
        P1=0x01;
        P2=dis[(h+2)/10];
   delay(1);
  P1=0x00;
        P2=0xff;
        P1=0x02;
        P2=dis[(h+2)%10];
   delay(1);
        P1=0x00;
        P2=0xff;
        P1=0x04;
        P2=dis[h/10];
         delay(1);
        P1=0x00;
        P2=0xff;
        P1=0x08;
        P2=dis[h%10];
         delay(1);
       }
     }
    delay(248); 
    P0=0xde;
     for(h=3;h>0;h--)
     {
        delay(392);
        P0=0xde;
         delay(1);
        P1=0x00;
        P2=0xff;
        P1=0xaa;
        P2=dis[(h-1)%10];
        delay(600);
        P0=0xdf;      
     }
  delay(248);     
   }  
}


 

想問一下,這個(gè)程序是怎么運(yùn)行的,那部分是中斷,那部分是復(fù)位,那部分是調(diào)整運(yùn)行時(shí)間的。求大蝦們,幫忙看看
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:7485 發(fā)表于 2012-3-18 17:27 | 只看該作者
問這個(gè)干嗎呢?
回復(fù)

使用道具 舉報(bào)

板凳
ID:36551 發(fā)表于 2012-3-18 17:43 | 只看該作者
做作業(yè)要用到,但是看不懂呀。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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