回 帖 发 新 帖 刷新版面

主题:急求C语言写成汇编

#include<reg51.h>
char min,sec,hou,a,b,c;
char n[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char count;
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P17=P1^7;
void delay(void)
{int k;
 for(k=0;k<100;k++);
}
void display(int m,int s,int ds)
{char m1,m2,s1,s2,ds1,ds2,i;
 m1=m2=s1=s2=ds1=ds2=0;
 if(m>0){m2=m%10;m/=10;}
 if(m>0) m1=m%10;
 if(s>0){s2=s%10;s/=10;}
 if(s>0) s1=s%10;
 if(ds>0){ds2=ds%10;ds/=10;}
 if(ds>0)ds1=ds%10;
 P2=0xff;
 for(i=0;i<6;i++)
 {switch(i)
  {case 0:P2=0xfe;P0=n[m1];delay();
   case 1:P2=0xfd;P0=n[m2];delay();
   case 2:P2=0xfb;P0=n[s1];delay();
   case 3:P2=0xf7;P0=n[s2];delay();
   case 4:P2=0xef;P0=n[ds1];delay();
   case 5:P2=0xdf;P0=n[ds2];delay();
   }
 }
}
void initial(void)
{TMOD=0x01;
 IT0=1;
 EA=1;
 ET0=1;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 TR0=1;
 EX0=1;
 hou=0;
 min=0;
 sec=0;
 a=0;
 b=0;
 c=0;
}
void main(void)
{int i;
 initial();
 while(1)
 {if(P10==1) display(hou,min,sec);
  if(P10==0) display(a,b,c);
 if((a==hou)&&(b==min))
{
   for(i=0;i<100;i++) P17=1;


   for(i=0;i<100;i++) P17=0;}
 }
}

void T0serv(void) interrupt 1 using 1
{TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 TR0=1;
 count++;
 if(count>9)
 {sec++;
  count=0;
 }
 if(sec>59)
 {min++;
  sec=0;
 }
 if(min>59){hou++;min=0;}
 if(hou>23){hou=0;}
}
void INT0serv(void) interrupt 0 using 1
{if(P10==1)
 {if(P11==0){ min++;
              if(min>59)
               min=0;}
  
  if(P11==1){ hou++;
              if(hou>23)
                hou=0;}
 }
 if(P10==0)
 {if(P11==0) {b++;
        if(b>59)
         b=0;}
  if(P11==1) {a++;
        if(a>23) 
         a=0;}
 }
}

请高手老师写成汇编语言的

回复列表 (共1个回复)

沙发


 你反汇编一下吗

我来回复

您尚未登录,请登录后再回复。点此登录或注册