缺芯时代,如何看待快被遗忘的51单片机
辩证地看待51内核单片机
要回答这个问题,首先需要来看一下传统的51单片机。在有些文章或者书本中,对于51单片机的态度是全面否定的,一旦听到某人要学习或者使用51单片机,则有种“群起而笑之”之势,觉得其主频低,外设少,技术老,然后以这些理由劝退要去学习51单片机的同学。其实,这个态度是非常武断的,必须被批判,虽然现在32位的单片机遍地都是,但是对于一些成本为首位的产品,8位机无疑还是有很大的价格优势的。而市面上最多的8位单片机产品,内核架构最普遍的还是51。批判51单片机不行的人,出发点无疑就是外设少,外部晶振12分频的硬伤这两点,然而这两点只不过是它们印象中的十几年前的51单片机产品。时代在发展,51单片机也在发展,为了区别那些全盘否定51单片机的人口中的“51单片机”,不断发展的51单片机一般被称为“增强型51单片机”。
接下来,我们用辩证的眼光,再来审视一下现在的“增强型51单片机”。
“增强型51单片机”保留了51单片机开发简单,内部结构简单,价格低廉等优点,弥补了传统51单片机的一些不足,增加了主流的外设资源。介于此,“增强型51单片机”的性价比到目前为止还是非常突出,新手上手程度也很简单,有点51单片机基础的,稍微看一下数据手册就可以直接使用。
但是,无论利用何种形式去增强51单片机,51单片机结构的一些致命硬伤是永远存在的,比如用于操作特殊功能寄存器的寻址,在C语言开发中只能利用C51独有的“sfr”关键词去定义特殊功能寄存器,而“sfr”又不是标准C中的关键词,因此51单片机的程序有一部分是无法直接移植到其他平台上去的。中断关键词“interrupt”也是一样。
辩证地看待其优缺点,“增强型51单片机”非常值得花时间学一学。
发展的眼光看51单片机
我们所说的51单片机,用现在比较潮流的说法应该是“MCS51内核”的单片机。如果这么分类的话,51单片机最早的型号其实是8031单片机,这个单片机的内核和现在的“51内核”基本一致,不过它是一个内部没有存储器(ROM)的芯片,在使用的时候,需要外部扩展存储器,非常麻烦。如图1所示。
图1 51单片机外部存储器扩展示意
等到后来的8051单片机,就开始在内部继承ROM,这样可以减少由于外扩存储器带来的烦恼,从而简化了电路结构,降低了元器件成本。
最早的51单片机存储器是EPROM,因此它是需要通过特殊的编程器来烧写程序,而程序擦除时,也需要将单片机曝光在光线下半小时以上才能擦除,而这种EPROM存储程序不稳定,擦写次数也有限,其外形如图2所示。
图2 EPROM的51单片机
为了解决这个问题,FLASH等先进的存储器技术被用到了51单片机上,因此实现了可重复多次擦写,甚至后面多种在应用编程(IAP),在系统编程(ISP)方式也被用到了51单片机上,现在的51单片机,利用一根串口线就可以实现程序的烧写,非常方便。
51单片机的程序烧写问题被flash解决了,后面随着应用程序的需求,51单片机的程序开发难度越来越大,因此一些厂商推出了一些可以在线调试的芯片,在程序开发的时候,利用带调试功能的51单片机进行程序开发,做产品时,将调试好的程序烧录到51单片机即可。后来的一些增强型51单片机,可以直接支持程序调试,如我们使用的STC8A,可以直接使用一根串口线和Keil软件进行程序调试。如图3所示。
图3 程序在线调试界面
传统的51单片机,内存只有几百个字节,程序存储器也小得可怜,而且其外设支持非常有限,只支持2个外部中断,2个定时计数器,1个串口,这样的芯片,放到现在来看,根本满足不了任何应用。尽管如IIC,SPI的外设我们都可以使用IO去模拟,但是模拟外设的程序会占据大量的代码空间,同时,为了满足时序需求所增加的延迟,也浪费了宝贵的CPU资源。为了解决这个问题,目前的增强型51单片机外设变得琳琅满目,如STC8A的内存最大可达到8K byte,程序存储器最大可达到64K byte,而其外设资源有5个外部中断,5个定时计数器,4个高速串口,4组16位的PCA模块,8组15位增强型带死区控制PWM,SPI,IIC,12位精度15通道的ADC(采样率800K),GPIO支持准双向,强推挽,开漏,高阻等模式。并且内置最高24MHz的高精度RC振荡器。这个配置放在目前的8位机市场,甚至是低端32位机市场,也拿得出手。具体如图1-1-4所示。
图4 STC8A的配置
除此之外,51单片机特有的12分频瓶颈也早已被弥补,现在的51单片机更多的是1T的单片机。
用发展的眼光来看,增强型51单片机经过国内外四十几年的发展早就与时俱进,满足了市场需求,经住了产品考验。在过去16位单片机,如今32位单片机轮番挤压下,还能保留自己的市场地位。
芯圣电子增强型8位触摸单片机——HC89F3XX1系列
HC89F3XX1系列是芯圣电子推出的增强型8位触摸单片机,内置增强型 8051 内核,拥有最大32K的ROM、256Bytes的IRAM以及1K的XRAM;HC89F3XX1系列拥有丰富的外设资源,包括5个16位的定时/计数器、3组12位带死区控制互补与1组8位的PWM、最高16+2 路12位的ADC、1个SPI、2个UART 以及1个IIC;HC89F3XX1 全系列支持引脚映射,并配备完整的触摸库。
以下为该系列目前在售的三款型号及对应参数:
HC89F3XX1系列拥有多种封装,资源丰富,具有高性价比的优势,可以广泛应用于市面上消费类产品,例如 空气炸锅、 饭煲、取暖器、空气净化器等。
HC89F3XX1系列采用市面上主流的keil开发环境,搭配芯圣电子自研的HC-LINK仿真器和HC-PM51烧录器,使用户的开发更为方便快捷。此外,芯圣电子还配备了专业的FAE团队,为用户的开发之旅保驾护航! 上海芯圣电子股份有限公司(Holychip)是一家专注于芯片设计研发和销售的集成电路设计企业,专业从事MCU及MCU周边芯片的研发和销售,致力于为客户提供高性能、高性价比的芯片产品、应用开发工具和系统解决方案。公司MCU及MCU周边芯片通用性强,性能优异,广泛应用于消费电子、智慧家电、智能照明、安防消防、工控医疗、汽车电子、IOT物联、通讯和PC等行业,为众多知名终端品牌提供专业的芯片产品和系统解决方案。
芯圣电子坚持自主研发,科研创新,已经获得100多项自主知识产权,是一家国家级高新技术企业、国家级专精特新小巨人企业、上海市科技小巨人企业、上海市专精特新企业。芯圣电子秉承“专注、奋斗、合作、共赢”的企业文化,肩负“芯圣引领创新、创造智能产品、开启智慧生活”的使命,向成为国内领先的‘MCU+’系统芯片公司的愿景迈进!
相关问答
有啥 单片机 运算速度很快的?普通的加减乘除,用一般的增强型51单片机或AVR单片机足矣运算时间不到1ms如果进行三角函数运算,大约几ms大量的浮点和三角函数运算建议用STM32单片机普通...
stc模块是什么?STC模块是高速、低功耗、超强抗干扰的新一代8051模块51单片机。指令代码完全兼容传统8051,但速度快8~12倍,内部集成MAX810专用复位电路。4路PWM8路高速10位A...
stc15 单片机 是一个几位 增强型 8051内核的 单片机 ?1.是一个8位增强型8051内核的单片机。2.STC15单片机采用了增强型8051内核,相比于传统的8051内核,具有更高的运算速度和更强的功能扩展性。但是,由于其仍然是...
怎样提高对 单片机 的编程能力?我大学曾泡在实验室搞了一年多的单片机开发,可以分享一下心得。我觉得单片机的编程不单单是掌握C语言就可以了,首先要弄通单片机的基本硬件功能。比如说中断,...
otp 单片机 的特点?otp单片机具有以下特点:1、有优异的性能价格比目前国内市场上,有些单片机的芯片只有人民币几元,加上少量外围元件,就能构成一台功能相当丰富的智能化控制装...
stc15w4k和51 单片机 ?STC15W4K属于51系列单片机,由深圳宏晶公司研制。尽管内核依旧是MCS-51,但STC15是功能扩展型单片机,与诸如AT89基本型单片机相比,它增加了很功能模块,性能也...
51 单片机 上拉电阻多大?1、上拉是给IO口一个初始值,将不确定的信号钳位在高电平,同理,下拉是将不确定的信号钳位在低电平。一般进行原理设计时,对于单片机的上拉电阻大小都是根据经...
51 单片机 如何延迟到250纳秒?对于那些老型号51单片机,无论如何也搞不出来250nS程序延迟,因为它们最快的指令也需要1微秒。现在的主流51单片机都提高了主频,并且采用了流水线结构,所以,...
单片机 、光耦整个监测系统由上位管理主机(HOST)、USB/CAN转换器和多个智能节点组成。节点的数量由大型仓库里的粮库数量决定,一般在采用标准帧进行CAN通信时,节...
51 单片机 中,8051,80C51和C8051分别是什么?80C51一般指普通的8051,就是我们常说的51,相比之下C8051是非常高端的一种51(这么说是因为不管怎么样,它还是51,没有贬义。。),价格也比较高,全兼容51,但...c8...