这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单片机
各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单
片机应该先学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
单片机等。
要说学哪一种单片机最有前途,笔者也不敢妄加断言。不管选择那一种,前途光明与否都由
你的造诣深度来决定,精则兴,不精则废。
大家的看法呢?
0