一个c语言程序,将它转为汇编程序怎么写?51单片机的问题
#include<reg52.h>
#define uchar unsigned char
sbit P2_0=P2^0;
uchar x,num=0,count=0,LEDC,flag=0,a=0;
unsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff};
void delay(x)
{
uchar i,j;
for(i=200;i>0;i--)
for(j=x;j>0;j--);
}
void main()
{
EA=1; //总中断已开
ET0=1; //定时器0设置为100us进一次中断
TMOD=0x21;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
TR0=1;
TR1=1; //定时器T1作为波特率发生器 9600
TH1=0xfd;
TL1=0xfd;
ES=1; //串口接收设置
REN=1;
SM0=0;
SM1=1;
EX0=1;
IT0=1; //外部中断为下降沿触发
ET1=1;
IT1=0;
while(1)
{
/*if(flag==1)
{
flag=0; //串口接收数据
SBUF=a;
while(!TI);
TI=0;
} */
for(LEDC=0;LEDC<17;LEDC++)
{
P0=table[LEDC];
delay(200);
}
}
}
void pT0() interrupt 1
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(num==count)
P2=0x00;//P2_0=0;
if(num==10)
{
num=0;
P2=0xff;//P2_0=1;
}
num++;
}
void pINT0() interrupt 0
{
if(count==10)
count=0;
else
count++;
}
void pINT1() interrupt 2
{
if(count==0)
{
count=0;
}
else
count--;
}
void sT1() interrupt 4
{
P1=SBUF;
RI=0;
//a=SBUF;
//flag=1;
}
追问:老师实验要求啊,没办法。你会吗?
答案:用的keil吗?好久么用了,看看你的文件声场列表里吧,一般都是先把C语言 转换为汇编再编译的,文件放在哪里我也忘记了
上一个:汇编 设置一个时间 然后时钟走的代码
下一个:求汇编程序指错:利用计数器T1(p3.5)记录脉冲的个数,每计满10个脉冲,使灯亮1s,然后重新计数。