单片机C语言汇编转换
发布网友
发布时间:2023-07-12 21:42
我来回答
共3个回答
热心网友
时间:2024-10-28 00:16
事实上,C语言,最终转换成汇编语言,汇编语言转换成相应的机器语言。
会更容易使用的C语言来编写程序,汇编语言效率接近。
单片机或ARM启动程序,使用汇编写在C语言中的主要程序。高效率的汇编,C语言的可移植性是比较容易实现复杂的结构和算法。
许多嵌入式系统的代码是写在C语言中,如Linux(嵌入式)。虽然在Android上的Java编写的应用程序,但它是系统的代码是用C语言编写。苹果的系统应用程序使用C + +。
热心网友
时间:2024-10-28 00:16
#include<reg51.h>
#define uchar unsigned char
#define p8255c (*(char *) 0x4003)
#define p8255b (*(char *) 0x4001)
#define p8255a (*(char *) 0x4000)
uchar dat1;
uchar dat0[]={0,1,2,3,4,5};
uchar datb[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,
0x90,0x88,0xc6,0xa1,0x86,0x8e,0x40,0x79,
0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,
0x08,0x03,0x46,0x21,0x06,0x0e};
void delay()
{
uchar i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++);
}
void son()
{
uchar i,j;
dat0=0x20;
dat2=0xfe;
i=0;
while(1)
{
i%=5;
p8255b=datb[dat0[i]];
p8255a=dat2;
for(j=0;j<60);j++);
p8255a=0xff;
dat2=(dat2<<1)|0x01;
i++;
}
}
main()
{
P0=0x03;
P2=0x40;
p8255c=0x80;
while(1)
{
son();
}
}追问compiling T3.C...
..\T3.C(22): error C213: left side of asn-op not an lvalue
..\T3.C(23): error C202: 'dat2': undefined identifier
..\T3.C(29): error C202: 'dat2': undefined identifier
..\T3.C(30): error C141: syntax error near ')'
..\T3.C(30): error C141: syntax error near ')'
..\T3.C(32): error C202: 'dat2': undefined identifier
..\T3.C - 6 Error(s), 0 Warning(s).
追答#include
#define uchar unsigned char
#define p8255c (*(char *) 0x4003)
#define p8255b (*(char *) 0x4001)
#define p8255a (*(char *) 0x4000)
uchar dat2;
uchar dat0[]={0,1,2,3,4,5};
uchar datb[]={0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,
0x90,0x88,0xc6,0xa1,0x86,0x8e,0x40,0x79,
0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,
0x08,0x03,0x46,0x21,0x06,0x0e};
void delay()
{
uchar i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++);
}
void son()
{
uchar i,j;
delay();
dat2=0xfe;
i=0;
while(1)
{
i%=5;
p8255b=datb[dat0[i]];
p8255a=dat2;
for(j=0;j<60;j++);
p8255a=0xff;
dat2=(dat2<<1)|0x01;
i++;
}
}
main()
{
P0=0x03;
P2=0x40;
p8255c=0x80;
while(1)
{
son();
}
}
热心网友
时间:2024-10-28 00:17
就是赋值啊!给这些存储单元赋初值