51系列单片机最早有Intel公司推出,主要有8031系列,8051系列。后来Atmel公司以8051的内核为基础推出了AT89系列单片机。其中AT89C51 AT89C52 AT89S51AT89S52 AT89S8252等单片机完全兼容8051系列单片机,所有的指令功能也是一样的。就是功能上做了一系列的扩展,比如说AT89S系列都支持ISP功能,AT89S52 AT89S8252增加了内部WDT功能,增加了一个定时器等功能。为了学习简单Atmel也推出了8051指令完全一样的AT89C2051
AT89C4051等单片机,这些单片机可以看成精简型的8051单片机。比较适合初学者的需要。
AVR单片机也是Atmel公司的产品,最早的就是AT90系列单片机,现在很多AT90单片机都转型给了Atmega系列和Attiny系列,AVR单片机最大的特点是精简指令型单片机,执行速度,据我所知是8位MCU中最快的一种单片机了(相同的振荡频率下)。学习AVR单片机当然可以直接就学,但是建议还是从51系列学起。
PIC单片机是Microchip公司的产品,它也是一种精简指令型的单片机,指令数量比较少,中档的PIC系列仅仅有35条指令而已,低档的仅有33条指令。但是如果使用汇编语言编写PIC单片机的程序有一个致命的弱点就是PIC中低档单片机里有一个翻页的概念,编写程序比较麻烦。但是我个人认为PIC还是一个不错的8位MCU.
初学单片机一般是选51系列的单片机,比如说Intel公司的8051系列,Atmel的AT89系列,STC公司的51系列等等都可以算是51系列单片机。这些单片机的指令系统是一样的。外面出的资料也是最多。建议选择Atmel的AT89系列芯片,出的资料最多。如果你自己要做实验,建议选择AT89S52 AT89S51 AT89S8252等芯片学习,因为这些“S”的芯片全部支持ISP(在线烧录)只要一根下载线就可以了(建议选择AVR的下载线,为了以后能同时下载AVR的芯片的程序考虑),编译软件可以到www.atmel.com上下载。烧录软件就选双龙的SLISP就可以了。这样学习的话无需使用昂贵的编程器,只要一根廉价的下载线就可以了。这类也可以同时进行SPI(同步串行扩展接口),和USART(串行方式通用同步/异步收发器)的学习。而且学习8051类型片除了资料多以外还有一个好处就是它属于CISC(复杂指令集)结构型单片机。指令系统比较完全,利用汇编语言写程序比较简单,易懂。而且它也有keilC51的C编译器。可以利用C语言来写程序。
当然51类单片机还有很多缺点:
1. 运行速度很慢,(因为是CISC(集中指令)结构,而且芯片为了抗干扰采用了12分频的方法)
2. 所有的I/0口都是准双向口,I/0口的驱动能力弱。(但是AT89的灌电流比较大,大概有20mA左右)
3. 芯片里面的P0口没有上拉电阻(P1,P2,P3口有上拉电阻)如果要输出高电平或者要定义成输入口,一般要外接电阻上拉。
4. 芯片不能定义成内部复位方式,只能用外部微分电路复位。
5. 芯片内部没有RC振荡,如要芯片正常工作,需要外加振荡源(比如晶振,RC振荡,PLL振荡等)
6. 功耗比较高,抗干扰能力也不是很强。
但是还是建议选择8051类单片机学习,因为这是学习其他8位单片机的基础。51如果学好了,学习其他单片机上手非常快。建议从汇编语言开始学起,搞懂所有指令的意义,以及如何运行的。等熟悉了以后再学C来写程序。千万别抄写人家一段程序,结果自己没有弄懂直接把程序写芯片里了,然后芯片怎么运行的都不知道。
其他常见单片机如下:
Microchip的PIC系列单片机
Atmel的AVR系列单片机
Freescal的MC系列
Motorola的6800系列
Zilog的Z80系列(这个是比51还要老的单片机)
义隆公司的EM系列
麦肯公司的MDT系列
合泰的HT系列
现代的ABOV系列
意法半导体的ST系列单片机
还有就是ARM系列32位的单片机。
还有比如说NEC LG 三星 philip等公司都做单片机的。