第一章 单片机开发入门知识介绍
1.1 51单片机介绍
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出, 51单片机是基础入门的一个单片机,还是应用最广泛的一种。
主要产品代表:
(1)、Intel(英特尔)的:80C31、80C51、87C51,80C32、80C52、87C52等;
(2)、ATMEL(爱特梅尔)的:89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
(3)、Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公司;
(4)、STC(国产宏晶)单片机:89c51、89c52、89c516、90c516等。宏晶科技是新一代增强型8位单片微型计算机标准的制定者和领导厂商。
1.2 市场上的主流单片机种类
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
以下是目前市场上的主流单片机:
(1)、8051单片机
8051单片机最早由Intel公司推出,随后Intel公司将80C51内核使用权,以专利互换或出让给世界许多著名IC制造厂商,这样80C51单片机就变成了众多芯片制造厂商支持的大家族,统称为80C51系列单片机。客观事实表明,80C51已成为8位单片机的主流。
(2)、AVR单片机
AVR单片机是1997年由ATMEL(爱特梅尔)公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
AVR单片机最大的特点是精简指令型单片机,执行速度,在相同的振荡频率下是8位MCU中最快的一种单片机。
(3)、PIC单片机
PIC单片机是Microchip(美国微芯半导体)公司的产品,它也是一种精简指令型的单片机,指令数量比较少,中档的PIC系列仅仅有35条指令而已,低档的仅有33条指令。
适用于用量大,档次低,价格敏感的产品,在办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制不同领域都有广泛的应用。
PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机。
(4)、MSP430
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。
MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。
MSP430系列单片机是一个16位的单片机,运算速度快,超低功耗,MSP430 系列单片机的电源电压采用的是1.8-3.6V电压。
(5)、ARM处理器
ARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品。
ARM是一个32位元精简指令集(RISC)处理器架构,ARM处理器广泛地使用在许多嵌入式系统设计。ARM处理器的特点有指令长度固定,执行效率高,低成本等。
ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各方面。
ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列
- ARM9 系列
- ARM9E 系列
- ARM10E 系列
- ARM11系列
- Cortex 系列 : Cortex系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。基于v7A的称为“Cortex-A系列。
- SecurCore 系列
- OptimoDE Data Engines
- Intel的Xscale
- Intel的StrongARM ARM11系列
1.3 FPGA与单片机区别
(1)、FPGA和单片机在概念上的区别
单片机:
单片机可以简单理解为集成在单一芯片上的微型计算机,也有运算器、控制器、存储器、总线及输入输出设备,采用也是存储程序执行的方式,对单片机的编程就是对其中的ROM写入程序,在加电后ROM中的程序会像计算机内存中的程序一样得到逐条的执行。
单片机有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。
FPGA:
FPGA则是操控层次更低,所以自由度更大的芯片,对FPGA的编程在编译后是转化为FPGA内的连线表,相当于FPGA内提供了大量的与非门、或非门、触发器(可以用与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚至CPU。
FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
(2)、FPGA和单片机在结构上的区别
单片机是一种微处理器,类似于电脑CPU的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上,还有日 常你看得到的东西上!
FPGA 它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合,目前在FPGA还算是一个新兴的行业,当然它的价格也要比单片机贵得多!
单片机是一个微控制器,通过加载模块软件来实现某种功能,单片机是成型的芯片;FPGA是用来设计芯片的芯片。
(3)、FPGA和单片机速度上的区别
FPGA由于是硬件电路,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口电路。单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。
(4)、单片机和FPGA的本质区别
FPGA和单片机的区别,本质上是软件和硬件的区别,FPGA更偏向于硬件电路,而单片机更偏于软件。
单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;
FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;
1.4 DSP和单片机区别
从实现运算的角度,单片机、ARM、DSP都可以称之为CPU。
DSP是通用数字信号处理器,是一种独特的微处理器,是以数字信号来处理大量信息的器件。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器。
DSP适用于数字信号处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。
DSP实时运行速度可达每秒数以千万条复杂指令程序。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍,其采用的设计是数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠,其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。其主要应用是实时快速地实现各种数字信号处理算法。