这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单片机各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单 片机应该先学 51
单片机,学会了 51 单片机再去学其他单片机,这是学习单片机过来人的同感,也是公认的
学习方法。为什么要先学 51 单片机?因为 51 单片发 展最早,应用最广泛,特别是 I/O 口
的操作非常简单,而且相关的学习资料最多、教材最成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机 那就是小菜一碟了,只是对着芯片数据手册设置寄存器
罢了,快则一两个星期,多则一个月就能掌握另一种单片机了。如果一开始就选择非 51 单片机学习,那将是 “路漫漫其修远兮,你将艰难而求索!”
那学 51 单片机用 C 语言还是汇编语言好?当然是 C 语言了。因为:1、C 语言是高级语言,代码移植性好,易于维护;2、编程灵活,随心所欲;3、语言层次分明,思路清晰, 可读性强。4、C 语言是目前最流行的单片机编程语言,例程代码多,便于参考,单片机技术发展之快,应用之广,学习群体日益庞大,这和 keil C51 开发环境的问世是分不开的。5、C 语言是大众编程语言,是其他编程语言的基础,学会了C 语言,对于进一步深造的选
择就很自由了。汇编语言是早期单片机学习使用的语言,优点是执行指令比 C 语言稍快外, 其他方面笔者不敢恭维。
学会 51 单片机以后,就可以根据你从事的工作或者你的目标选择以下一种或多种继续深造。
1、AVR 单片机 速度快,一个时钟周期执行一条指令,而普通的 51 单片机需要 12
个时钟周期执行一条指令。当然,Atmel 公司出品的 AT89LP 系列单片机也是一个时钟执行一条指令,但目前还未普及。AVR 单片机比 51 单片机多了 USB 通信模块、SPI 通信模块、I2C 通信模块、PWM 模块、AD 转换模块等,但在 C 语言编程方面对 I/O 的操作比51 麻烦得多。
2、PIC 单片机 品种齐全,应用领域广泛,片内资源也很丰富,也是很受欢迎的单
片机。比 51 单片机多 SPI 通信模块、I2C 通信模块、PWM 模块、AD 转换模块等片内资源。4 个时钟周期执行一条指令,速度看似比 51 单片机快,事实上并非如此,PIC 单片机最高时钟频率一般为 8MHZ,而 51 单片机最高时钟频率可达到 33MHZ 。速度上 PIC 单片机并不占优势,而抗干扰能力则也比 51 单片机略强。C 语言编程方面对 I/O 的操作要比 51 麻烦。
3、MSP430 单片机 16 位单片机,速度快,一个时钟周期执行一条指令,超低电
压低功耗,适合用于电池供电设备。
4、Motorola 单片机 抗干扰能力极强,适用于恶劣环境,这是以降低速度为代价的。
5、DSP 技术 用于音频、视频、通信等快速数字处理领域,速度超快,编程算法也
比较复杂。
6、FPGA 技术 难度和单片机差不多,应用领域逐渐广泛。
7、嵌入式系统 应用于非 PC 机控制以外的复杂的智能控制系统,以及智能通信设备、
掌上电脑、学习设备、娱乐设备等,应用领域也很广泛。学习难度也较大,需要有操作系统、硬件、驱动原理等方面的知识。山寨版的手机、掌上电脑等满街泛滥都是嵌入式系统发展惹的祸。
8、其他单片机,如德州仪器单片机,合泰单片机,NEC 单片机等。
要说学哪一种单片机最有前途,笔者也不敢妄加断言。不管选择那一种,前途光明与否都由你的造诣深度来决定,精则兴,不精则废。
大家的看法呢? |