前言
1946年2月15日,第一台电子数字计算机 ENIAC问世,这标志着计算机时代的到来。
ENIAC 是电子管计算机,时钟频率虽然仅有 100 kHz,但能在1s 的时间内完成 5000 次加法运算。与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
在研制 ENIAC 的过程中,匈牙利籍数学家冯·诺依曼担任研制小组的顾问,并在方案的设计上做出了重要的贡献。1946年6月,冯·诺依曼又提出了 “程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和输出设备组成这一计算机的经典结构。
电子计算机技术的发展,相继经历了电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机和超大规模集成电路计算机五个时代,但是计算机的结构仍然没有突破冯·诺依曼提出的计算机的经典结构框架。
1.微型计算机的组成及其应用形态
一、微型计算机的组成
1971 年 1 月,Intel 公司的特德·霍夫在与日本商业通信公司合作研制台式计算器时,将原始方案的十几个芯片压缩成三个集成电路芯片。
其中的两个芯片分别用于存储程序和数据,另一芯片集成了运算器和控制器及一些寄存器, 称为微处理器(即 Intel 4004)。微处理器、存储器加上 I/O 接口电路组成微型计算机。各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
二、微型计算机的应用形态
从应用形态上,微型计算机可以分成三种:多板机(系统机)、单板机和单片机。
1.多板机(系统机)
多板机是将微处理器、存储器、I/O 接口电路和总线接口等组装在一块主机板(即微机主板)上,再通过系统总线和其它多块外设适配板卡连接键盘、显示器、打印机、软/硬盘驱动器及光驱等设备。各种适配板卡插在主机板的扩展槽上,并与电源、软/硬盘驱动器及光驱等装在同一机箱内,再配上系统软件,就构成了一台完整的微型计算机系统,简称系统机。
目前人们广泛使用的个人计算机(PC 机)就是典型的多板微型计算机。由于其人机界面好,功能强,软件资源丰富,通常作为办公或家庭的事务处理及科学计算,属于通用计算机,现在已经成为社会各领域中最为通用的工具。
另外,将系统机的机箱进行加固处理,底板设计成无 CPU 的小底板结构,利用底板的扩展槽插入主机板及各种测控板,就构成了一台工业 PC 机。由于其具有人机界面友好和软件资源丰富的优势,工业 PC 机常作为工业测控系统的主机。
2.单板机
将 CPU 芯片、存储器芯片、I/O 接口芯片和简单的 I/O 设备(小键盘、LED 显示器)等装配在一块印制线路板上,再配上监控程序(固化在 ROM 中),就构成了一台单板微型计算机,简称单板机。典型的产品如 TP801。
单板机的 I/O 设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
3.单片机
在一片集成电路芯片上集成微处理器、存储器、I/O 接口电路,从而构成了单芯片微型计算机,即单片机。
计算机原始的设计目的是为了提高计算数据的速度和完成海量数据的计算。人们将完成这种任务的计算机称为通用计算机。
随着计算机技术的发展,人们发现了计算机在逻辑处理及工业控制等方面也具有非凡的能力。在控制领域中,人们更多地关心计算机的低成本、小体积、运行的可靠性和控制的灵活性。
特别是智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统要求将计算机嵌入到这些设备中。嵌入到控制系统(或设备)中,实现嵌入式应用的计算机称为嵌入式计算机, 也称为专用计算机。
嵌入式应用的计算机可分为嵌入式微处理器(如 386EX)、嵌入式 DSP 处理器(如 TMS320 系列)、嵌入式微控制器(即单片机,如 80C51 系列)及嵌入式片上系统 SOC。
单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计最为常用的技术手段,学习和掌握单片机应用技术具有极其重要的现实意义。
综上所述,微型计算机技术的发展正趋于两个方向,一是以系统机为代表的通用计算机,致力于提高计算机的运算速度,在实现海量高速数据处理的同时兼顾控制功能;二是以单片机为代表的嵌入式专用计算机,致力于计算机控制功能的片内集成,在满足嵌入式对象的测控需求的同时兼顾数据处理。
2.单片机的发展过程及产品近况
2.1单片机的发展过程
单片机技术发展十分迅速,产品种类已琳琅满目。纵观整个单片机技术发展过程,可以分为以下三个主要阶段:
一、单芯片微机形成阶段
1976 年,Intel公司推出了MCS-48系列单片机。该系列单片机早期产品在芯片内集成有:8 位CPU、1K 字节程序存储器(ROM)、64字节数据存储器(RAM)、27 根 I/O 线和1个8 位定时/计数器。
此阶段的主要特点是:在单个芯片内完成了 CPU、存储器、I/O 接口、定时/计数器、中断系统、时钟等部件的集成,但存储器容量较小,寻址范围小(不大于 4K),无串行接口,指令系统功能不强。
二、性能完善提高阶段
1980 年,Intel 公司推出 MCS-51 系列单片机。该系列单片机在芯片内集成有:8 位 CPU、4K 字节程序存储器(ROM)、128 字节数据存储器(RAM)、4个 8 位并行接口、1 个全双工串行接口和 2 个 16 位定时/计数器。寻址范围为64 K,并集成有控制功能较强的布尔处理器完成位处理功能。此阶段的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51 已成为公认的单片机经典机种。
三、微控制器化阶段
1982 年,Intel 公司推出 MCS-96 系列单片机。该系列单片机在芯片内集成有:16 位 CPU、8K 字节程序存储器(ROM)、232 字节数据存储器(RAM)、 5 个 8 位并行接口、1 个全双工串行接口和 2 个 16 位定时/计数器。寻址范围最大为 64 K。片上还有 8 路 10 位 ADC、1 路 PWM(D/A)输出及高速 I/O 部件。
近年来,许多半导体厂商以 MCS-51 系列单片机的 8051 为内核,将许多测控系统中的接口技术、可靠性技术及先进的存储器技术和工艺技术集成到单片机中,生产出了多种功能强大、使用灵活的新一代 80C51 系列单片机。此阶段的主要特点是:片内面向测控系统的外围电路增强,使单片机可以–方便灵活地应用于复杂的自动测控系统及设备。因此,“微控制器”的称谓更能反应单片机的本质。
2.2. 单片机产品近况
随着微电子设计技术及计算机技术的不断发展,单片机产品和技术日新月异。单片机产品近况可以归纳为以下二方面。
一、80C51 系列单片机产品繁多,主流地位已经形成 通用微型计算机计算速度的提高主要体现在 CPU 位数的提高(16 位、32 位乃至 64 位),而单片机更注重的是产品的可靠性、经济性和嵌入性。所以,单片机 CPU 位数的提高需求并不十分迫切。而多年来的应用实践已经证明, 80C51 的系统结构合理,技术成熟。因此,许多单片机芯片生产厂商倾力于提高 80C51 单片机产品的综合功能,从而形成了 80C51 的主流产品地位。近年来推出的与 80C51 兼容的主要产品有:
-
ATMEL 公司融入 Flash 存储器技术推出的 AT89 系列单片机;
-
Philips 公司推出的 80C51、80C552 系列高性能单片机;
-
华邦公司推出的 W78C51、W77C51 系列高速低价单片机;
-
LG 公司推出的 GMS90/97 系列低压高速单片机;
-
Maxim 公司推出的 DS89C420 高速(50MIPS)单片机;
-
Cygnal 公司推出的 C8051F 系列高速 SOC 单片机等。
由此可见,80C51 已经成为事实上的单片机主流系列,所以本书以 80C51为对象,讲述单片机的原理与接口方法。
二、非 80C51 结构单片机新品不断推出,给用户提供了更为广泛的选择空间在 80C51 及其兼容产品流行的同时,一些单片机芯片生产厂商也推出了一些非 80C51 结构的产品,影响比较大的有:
- Intel 公司推出的 MCS-96 系列 16 位单片机;
- Microchip 公司推出的 PIC 系列 RISC 结构单片机;
- TI 公司推出的 MSP430F 系列 16 位低电压、低功耗单片机;
- ATMEL 公司推出的 AVR 系列 RISC 结构单片机等。
3.单片机的特点及应用领域、
3.1 单片机的特点
一、控制性能和可靠性高
单片机是为满足工业控制而设计的,所以实时控制功能特别强,其 CPU 可以对 I/O 接口直接进行操作,位操作能力更是其它计算机无法比拟的。另外, 由于 CPU、存储器及 I/O 接口集成在同一芯片内,各部件间的连接紧凑,数据在传送时受到的干扰较小,且不易受环境条件的影响,所以单片机的可靠性非常高。近期推出的单片机产品,内部集成有高速 I/O 接口、ADC、PWM、WDT 等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发方式(如在系统编程 ISP)等方面都有了进一步的增强。
二、体积小、价格低、易于产品化
每片单片机芯片即是一台完整的微型计算机,对于批量大的专用场合,一方面可以在众多的单片机品种间进行匹配选择,同时还可以专门进行芯片设计, 使芯片功能与应用具有良好的对应关系。在单片机产品的引脚封装方面,有的单片机引脚已减少到 8 个或更少,从而使应用系统的印制板减小,接插件减少, 安装简单方便。在现代的各种电子器件中,单片机具有良好的性能价格比。这正是单片机得以广泛应用的重要原因。
3.2 单片机的应用领域
由于单片机具有良好的控制性能和灵活的嵌入品质,近年来单片机在各种领域都获得了极为广泛的应用。概要地分成以下几个方面:
一、智能仪器仪表
单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。
二、机电一体化产品
机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。
三、实时工业控制
单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中, 利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电动机转速控制、温度控制、自动生产线等。
四、分布系统的前端模块
在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块。系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。
五、家用电器
家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等。
4.单片机应用系统开发简介
4.1 单片机应用系统的开发
设计单片机应用系统时,在完成硬件系统设计之后,必须配备相应的应用软件。正确无误的硬件设计和良好的软件功能设计是一个实用的单片机应用系统的设计目标。完成这一目标的过程称为单片机应用系统的开发。单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用微机相比,它自身没有开发功能,必须借助开发机(一种特殊的计算机系统)来完成如下任务:1、排除应用系统的硬件故障和软件错误;2、调试完的程序要固化到单片机内部或外部程序存储器芯片中。
一、指令的表示形式
指令是让单片机执行某种操作的命令。在单片机内部,指令按一定的顺序以二进制码的形式存放于程序存储器中。二进制码是计算机能够直接执行的机器码(或称目标码)。为了书写、输入和显示方便,人们通常将机器码写成十六进制形式。如二进制码 0000 0100B 可以表示为 04H。04H 所对应的指令的意义是累加器 A 的内容加 1。若写成 INC A,则要清楚得多,这就是该指令的符号表示,称为符号指令。
二、汇编或编译
符号指令要转换成计算机所能执行的机器码并存入计算机的程序存储器中,这种转换称为汇编。常用的汇编方法有三种,
-
一是手工汇编,设计人员对照单片机指令编码表,把每一条符号指令翻译成十六进制数表示的机器码指令, 借助于小键盘送入开发机,然后进行调试,并将调试好的程序写入程序存储器芯片。
-
二是利用开发机的汇编程序进行汇编。
-
三是利用通用微型计算机配备的汇编程序进行交叉汇编,然后将目标码传送到开发机中。
另外,还可以采用高级语言(如C51)进行单片机应用程序的设计。在 PC 机中编辑好的高级语言源程序经过编译、连接后形成目标码文件,并传送到开发机中。这种方法具有周期短、移植和修改方便的优点,适合于较复杂系统的开发。
4.2 单片机应用系统的传统开发方式
单片机开发系统又称为开发机或仿真器。仿真的目的是利用开发机的资源(CPU、存储器和I/O设备等)来模拟欲开发的单片机应用系统(即目标机) 的 CPU、存储器和I/O操作,并跟踪和观察目标机的运行状态。仿真可以分为软件模拟仿真和开发机在线仿真两大类。软件模拟仿真成本低,使用方便,但不能进行应用系统硬件的实时调试和故障诊断。下面仅介绍在线仿真方法。
一、利用独立型仿真器开发
独立型仿真器采用与单片机应用系统相同类型的单片机做成单板机形式, 板上配置 LED 显示器和简易键盘。这种开发系统在没有普通微机系统的支持下,仍能对单片机应用系统进行在线仿真,便于在现场对应用软件进行调试和修改。另外,这种开发系统还配有串行接口,能与普通微机系统连接。这样, 可以利用普通微机系统配备的组合软件进行源程序的编辑、汇编和联机仿真调试。然后将调试无误的目标程序(即机器码)传送到仿真器,利用仿真器进行程序的固化。
二、利用非独立型仿真器开发
这种仿真器采用通用微型计算机加仿真器方式构成。仿真器与通用微机间以串行通信的方式连接。这种开发方式必须有微机的支持,利用微机系统配备的组合软件进行源程序的编辑、汇编和仿真调试。有些仿真接口上还备有EPROM 写入插座,可以将开发调试完成的用户应用程序写入 EPROM 芯片。与前一种相比,此种开发方式现场参数的修改和调试不够方便。
以上两种开发方式均是在开发时拔掉目标系统的单片机芯片和程序存储器芯片,插上从开发机上引出的仿真头,即把开发机上的单片机出借给目标机。仿真调试无误后,拔掉仿真头,再插回单片机芯片,把开发机中调试好的程序固化到 EPROM 芯片中并插到目标机的程序存储器插座上,目标机就可以独立运行了。
4.3 单片机开发方式的发展
由于单片机贴片封装形式的广泛采用以及 Flash 存储器技术的迅速发展, 传统的单片机应用系统开发的理念将受到冲击。
采用新的单片机应用系统开发技术可以将单片机先安装到印制线路板上,然后通过 PC 机将程序下载到目标系统。
如:SST 公司推出的 SST89C54 和 SST89C58 芯片分别有 20 KB 和 30 KB 的SuperFlash 存储器,利用这种存储器可以进行高速读/写的特点,能够实现在系统编程(ISP)和在应用编程(IAP)功能。首先在 PC 机上完成应用程序的编辑、汇编(或编译)和模拟运行,然后实现目标程序的串行下载。
Microchip 公司推出的RISC 结构单片机PIC16F87X 中内置在线调试器ICD功能,该公司还配置了具有 ICSP功能的简单仿真器和烧写器。由于芯片内置了侦测电路逻辑,所以可以不需要额外的硬件仿真器。通过 PC 机串行电缆(含有完成通信功能的MPLAB-ICD 模块及与目标板连接的 MPLAB-ICD 头)就可以完成对目标系统的仿真调试。