学C语言和单片机有关吗

如题所述

应该有关系。以前使用单片机用汇编语言,但是编程比较麻烦,如果掌握C语言可以在计算机上编好程序,然后再下载到单片机中。总之,应该好好掌握C语言。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-27
晕,首先建议你将问题中所有"这么"改成"怎么"
问题1,不需要用c语言表示单片机语言(机器语言),在用相应软件编译你编写的程序时,编译软件会将你的程序"翻译"成"机器语言"(就是你所说的单片机语言),用来烧录到单片机中.c语言就是c语言,只不过相对于机器语言他更容易读懂,方便编写.
在很多年以前,单片机开发用的是汇编语言,在烧写单片机之前要自己对照"单片机机器语言表"将自己的程序翻译成"机器语言",全是数字串,那是钟痛苦,现在都有编译软件搞定了,比如你用keil,编译之后,点仿真,就能看见对应的汇编语句和机器语句,机器语句在单片机数据手册上有对应的码.
问题2.不是所有的单片机都支持位运算,比如51支持位运算,在c语言中如果你定义了有关位的运算,编译器在"翻译"的时候就会翻译成对应的机器语言,这时由于51支持为运算,生成的代码就少.如果使用了不支持位运算的单片机,那么编译器就会使用其他方法实现你定义的运算,相对之下代码要多一些,可能要用很多条语句才能完成.
标准的c语言本来是不支持位定义的,只能用位域的方式定义,像"bit"这样的定义是keil中扩展出来专门为像51这样的支持位定义的单片机使用的,这样的c语言叫做非标准c,keil中使用的c语言叫做
keil
c语言,
之所以使用c来开发是为了方便,之所以在开发中允许使用位定义,是因为兼容(因为51支持)
使用c语言来开发,就去尽情的发挥c语言的优点,这些语言是怎么转化到单片机中的,就是编译器的事情了.
记住"只要支持就去用,这就是优化"
但这种优化的程序不方便移植.
看不懂给我留言
第2个回答  2019-05-31
单片机中的基本语言是机器语言,汇编语言和它是一一对应的。
51单片机中,只有100多条汇编语言的指令,非常简单,很容易理解和记忆。
正因为它的简单,编写较大程序时,篇幅就较长。这时就会体现出C语言的优势。
用C语言编写单片机程序,其结构性、运算能力的优点比较突出,但是,涉及到硬件,还是要借助于汇编语言的方法。
相似回答
大家正在搜