单片机
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
一、单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段
1、SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2、MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
3、单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
4、单片机的发展,单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。
5、如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段:
(1)第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS–48为代表。MCS–48的推出是在工控领域的控索,参与这一控索的公司还有Motorola、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。
(2)第二阶段(1978-1982):单片机的完善阶段。Intel公司在MCS–48基础上推出了完善的、典型的单片机系列MCS–51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。①完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。②CPU外围功能单元的集中管理模式。③体现工控特性的位地址空间及位操作方式。④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
(3)第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS–96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS–51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。
(4)第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
二、单片机的发展趋势
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
1、下面是单片机的主要发展趋势:
(1)CMOS化
近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。低功耗化单片机的功耗已从Ma级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。
(2)低电压化
几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3~6V范围内工作。低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。低噪声与高可靠性为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。
(3)大容量化
以往单片机内的ROM为1KB~4KB,RAM为64~128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。
(4)高性能化
主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(MillionInstructionPerSeconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。
(5)小容量、低价格化
与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。外围电路内装化这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。串行扩展技术在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(OneTimeProgramble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是IC、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将列强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS–51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。
三、单片机的组成及特点
单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。
1、单片机的组成:
它通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。单片机中的CPU、存储器等部件将在后面章节陆续介绍。2.单片机的特点由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。
2、单片机主要发如下特点:
(1)有优异的性能价格比。
(2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。
(4)低功耗、低电压,便于生产便携式产品。
(5)外部总线增加了IC(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。
(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
四、单片机的分类
单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
(1)通用型/专用型这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
(2)总线型/非总线型这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
(3)控制型/家电型这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
五、单片机的应用
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:
(1)单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
(2)单片机在机电一体化中的应用机电一体化是械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。
(3)单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。
(4)单片机在分布式多机系统中的应用在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。
(5)单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1、在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。
2、在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3、在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4、在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5、单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6、在各种大型电器中的模块化应用
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
文章来源:玩转单片机
引言
常常看到很多网友在讨论51单片机。有人说,51单片机是入门的基础,应该学习;也有人说,ARM系列32位单片机的各种教程已经普及,51单片机早已过时,自然也就失去了学习的必要性。甚至还有一种极端的声音——是时候向51单片机说再见了……
确实,8位MCU和32位MCU,常常被拿来做比较,尤其是在32位MCU的价格不断降低、8位MCU价格优势不那么明显的今天,越来越多地听到关于8位MCU要被淘汰的言论。难道8位MCU真的要退出历史舞台了么?下面就让我们来听听业界的声音吧!
业界声音
飞思卡尔
飞思卡尔微控制器亚太区业务发展总监曹跃瀧这样分析:8位MCU因其成本优势,在未来也具备很大的增长空间,但是它更适合于单独的产品使用。在物联网应用中,很多场合不仅需要实现机械化向电磁化、智能化的转变,而且还要考虑可靠的连接性、安全性和保护性,所有这些功能的实现都需要MCU的参与,因此32位MCU会是物联网应用的主流。
Atmel
在分析物联网应用时,Atmel公司高级产品经理Bjrnge Brandal表示,物联网应用的范围非常广泛,很难说它的主流是8位还是32位。在有些小的应用中,8位的性能已经足以,而且这些小的应用数量也十分可观。就Atmel而言,8位MCU更多地会关注边缘应用,32位产品则侧重高性能应用,两者相结合,争取在物联网应用市场获得更大的发展空间。
HOLTEK
在触摸按键产品领域,HOLTEK已经积累了多年经验, 2014年在MCU竞争异常激烈的情况下还达到了50%的增长率。与笨重的机械式按键相比,HOLTEK以VS系列开头的8位MCU做成的触摸按键更易被客户接受。其PCB板外围电路非常简单,没有大量的电容、电感的设计,大部分运算转换的功能都已被集成到8位的MCU中。配合MCU的开发工具,应用工程师们可以根据自己产品的需求来调试触摸按键的灵敏度,以及根据自己的喜好进行个性化配置,而且价格上相比传统按键也没有提升。目前,此款触控按键MCU出货量为每季1000KK,其中45%被应用到电磁炉和抽油烟机上。
HOLTEK半导体业务总经理蔡荣宗先生认为,随着智能手机和平板电脑的加速成长,加上触控逐步扩散至汽车电子、医疗、家电等领域,相关的应用会越来越多。尽管触控已经不是新技术,但正处于上升期,仍将有一个黄金成长期。
Microchip
8位MCU的销售额水涨船高,Microchip公司正在增加产能满足这种需求。Microchip的首席运营官Ganesh Moorthy在近期电话分析会议上表示,没有想到近三年发布的8位MCU需求如此旺盛,Microchip将扩大产能以满足市场的需求。
瑞萨
由于物联网应用的发展,32位MCU正在快速增长。智能设备和爆发性增长的应用的连接需求,也为MCU的发展推波助澜。瑞萨电子美国市场副总裁Ritesh Tyagi认为,客户意识到,CPU的内核并没有那么重要,它只不过是通过外设组合来与MCU区分。硬件工程师并不会基于位数和内核数来做决定,他们考虑更多的是8位、16位、32位平台的集成度和代码复用性。由于成本和软件复杂程度低的优势,具有更少引脚和存储的8位MCU在未来仍会吸引市场的注意。总的来说,客户正在尝试在一个平台内将其软件标准化,以降低软件开发成本,并且更容易跨高端平台设计。
笙泉
虽然16位、32位单片机市场的竞争异常激烈,但不容忽视的是,客户关注的不仅是性能,还有成本。笙泉公司产品负责人强调,在实际使用中很多客户都会谈到,8051核完全能够满足产品的需求,性价比也很合适,没有必要采用32位MCU,尤其是在对价格非常敏感的应用领域。
宏晶
宏晶科技是国内专注于8位单片机市场的典范。在众多公司迫不及待地转去争夺32位市场之际,宏晶科技仍坚守在8位市场这片依然肥沃的土地上,并凭借丰富的电子产品开发设计经验以及广泛的国际品牌单片机原厂技术资源,成为新一代增强型8位单片微型计算机标准的制定者。其产品不仅广泛地应用在通信、工业控制领域,而且在信息家电、语音、玩具、礼品等领域也有很好的表现,包括手机、交换机、计价器、微型打印机、电子词典、PDA、掌上电脑、数码相机、U盘等。
上海海尔
作为智能电网和智能家居平台的半导体公司,上海海尔的通用MCU产品线目前还是以8位为主。但是公司在专用领域的多款采用ARM Cortex核的专用MCU均已进入量产。虽然,近年来32位产品在整个MCU市场的份额占比在迅速提升,但并不代表8位MCU会在短期内被完全取代。相反,8位MCU由于其应用简单灵活、安全稳定、成本优势等特点,仍会随着整个MCU市场的增长而不断扩增。上海海尔副总经理潘松表示,MCU是个需要长期积累的产业,产品是否稳定,如何达到功能、性能以及成本的最佳平衡,才是产品带给客户的真正价值所在。8位MCU是上海海尔的基础,也是整个MCU行业的基础。而在32位MCU市场,立足细分市场,找到产品附加价值所在,才是真正发展之路。
编辑观点--8位、32位,各有用武之地!
随着全球经济的复苏,工业和汽车行业的微控制器销售额日益攀升,而且这种上升幅度不仅仅限于32位的产品上。其实,8位内核覆盖的产品,在人们的日常生活中随处可见:电视机的遥控器、银行的点钞机、咖啡机、电磁炉……小小8位内核,仍然蕴含着巨大的能量!
(1) 从教学内容看
在单片机百花齐放的时代,51单片机成为经典教学内容。那个时代没有更高级的单片机可供选择,国内也没有更优秀的教材用于参考,老师的水平也是参差不齐,而51单片机正符合当时的需求,不仅有大量的相关教材和广泛的示例,而且工作的实际项目也是以51单片机为主,于是51单片机理所当然成为当时的学习基础。而如今,ARM成为主流,从51单片机转向ARM也是十分自然的事。
如果说学51单片机是误区,那么从学51单片机转向学ARM只是转向了另一个误区,因为其本质上只是以产品为中心的学习内容的正常变化,操作系统的学习也是如此。真正走出误区,应该是将单片机或嵌入式系统的基本原理抽象化,抽去产品外壳或一般性的教学内容,用《嵌入式系统概论》、《操作系统概论》作为高校教材。
(2) 从技术发展看
MCU起源与演化取决于技术与市场两大因素。Intel于1971年推出全球第一个4位微处理器后,迅速转向8位微处理器,此后形成了通用微处理器(MPU)与嵌入式微控制器(MCU)两大分支。在通用微处理器基础上的通用计算机,迅速从8位、16位过渡到32位、64位,没有人质疑这种变化。而在智能化控制领域,MCU长期处于8位机时代,竭尽全力发展与物理对象相关的控制功能。两大分支截然不同的专业分工,形成了IT产业最佳的发展格局。直至今日,在物联网中MCU与通用计算机仍然扮演着不同的角色。
MCU顾名思义是以物理对象智能化控制为己任。在控制功能的优化中,位数不是主要因素,以至于8位MCU长期处于垄断地位,甚至至今还给4位机留下一席之地。
由于某些涉及高速数据处理的应用需要高速运算能力,16位MCU应运而生。但16位MCU的推出并不成功,因为在8位MCU时代后期,已有具备高速处理能力的DSP,致使16位MCU处于尴尬境地。DSP的诞生在一定程度上缓解了8位MCU速度提升的压力。
ARM体系MCU诞生后,由于产业体系变革,使MCU从百花齐放到一枝独秀,致使价位迅速走低,甚至与8位机处于同一量级。ARM体系32位MCU具有综合的控制功能与高速的数据处理能力,技术上覆盖了8位MCU的传统领域。然而,市场因素是复杂的,在无限大的嵌入式系统市场中,8位MCU、32位MCU、64位MCU,乃至4位MCU,都有各自的用武之地,无所谓谁主沉浮,因为在不同的细分领域并不具有可比性。以51单片机为例,在ARM系列挤占8位单片机空间之际,51单片机己进入“智能芯片”这一巨大市场,几乎主宰了无线收发芯片的市场。
至于64位处理器,它是未来发展的一个趋势。目前,就一般用户而言,64位处理器尚无太大的意义。然而,对厂商来说,64位处理器是必备的竞争技术。虽然64位处理器在移动领域还受局限,但在服务器行业已经大展拳脚。或许,只有当未来手机真的需要更大的RAM时,64位处理器及系统应用才能真正发挥其强大的性能,使用户真正体验到64位处理器的强大优势。
文章来源:单机片与嵌入式系统应用
硬件设备由 MCU、MCU 上的 OS、各种传感器、WIFI/蓝牙/3G/4G 以及其他联网通信模块和应用程序构成。 其中硬件设备有两种接入方式, 第一种就是通过联网通信模块接入网关, 通过网关完成数据的发送与接收, 最终将数据转发到云平台或者手机端。 第二种就是硬件设备直接与手机实现本地连接, 进行数据的交换包括配网等操作。 因为云端平台数据传输采用JSON协议,因此,硬件堆JSON的解析非常重要。传统的C JSON解析非常庞大,在微处理器中,这无疑是一个巨大的问题。因此,编写了一个非常简单的JSON你判定,解析,与键值校验的三个纯C语言函数。占用空间非常小。具体的代码如下文所示:
硬件设备由 MCU、MCU 上的 OS、各种传感器、WIFI/蓝牙/3G/4G 以及其他联网通信模块和应用程序构成。 其中硬件设备有两种接入方式, 第一种就是通过联网通信模块接入网关, 通过网关完成数据的发送与接收, 最终将数据转发到云平台或者手机端。 第二种就是硬件设备直接与手机实现本地连接, 进行数据的交换包括配网等操作。
因为云端平台数据传输采用JSON协议,因此,硬件堆JSON的解析非常重要。传统的C JSON解析非常庞大,在微处理器中,这无疑是一个巨大的问题。因此,编写了一个非常简单的JSON你判定,解析,与键值校验的三个纯C语言函数。占用空间非常小。具体的代码如下文所示:
/***************************************
name: JSON C函数库 C文件
***************************************/
#include "include.h"
/***************************************
name: 函数声明
input:
output:
description:
***************************************/
char json_check(char *str); //JSON 校验函数
char json_get_value(char *json,char *json_key , char *json_value); //JSON获取键值
char json_check_value(char *str1, char *str2); //JSON 键值对比函数
/***************************************
name: JSON 校验函数
input: 字符串
output: 合法JAON 返回1 不合法JSON 返回0
description:
***************************************/
char json_check(char *str)
{
char str_length; //定义字符长度变量
str_length = strlen(str); //计算字符长度
if(str[0] == '{' && str[str_length-1] == '}') //通过首尾大括号判断是否为JSON
{
return 1; //如果字符串为合法JSON 返回1
}
else
{
return 0; //如果字符串为合法JSON 返回0
}
}
/***************************************
name: JSON 获取键值函数
input: JSON字符串 要获取的键名 获取键值的字符串
output: 如果获取成功返回1 获取失败返回0
description:
***************************************/
char json_get_value(char *json,char *json_key , char *json_value)
{
char *json_key_start; //定义键名开始的位置
char *json_key_end; //定义键名结束的位置
char json_key_length; //定义键名长度
char *json_value_start; //定义键值开始的位置
char *json_value_end; //定义键值结束的位置
char json_value_length; //定义键值长度
json_key_start = strstr(json,json_key); //获取键名开始的位置
json_key_length = strlen(json_key); //获取键名的长度
json_key_end = json_key_start + json_key_length; //获取键名结束的位置
if(json_key_start != 0 && *(json_key_start - 1) == '\"' && *(json_key_end) == '\"' && *(json_key_end + 1) == ':' && *(json_key_end + 2) == '\"' )
{
json_value_start = json_key_end + 3; //获取键值开始的位置
json_value_end = strstr(json_value_start,"\""); //获取键值结束的位置
json_value_length = json_value_end - json_value_start; //获取键值的长度
strncpy(json_value,json_value_start,json_value_length); //将键值存入指针数组
json_value[json_value_length] = '\0'; //指针最后一位补字符串结束符 \0
return 1; //成功获取键值 返回1
}
else
{
json_value[0] = '\0';
return 0; //失败获取键值 返回0
}
}
/***************************************
name: JSON 键值对比函数
input: JSON 键值 要匹配的字符
output: 如果匹配成功返回1 失败返回0
description:
***************************************/
char json_check_value(char *str1, char *str2)
{
if(strcmp(str1,str2) == 0)
{
return 1; //匹配成功返回1
}
else
{
return 0;
//匹配成功返回0
}
}
© 著作权归作者所有
作者:VIROR
文章来源:开源中国社区
说单片机与通用型中央处理单元芯片不同,是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机。这样就可以很容易的把单片机系统植入装置内部来控制装置了。近年来为了在指令和数据上使用不同的字宽,并提高处理器流水线速度,哈佛结构在微控制器(Microcontrollers)和数字信号处理器(DigitalSignalProcessor,DSP)也逐渐得到了广泛的应用。
传统的微处理器是不允许这么做的。它要完成单片机的工作,就必须连接一些其他芯片。比如说,因为芯片上没有数据存储器,就必须要添加一些RAM的存储芯片,虽然所添加存储器的容量很灵活,但是至少还是要添加。另外还需要添加很多连线来传递芯片之间的数据。与以上的情况相比,单片机的工作则相对独立,一个典型的微控制器只需要一个时钟发生器和很少的RAM和ROM(或者EPROM,E2PROM)就可以在软件和晶振下工作了。同时,微控制器具有丰富的输入输出设备,例如模拟数字转换器(Analog-to-DigitalConverter,ADC),定时器,串口,以及其他串行通讯接口,比如I2C,SPI(串行周边接口),CAN(控制器局域网)等。通常,这些集成在内部的设备可以通过特殊的指令来操作。
单片机时钟频率通常较同时代的计算机芯片低,但它价格低廉,能够提供充足的程序存储器、丰富的片上接口。某些架构的单片机生产厂商众多,例如8051系列、Z80系列。一些现代的微控制器支持一些内建的高级编程语言,比如BASIC语言、C语言、C++等。
单片机的位元数
根据总线或资料暂存器的宽度,单片机又分为4位元、8位元、16位元和32位元单片机。4位单片机多用于冰箱、洗衣机、微波炉等家电控制中;8位、16位单片机主要用于一般的控制领域,一般不使用操作系统;32位用于网络操作、多媒体处理等复杂处理的场合,一般要使用嵌入式操作系统。
常见的单片机
微芯公司的PIC系列出货量居于业界领导者地位;Atmel的51系列及AVR系列种类众多,受支持面广;德州仪器的MSP430系列以低功耗闻名,常用于医疗电子产品及仪器仪表中;瑞萨单片机在日本使用广泛。
单片机的开发
单片机的软件开发中,以往多使用汇编语言,如今越来越多的使用C语言,又或者使用BASIC语言等更适合初学者的语言,部分集成开发环境支持C++。单片机的软件测试需要使用单片机开发器或模拟器。
随着技术的发展,2000年后已经有很多单片机自带了ISP(在线编程设计)或支持IAP,彻底地改变了传统的开发模式,使得开发单片机系统时不会损坏芯片的引脚,加速了产品的上市并降低了研发成本,缩短了从设计、制造到现场调试的时间,简化了生产流程,大大提高了工作效率。这类单片机包括AT89S系列单片机、AVR系列单片机等。
硬件
开发板可以进一步简化程序的开发和烧制过程。开发板可能包含实际芯片或是仿真器。通过配套的下载线连接电脑与开发板,在电脑上编写程序下载到开发板。批量生产会用到编程器。
软件开发环境
一些知名的微控制器开发环境有:
微芯公司的MPLABIDE可用于该公司全系列微控制器的开发与除错,除支持该公司的ASM组译器C语言编译器外,也支援许多第三方的编译器。
ARM公司的μVision集成开发环境(原为Keil公司产品,2005年该公司已由ARM购并),包含组译器与C编译器,可用于51单片机及ARM开发。
PROTEUS
Proteus软件是初学者入门的首选软件,它是LabcenterElectronics公司的一款商业版电路设计与仿真软件。内包括ISIS、ARES等软件模块。ARES模块主要用来完成PCB的设计,ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,甚至ARM处理器,以及单片机外围电路,比如键盘、LED、LCD等等。该软件还附带了一些案例和丰富的帮助文件。
文章来源: ofweek
页面
![订阅 RSS - 单片机](https://cdn.eetrend.com/misc/feed.png)