现在易语言可以写单片机和开发程序吗?
3个回答
展开全部
问题1,不需要用C语言表示单片机语言(机器语言),在用相应软件编译你编写的程序时,编译软件会将你的程序"翻译"成"机器语言"(就是你所说的单片机语言),用来烧录到单片机中.C语言就是C语言,只不过相对于机器语言他更容易读懂,方便编写.
在很多年以前,单片机开发用的是汇编语言,在烧写单片机之前要自己对照"单片机机器语言表"将自己的程序翻译成"机器语言",全是数字串,那是钟痛苦,现在都有编译软件搞定了,比如你用keil,编译之后,点仿真,就能看见对应的汇编语句和机器语句,机器语句在单片机数据手册上有对应的码.
问题2.不是所有的单片机都支持位运算,比如51支持位运算,在C语言中如果你定义了有关位的运算,编译器在"翻译"的时候就会翻译成对应的机器语言,这时由于51支持为运算,生成的代码就少.如果使用了不支持位运算的单片机,那么编译器就会使用其他方法实现你定义的运算,相对之下代码要多一些,可能要用很多条语句才能完成.
标准的C语言本来是不支持位定义的,只能用位域的方式定义,像"bit"这样的定义是keil中扩展出来专门为像51这样的支持位定义的单片机使用的,这样的C语言叫做非标准C,keil中使用的C语言叫做 keil C语言,
之所以使用C来开发是为了方便,之所以在开发中允许使用位定义,是因为兼容(因为51支持)
使用C语言来开发,就去尽情的发挥C语言的优点,这些语言是怎么转化到单片机中的,就是编译器的事情了.
记住"只要支持就去用,这就是优化"
但这种优化的程序不方便移植.
看不懂给我留言
在很多年以前,单片机开发用的是汇编语言,在烧写单片机之前要自己对照"单片机机器语言表"将自己的程序翻译成"机器语言",全是数字串,那是钟痛苦,现在都有编译软件搞定了,比如你用keil,编译之后,点仿真,就能看见对应的汇编语句和机器语句,机器语句在单片机数据手册上有对应的码.
问题2.不是所有的单片机都支持位运算,比如51支持位运算,在C语言中如果你定义了有关位的运算,编译器在"翻译"的时候就会翻译成对应的机器语言,这时由于51支持为运算,生成的代码就少.如果使用了不支持位运算的单片机,那么编译器就会使用其他方法实现你定义的运算,相对之下代码要多一些,可能要用很多条语句才能完成.
标准的C语言本来是不支持位定义的,只能用位域的方式定义,像"bit"这样的定义是keil中扩展出来专门为像51这样的支持位定义的单片机使用的,这样的C语言叫做非标准C,keil中使用的C语言叫做 keil C语言,
之所以使用C来开发是为了方便,之所以在开发中允许使用位定义,是因为兼容(因为51支持)
使用C语言来开发,就去尽情的发挥C语言的优点,这些语言是怎么转化到单片机中的,就是编译器的事情了.
记住"只要支持就去用,这就是优化"
但这种优化的程序不方便移植.
看不懂给我留言
更多追问追答
追问
额,,,,我是说易语言
追答
单片机只能用c语言和汇编
展开全部
单片机只能用c语言和汇编
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-07-25
展开全部
printPreviewDialog1.PrintPreviewControl.StartPage = 0;
class Composite : Component
{
private List children = new List();
public Composite(string name) : base(name) { }
public override void Add(Component c)
{
children.Add(c);
}
public override void Remove(Component c)
{
children.Remove(c);
}
class Composite : Component
{
private List children = new List();
public Composite(string name) : base(name) { }
public override void Add(Component c)
{
children.Add(c);
}
public override void Remove(Component c)
{
children.Remove(c);
}
追问
这是,,,易语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询