零、前言

  初学者开始学习51单片机时往往先是一愣,说好51单片机啊,咋个型号是AT89C52,这个S52又是咋回事?上学的时候大都懵懵懂懂就这么用着,但始终没整明白,所以今天我们就彻底搞明白这些“51”都是些啥51。文章最后我还准备了一份各型号的对比手册,大家可以对照参考。

一、8031指令集

  51单片机是一个泛称,我们将所有兼容Intel 8031指令系统的都叫51单片机,所以无论是AT89C51、AT89S52、AT80C51、TS83C25等等,不管他叫什么名字都统称为51单片机。那为啥不叫31单片机呢?Intel当年推出这个单片机系列时第一款编号就是8031(所以叫8031指令系统),而后在其基础上进行小改就叫8032、8033,进行大改就叫8041、8051,刚好升级到8051时Intel将8051的资料公布给其他厂商鼓励大家一起来玩,于是现在所有其他厂商的51单片机都是基于8051进行二次开发的(自然使用的就是8031指令系统),而后大家就把所有使用8031指令系统、基于8051单片机生产其他单片机统称为51单片机。

二、C51与C52

  ATMEL生产了很多型号的51单片机,最经典的自然就是AT89C51了,但是其的ROM只有4K、RAM只有128Byte,想多写几行代码怎么办?自然是先简单的升个级嘛,于是将ROM和RAM空间增倍就是AT89C52了(ROM 8K、RAM 258Byte)。

三、C51与S51

  AT89S51是AT89C51的一次全面升级,除了采用更新的工艺、更高的频率、更多的烧写次数,还增加了ISP、看门狗、异步串口等,所以市面上使用最多的还是S51而不是C51。

四、不可多次擦写的87系列

  我们印象中51单片机一般都是可多次擦写的(重复烧录程序),但很多商用场景下只需要写入一次程序即可(OTP),所以ATMEL自然推出了只可烧录一次的版本,比如AT87F51、AT87C5103、TS87251等,命名特点是都有个87.

五、L、LV、LS、LP

  除了常见的C51、S51、C52、S52,我们有时还能看到不少L、LV、LS、LP,比如AT89LS52、AT89LV51等,实际含义如下:

  1)L:代表低电压低功耗

  2)LV:代表低电压

  3)LS/LP:代表在低电压低功耗(L)基础上增强型内核的产品

六、总结

  除了上述的特性外,芯片型号中还包含了很多信息,一般老手看到长长一串字符大概就能知道芯片的特性,如果想了解更多可以关注公众号“零基础爱学习”回复“A51”可获得下面的资料:

  1、ATMEL 51单片机常见型号性能对照表

  2、ATMEL 51单片机命名规则

  后续还会继续补充更多学习资料,敬请关注“零基础爱学习”!

【零基础】彻底搞懂51单片机各种型号(ATMEL系列)的更多相关文章

  1. 【零基础】搞懂GPU为什么比CPU“快”

    一.前言 近几年深度学习在各领域大显神威,而”GPU加速"也得到了越来越多的篇幅,似乎任何程序只要放到GPU上运行那速度就是杠杠的.GPU代替CPU计算已成了大势所趋?我先告诉你结论”那是不 ...

  2. 【零基础】搞定LAMP(linux、apache、mysql、php)环境安装图文教程(基于centos7)

    一.前言 LAMP即:Linux.Apache.Mysql.Php,也就是在linux系统下运行php网站代码,使用的数据库是mysql.web服务软件是apache.之所以存在LAMP这种说法,倒不 ...

  3. 【零基础】搞定zabbix安装

    一.前言 最近想做服务器压力测试,测试软件找到了,突然发现还没有很好的办法监控服务器运行情况,之前用过zabbix,所以想到说要不就用zabbix来监控服务器运情况,不过这次就要好好研究下zabbix ...

  4. 【零基础】入门51单片机图文教程(Proteus+Keil)

    参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...

  5. 五分钟搞懂Vuex

    这段时间一直在用vue写项目,vuex在项目中也会依葫芦画瓢使用,但是总有一种朦朦胧胧的感觉.于是决定彻底搞懂它. 看了一下午的官方文档,以及资料,才发现vuex so easy! 作为一个圈子中的人 ...

  6. [易学易懂系列|rustlang语言|零基础|快速入门|系列文章]

    简单易懂的rustlang入门教程. [易学易懂系列|rustlang语言|零基础|快速入门|(1)|开篇] [易学易懂系列|rustlang语言|零基础|快速入门|(2)|VCCode配置] [易学 ...

  7. 基础篇|一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  8. Android零基础入门第51节:进度条ProgressBar

    原文:Android零基础入门第51节:进度条ProgressBar 不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有AP ...

  9. Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!

    本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...

随机推荐

  1. javaIO——PipedReader 和 PipedWriter 实现模拟即时聊天

    上一篇学习了javaIO里面的 PipedReader 和 PipedWriter,这里对两个类做一个小小的练习:实现一个即时消息发送和接收的聊天系统(这里只实现单向发送,双向同理,定义两个管道即可) ...

  2. hexo发布后样式丢失

    修改配置中url路径,和root,问题解决.

  3. 【php设计模式】责任链模式

    责任链模式为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式. 在这种模式中,通常每个接收者都包含对另一个接收者的引用.如果一个对 ...

  4. 一步一步搭建 .net core 应用

    前言 近段时间 .net core 大火,公司也打算趁此机会把后续项目迁移到 .net core 平台上,我们下面的一帮人也就跟着大部队,开始狂补 dotnetcore 相关的技术了.此贴主要记录我在 ...

  5. 有趣的"=="与"==="

    console.log([]==![]);//true //"=="会进行类型转换,转换成统一类型进行比较 // !符号优于==,[]boolean值为TRUE,所以![]就是FA ...

  6. PendSV异常介绍、用于上下文切换

    在这里,非常感谢<cortex-cm3权威指南>的翻译者. PendSV 的典型使用场合是在上下文切换时(在不同任务之间切换). 例如, 一个系统中有两个就绪的任务,上下文切换被触发的场合 ...

  7. sql server 防 注入

    这里使用的是参数化 SqlParameter useremail = new SqlParameter("@useremail", user.user_Email); SqlPar ...

  8. Django阶段总结与Ajax

    一.路由控制 二.视图层 三.模板层 四.模型层.单表操作.多表操作 五.什么是ajax 一.路由控制 补充点(什么是web应用?) 网站:BS架构应用程序:B是浏览器  S:server(实现了ws ...

  9. PHP判断是否有Get参数的方法

    PHP如何判断是否有Get参数,方法很简单,一个函数就可以搞定,需要的朋友可以参考下 if(is_array($_GET)&&count($_GET)>0)//判断是否有Get参 ...

  10. python_函数高级

    1.函数名当变量来使用 def func(): print('wdc') # 可以将函数赋值给变量 v1 = func v1() func() def func(): print('wdc')# 可以 ...