首先单片机是一种小型计算机,而C语言是是一种计算机语言。计算机通过执行程序来读懂人类的控制指令。学习单片机,就是让单片机智能化,能按照人的意志执行指令,如关窗或者开窗等动作。在控制单片机执行动作时,人需要通过编写C程序来让计算机执行动作。
综上,C语言是人与单片机等计算机进行交流的工具。
还有就是C语言与单片机的语法、运算符和变量规则都一样,只是由于CPU不同,所以库函数都不一样。在普通C中常用的头文件是stdio.h,在单片机(51为例)常用的头文件是reg51.h或reg52.h。单片机面向的是硬件环境更多一些。常用函数printf,普通C中输出到屏幕,单片机中输出到串口。等等,至于具体的则需要你们自己去挖掘。
还有人问没C语言基础怎么学51单片机呢?
其实我觉得可以边学51边学c,想把c学好后再学51这个想法是不对的。对照例题,多敲代码,哪怕你不懂它的意思,把每个代码都要敲一两遍。敲代码时思考为何这样,找资料。实在不知道为何这样,就先跳过。只要坚持一个月,那么很多东西你自然就会明白是什么意思,为何这样。你也就基本可以上路了。切记切记:多动手!
但我的意思不是建议你们一边学C一边学51这样的。
这样是错的。是边学51,边学C。51是学习的目的和最终的产品,而C只是一个工具。学51的过程中,有C部分不懂的就翻书找资料,有针对性的翻书找资料会比单纯的看书学习效率高多了(这也是我要你直接上51的原因)。前提是,你要坚持过前面那段懵懂啥也不会的时间,多动手敲代码。我这个办法是学起来效果最好的,有个人带下就最好了。至于汇编,如果长期做单片机,就可以学下,可以加深对一些寄存器、工作机制的了解。以后如果转linux wince android ,则不学也无所谓。毕竟时间有限,不可能面面俱到。
感觉不错的可以私信和我讨论!!!!!!!