哈尔滨惠众教育官网:现在单片机的应用主要是汇编语言还是C语言?

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 14:19:42
现在在学校里单片机方面学的大多的汇编语言,但听说真正工作时,用的多是C语言,这真让我迷茫!究竟应该把精力放在汇编还是C语言上呢?哪位高手指点一下我这个迷途小书童,谢谢了!

如果你是初学,还是建议你学汇编,因为使用汇编能够使你明白到单片机内部工作原理.现在开发产品,除非使用了资源非常紧缺的小芯片型号,不然都是使用C语言,现在好多单片机,例如AVR单片机,有专门针对C语言开发的硬件结构,而且它们的速度非常的快,所以高级语言和汇编语言相比的效率问题,早已经成为过去(除非你是做导弹).
虽然C语言有各种优点,但你也得从汇编学起,不需要什么犹疑,也不需要迷茫.如果你觉得直接学C语言能够一步到位的话,这样你就和我当初一样,犯下同样的错误.
如果你只想玩玩,不需要成为高手,那么你去学C语言吧.

这里提供一下实验板套件和仿真器
http://www.waveshare.net/shop/MCUDevKit.htm

用C和汇编都可以,不过对于真正的高手是用汇编的,因为它的效率要比C高!
所以你还是要多学汇编啊!

我建议用C51,虽然理论上C51编码效率低于汇编,但编程效率要大大高于汇编,程序可靠性也高的多,最重要可以节省大量的精力。但是在学习阶段还是要先把汇编吃透,学通,这是基础,否则使用C51的时候很多地方会难以理解。

如果你处于学习阶段,那么汇编肯定是免不了的。
当你处理实际问题时候,如果与实时性或与速度非常密切的
内容,一般用汇编处理。其他的如人机接口、通讯等用C语言
完成。最后将两部分的OBJ代码连接起来,等到最后的可执行代码。
实际上这和操作系统的编写差不多:汇编写核心,C写外壳。
因为:C语言移植性好,结构化编程,效率较高,查错容易,
对项目的质量、维护等有很好的帮助。
所以目前我的做法是:能用C则用C,实在不行用汇编写核心。

各有各的好处,初学者用汇编会好些,因为汇编命令很单一,全部命令都一一列出,想用哪条现查现用就可以了,而且大体都是一个模板,反差小,一些循环,调用之类的都是用基本指令拼成的。
而C语言结构化很强,汇编写出一些代码在C语言中有时只需要一个函数就完全可以解决,但是C语言语法很多,短时间未必学的很透

你学汇编是对的,不过C也要适当的学,以汇编为主C为辅,以单片机结构为主语言为辅。
对于性能和时间要求高还必需得用汇编来写
另外,C语言只要你学过标准C(就是通用C)学起来就非常简单,相应的软件(如keil)更简单,只要你电脑应用还不是很差就行,就好像你已经会了win98再去学win2000一样简单
不过对于汇编则不一样,学汇编的更要学的是单片机的内部结构,所以你会了再学C就太简单了。
换另一种说法吧:学单片机不一定非是学C51吧,还得ARM等等,光学一样是没什么搞头的,我现在就只会51所以找不到好工作啊,就算你只学51也还有很多变种啊,比如AT89系列,LPC89系列、WINBON的51等,他们虽然大部份相同,但还是有很多不同的地方,如果学过汇编你可以很容易的学另一种单片机的特殊功能的使用,如果只学C的话就很吃力了