大神可以把这个c语言程序改成汇编语言的吗 急 在线等

#include<reg51.h> //我们对51单片机编程,要引用头函数

sbit led_A=P0^0; //数码管位
sbit led_B=P0^1; //数码管位

//***************led指示灯引脚定义*****************//
sbit dx_R=P0^2;
sbit dx_Y=P0^3;
sbit dx_G=P0^4;

sbit nb_R=P0^7;
sbit nb_Y=P0^6;
sbit nb_G=P0^5;

bit flag=0;
sbit key_stop=P3^3;

char N=25; //初始时间是25
//char tab_disp[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x80};//共阴极码表
char tab_disp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阳极码表

/*延时子函数*/
void delay(int t ){while(t--);}
/*显示子函数*/
void display(char dat)
{
led_A=led_B=0; //先位灭显
P2=0XFF; //再段灭显
P2=tab_disp[dat/10]; //赋显示的数
if(dat/10)led_A=1;
delay(1000); //延时

P2=0XFF;led_A=led_B=0; //段灭显 位灭显
P2=tab_disp[dat%10]; //赋显示的数
led_B=1;
delay(1000); //延时
}
//这个是循环显示60遍显示的函数
void deal(char m)
{
int t=60;
while(t--)display(m); //循环显示60遍显示的函数
}

void KEY()
{
unsigned char save;
if(key_stop==0)
{
delay(20);
if(key_stop==0)
{
flag=1;
save=P0;
P0=0x84;
while(key_stop==0);
while(flag==1)
{
if(key_stop==0)
{
delay(50);
if(key_stop==0)
{
flag=0;
P0=save;
while(key_stop==0);
}
}
}
}
}
}

/*主函数*/
void main(void)
{
char i;
EA=1; //全局中断开关
IT1=1; //外部中断下降沿有效
EX1=1;
while(1)
{
N=25; //初始时间是25
dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮,1是灭
nb_R=0;nb_Y=0;nb_G=1; //指示灯0是亮,1是灭
for(i=N;i>0;i--) //一秒一秒的减
{
deal(i);
KEY();
}

dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮,1是灭
nb_R=0;nb_Y=1;nb_G=0; //指示灯0是亮,1是灭
N=5; //时间变成5
for(i=N;i>0;i--) //一秒一秒的减
{
deal(i);
KEY();
}

dx_R=0;dx_Y=0;dx_G=1; //指示灯0是亮,1是灭
nb_R=1;nb_Y=0;nb_G=0; //指示灯0是亮,1是灭
N=25; //时间变成25
for(i=N;i>0;i--) //一秒一秒的减
{
deal(i);
KEY();
}
dx_R=0;dx_Y=1;dx_G=0; //指示灯0是亮,1是灭
nb_R=1;nb_Y=0;nb_G=0; //指示灯0是亮,1是灭
N=5; //时间变成5
for(i=N;i>0;i--) //一秒一秒的减
{
deal(i);
KEY();
}
}
}

第1个回答  2017-01-10
翻译完了,去我共享空间下载,http://pan.baidu.com/s/1eRJJucM本回答被网友采纳