技术文档

单板机和单片机的区别 单片机入门:发展历程

小编 2024-10-05 技术文档 23 0

单片机入门:发展历程

前言

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头)就可以完成对目标系统的仿真调试。

单片机的基本组成

在讲单片机的组成之前我们先来说一下大家都熟知的计算机 一、计算机的经典结构

在设计计算机时匈牙利籍数学家冯.诺依曼提出的“程序存储”和“二进制运算”的思想。 1、二进制运算决定了计算机的硬件结构。 二进制运算包括二进制算术运算和逻辑运算(逻辑运算的基础是逻辑代数,又称布尔代数)。逻辑量只表示两种不同的状态,可以对应电子线路中的电阻高低、二极管、三极管的通断等。因此,二进制运算决定了计算机可以由电子元器件,特别是集成电路组成。

2、 程序存储决定了软件控制硬件工作。因此,计算机的基本结构包括硬件和软件两部分。 计算机的工作原理:由输入设备将软件送入存储器,然后由控制器逐条取出存储器中的控制软件,并运行,再将运行结果送到输出设备。 3、计算机的经典结构

根据以上思路,计算机由运算器、控制器、存储器和输入设备、输出设备组成。

对经典结构中各部分有机组合,就构成了微型计算机。由于各部分的具体电路(元器件及元器件的组合方式)不同,又形成了各种应用形态。

 二、微型计算机(Microcomputer)组成及应用形态

1、 微型计算机组成

将经典结构中的运算器、控制器组合在一起,再增加一些寄存器等,集成为一个芯片,这个芯片称为微处理器(Microcontroller),即CPU(Center Processing Unit )。这样微型计算机就有CPU,存储器,输入出处(I/O)接口组成。再配以输入/输出(I/O)设备和软件,就构成了微型计算机应用系统,简称微型计算机。

2、 应用形态

(1)系统机(多版机)

微处理器CPU、存储器、I/O端口电路和总线接口等组装在一块主板上,再通过系统总线和外设适配卡连接键盘、显示器、打印机等,再配上系统软件就构成了一个完整的计算机系统。

这就是办公室、家庭使用的PC机的典型形态。由于较大的存储容量(存储器、硬盘、软盘、光盘等),输入、输出设备齐全,而且软件丰富(系统软件和应用软件),能够进行海量计算和应用系统开发。

(2)单板机

将CPU、存储器、I/O接口芯片和简单的I/O设备等装配在一块线路板上,再配上监控程序(固化在ROM中)就构成了单板机。

实验开发系统就是单板机的典型形态:由于有硬件和软件,能独立运行,但I/O设备简单,特别是软件资源少(只有监控程序),不能应用于海量计算和大型应用程序的开发,主要用于计算机原理教学和简单的测试(调试)系统。

三 单片机

将CPU、存储器、I/O接口电路集成到一块芯片上,这个芯片称为单片机。

单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用计算机相比,自身不带软件,不能独立运行;存储容量小,没有输入、输出设备,不能将系统软件和应用软件存储到自身的存储器中并加以运行,它自身没有开发功能。所以,必须借助开发机(一种特殊的计算机系统)来完成开发任务。即相应的软、硬件设计和调试以及将调试好的程序固化到自身的存储器中。 完成单片机的硬件和软件设计、调试,把软件固化(下载)到单片机应用系统中,是《单片机原理与应用》课程的主要学习任务,也是检查这门课程学习效果的基本标准。

1、 单片机开发系统和单片机应用系统开发

单片机开发系统又称为开发机或仿真机。

单片机的实质仍然是计算机,其工作的基本条件就是软件配合硬件才能正常工作。但单片机自身没有开发能力。即不能用自身系统检查硬件故障和软件错误;也不能用自身的系统将软件程序写入自己的存储器中。在设计计算机应用系统时,完成软件、硬件设计后,必须使用开发系统(其它设备)完成软件、硬件的测试和程序写入。完成这一目标的过程,称为单片机应用系统的开发。完成开发的设备,称开发系统(仿真器)

2、 单片机应用系统开发方式

(1)、仿真:利用开发机的资源(CPU、存储器、I/O设备等)来模拟欲开发的单片机应用系统(即目标机)的CPU、存储器和I/O操作,并跟踪目标机的运行情况,然后再将调试好的程序固化到目标机中。即把开发机上的单片机出借给目标机,因为开发机本身具有开发能力,通过开发机调试目标机,调试完成后,再把程序固化到目标机,目标机就可以独立运行了。 

1)、独立型仿真机开发

独立型仿真器采用与单片机应用系统相同类型的单片机做成单板机形式,板上配有LED显示器和简单键盘,,可以进行源程序的编辑、汇编、运行调试。

2)利用非独立型仿真器开发

独立式仿真器还配有串行按口,能与普通微机系统连接,利用普通微机系统配备的组合软件进行源程序的编辑、汇编和联机仿真器,用仿真器进行程序固化。

(2)在系统与在应用仿真

将单片机先安装到印制线路板上,然后通过PC机将程序下载到目标系统,实现在系统和在应用编程功能。具有这种功能的单片机内部必须具有EPROM或FLAS侦测逻辑电路,调试器和烧写器。如:SST公司的SST89E54, 89E58;MICROCHIP公司PIC16F87X;ATMEL公司的AT89S5X等单片机芯片均有此功能。3)MCS—51是美国INTEL公司生产的一个高档8位单片机系统的总称。属于这一系列,即以51为核心的单片机芯片主要有8031/8051;8751;8032/8052;80C51/87C51/80C31;还有ATMEL公司的AT89S51,AT89S51等品种,它们的工作原理和内部构架相同,引脚和指令系统相互兼容,主要在内部功能单元数量,存储器类型和容量以及应用上有些区别。 

一、单片机内部结构

从功能上划分,MCS-51内部结构可以分为5个部分:CPU、存储器、I/O端口、定时/计时器,中断系统。

1、 CPU结构

8051内部CPU是一个字长为8位的中央处理单元(center processing unit)它对数据的处理是按资字节为单位的。

CPU包括三部分:运算器、控制器和专用寄存器。

(1) 运算器:由一个算术逻辑单元ALL、一个布尔处理器和两个8位暂存器组成。能给

实现数据的四则运算(加、减、乘、除),逻辑运算(与、或、非、异或等),数据传递,移位,判断,程序转移等功能。

(2) 控制器:由指令寄存器IR,指令译码器ID,定时及控制逻辑电路等组成。

指令寄存器IR保存当前正在执行的一条指令。指令的内容含指令操作码和地址码。操作码送往指令译码器ID,经译码后形成相应的微操作信号,地址码送往操作数地址形成电路,以形成实际的操作数地址。定时与控制部件完成取指令、执行指令、存取操作数和运算结果,向其它部件发出各种控制信号,协调各部件的工作。

(3)专用寄存器:主要用来指示当前要执行指令的内存地址,存放操作数和指示指令执行后的状态,包括程序计数器PC、累加器A、程序状态字PSW寄存器,堆栈指示器SP。数据指针DPTR寄存器和通用寄存器B。

a)定义:程序计数器PC是一个二进制16位的程序地址寄存器,是由16个触发器构成

的计数器。寻址范围2的16次方=64K。是MCS-51单片机中唯一一个16位寄存器。

b)功能:用来存放将要执行指令的内存地址,CPU既可以对它并行存取,又可自动加“1”。

迄今为止,世界上的所有电子计算机仍然是冯.诺依曼式的。这就是说,计算机的程序是以二进制形式存放在内存储器中,CPU的任务是自动逐条执行已放入内存中的指令,以完成某项任务。为了确保CPU能自动连续执行程序,芯片设计师专门在CPU中集成了一个程序计数器PC,在程序执行前用来存放程序在内存中的起始地址。CPU根据PC中的地址就可以到内存中取出第一条指令的第一个字节,PC随后加“1”,自动指向第一条指令的第二个字节;CPU再根据PC就可以取出第一个指令的第二个字节;PC再次自动加“1”指向第一个指令的下一个字节或第二条指令的第一个字节。以此类推。这样,CPU在执行完第一条指令时,PC实际上已得到了第二条指令的起始地址。因此,人们只要在程序执行前预先把要执行的程序的指令码按照顺序放到程序存储器中,并把要执行的程序的起始地址放入程序计数器PC,CPU就能让程序自动执行。PC的自动加“1”功能确保了存储器中程序的连续执行。

在单片机设计中,在电路结构上设计成单片机复位时PC=0000h,故,程序的首起始地址通常0000h开始。

2)累加器(accumulator)

a)定义:累加器A又记作ACC,是一个具有特殊用途的二进制8位寄存器。 b)功能:专门用来存放操作数和运算结果。 最初的计算机,其操作数包括四部分地址

操作码字段用于指示机器执行何种操作。第一操作数用于指示两个操作数中第一个操作数在内存中的地址;第二操作数可以使机器找到参加运算的第二个操作数;结果操作数用于存放操作结果。下一条指令地址,指示机器按此地址取出下一条要执行指令的指令码。这种指令格式的特点是层次、概念清楚,逻辑关系简单明了。缺点是指令码太长,严重影响了指令的执行速度。

MCS-51单片机采用了地址压缩技术,把四字段地址压缩到一个,故称单地址指令格式。

其中“操作数”相当与四地址中的“第一操作数”。“第二操作数”和“结果操作数”合二为一,由累加器A充任。物理地址为E0H,且在操作码中隐含。在助记符中写有A等,只是为了便于理解,它的二进制代码是隐含在操作码中的。“下一条指令地址由程序计数器PC充当。PC自动加“1”,就能使MCS-51连续按顺序执行程序。因此在指令执行前,用户通常必须要安排一条传送指令,预先把第二操作数传送到累加器A。

3)通用寄存器B(General Purpose Register)

a)定义:通用寄存器B也是一个8位二进制的寄存器,是专门为乘法和除法设置的寄存器,但也是可以作为普通寄存器使用。

b)功能:在做乘法和除法之前,用来存放乘数和除数,在乘法和除法完成后,用来存放积的高八位和除法的余数。

4)程序状态字PSW(program status word)

a)定义:程序状态字PSW也是八位二进制寄存器 b)功能:用来存放指令执行后的状态(程序设计中,可以根据状态来控制程序执行)。PSW

中有的位的值(状态),通常是在执行指令的过程中由硬件电路自动形成的,如:CY,AC,OV,P位,有的也可以根据需要采用位送指令加以改变,如:FO,RSI,RSO位。各位的定义如下:

其中:

CY(carry):进位标志位,用于表示加减运算过程中最高位(累加器A7)有无进位或借位。有进位或借位CY=1,否则CY=0。

AC(auxiliary carry):辅助进位标志位,用于表示加减运算中累加器低四位(A3)有无

向高四位(A4)进位或借位,有:AC=1,无:AC=0。 F0(FLAG ZERO):用户标志位。它是用户根据需要通过传送指令确定的,用于决定用

户程序的流向。

RS1,RS0:寄存器组选择位,即它控制(选择)了当前使用的寄存器组,也就是它确定了当

前使用寄存器组的物理地址。

在MCS-51的片内存储器中,有32个8位寄存器,但这32位寄存器只给出了8个寄存

器的地址。R0-----R7(通常用Rn表示)。为了用这8个地址表示32个寄存器(存储空间),只能将这32个寄存器进行分组,即分成4组。这样,用R0-----R7,即Rn就可以表示这4组中的任意一组中的一个寄存器(均是8位的)。也就是说通过分组后,从逻辑上能用Rn把它们区分开来。如R0-代表(第0组的)第一个寄存器,则R5就表示(第0组的)第六个寄存器。故将Rn称为这32个工作寄存器的逻辑地址。“逻辑”概念的实质就是各组之间相互区分与屏蔽,达到方便保护其中数据的目的。但是,用Rn只能区分某一组中的8个寄存器,具体使用了哪一组,还要其他条件,即RS1 RS0。既然共有四组,可用2的2次方表达。故可以通过改变RS1 和RS0的值决定哪一组的R0-----R7。这对我们进行程序设计是非常有利的。

OV(overflow)溢出标志位:提示运算结果是否发生了溢出,即累加器A中运算结果是否

超出了其能表示的数的范围,即-128——+127,由机器执行过程中自动形成。溢出OV=1,否则OV=0。人们可以根据OV的状态判断结果是否正确。 计算公式为:

其中CP为最高进位位,CS是次高进位位。

P(Pority):奇偶标志位。用于指示运算结果中“1”的个数的奇偶行。机器执行中自动形成。

若“1”的个数为奇数,则P=1 ,为偶,P=0。 5)堆栈指针SP(STACK POINTER)

a)定义:SP是一个8位寄存器,能自动加“1”或减“1” b)功能:专门用来寄放堆栈的栈顶地址。

MCS-51中,在片内RAM中设置了一个特殊的存储区。CPU对这个区域的数据存取时必须按照“先进后出”或“后进先出”的原则进行。这样的特殊存储区域称为堆栈。为了实现对堆栈中数据的操作,芯片设计者在CPU中设计了一个堆栈指示器SP,存放堆栈元顶地址。SP具有自动加“1”或减“1”功能,使得SP中的数据始终是栈顶地址。

CPU根据SP中的地址对堆栈中的数据进行存取。在SP中地址的变化方向上,MCS-51采用的是上推堆栈的设计方案,即数据入栈时SP中地址增长,故当堆栈中没有数据时,栈顶与栈底地址必定重合。

8051的片内共有128B的RAM存储单位,地址范围为00H~FFH,原则上,这个区域中的任何子域都可以作为堆栈区。实际应用中,常使用30H-7FH中的部分空间作为堆栈区。堆栈在片内RAM中的具体物理位置,由堆底决定。可以用下列指令定义:mov sp,#data

这样就定义了从data+1~7FH为堆栈区 6)数据指针DPTR(DATA POINTER)

a)定义:DPTR是一个16位寄存器,由两个8位寄存器DPH和DPL拼接而成。 b)功能:用来存放片内ROM的地址,也可用来存放片内外RAM和ROM的地址。

2、 存储器

MCS-51的存储器不仅有ROM和RAM之分,而且有片内和片外之分。MCS-51片内存储器集成在芯片内部,是MCS-51的一个组成部分;片外存储器是外按的专用存储器芯片。MCS-51只提供地址和控制命令,需要通过印刷电路板上三总线才能联机工作。 在物理上设有4个存储空间

MCS-51对这些空间的存取(访问)是通过不同的控制信号和不同的指令进行的。故这4个物理空间在逻辑上,又可以划分为3个逻辑空间,即:

MCS-51存储器的地址分配是教材P24,图2.12和图2.13 片内RAM:80C51片内RAM共有128B存储单元,分为工作寄存器区 (00H—1FH ),位寻地址(20H—2FH)和通用寄存器区(30H—7FH)。

工作寄存器用Rn(R0-R7)进行逻辑区分,再配合RS1,RS0

位寻地址(P27表2.3)的16个单元具有双重功能,它们既可以进行字节存取,又可以进行位存取。进行位存取时,位地址的表示方法有两种,一种就是直接分配给每一位一个特定的地址(16×8=128位)故其地址范围为00H—7FH,见P27表2.3;另一种方法是采用字节地址和位数相结合的方法表示某一位地址,如09H这个位可以表示成21H.1。

在MCS-51单片机中,还设置21个特殊功能寄存器(SFR)。特殊功能寄存器(SPECIALFUNETIN REGIDTER)是MCS-51的各功能部件的状态及控制寄存器。SFR综合的,实际的反映了整个单片机的基本系统内部的工作状态及工作方式。它们与片内RAM统一编址,它们离散地分布在80H-FFH的地址空间中,字节地址能被8整除的(即十六进制的地址码尾数为0或8的)单元 可以进行字节寻址或位寻址。

访问SFR只允许用直接寻址方式,而且地址的表示方法也只能用符号地址或物理地址(即要用寄存器的名称符号,而不是寄存器号。如累加器的名称符号为ACC,它的寄存器号为A)。P28表2.4。

O端口,也称为I/O接口或I/O通路

功能:是MCS-51与外部实现控制和交换的通道,分为并行端口和串行端口。 (1)并行I/O端口

80C51有4个I/O端口,分别为P0—P3,它们都有双向功能 每个端口都有一个8位数据输出锁存器和一个8位的数据输入缓冲器。4个锁存器与端口名称相同,皆为SFR中的一个。由于4个端口的结构不同,它们的功能和作用也不同,通常P0口作为低8位地址输出口,同时又可以用作数据输入/输出口,故其后一般跟一个地址锁存器对低位地址锁存。P2口作为高8位地址输出口,还可以用作译码控制信号。P1口常用作通用I/O口,为CPU传送用户数据。P3口除作为通用I/O端口外,还具有第二功能。P29表2-5

当4个口作为通用的I/O口是,共有三种操作方式,其含义为:

写端口:即写到端口,就是把CPU中的A或其它寄存器中的数据传送到端口锁存

器中,然后由端口自动输出到引脚线上。

读端口:即读出端口,就是把端口锁存器中的数据输送到累加器A中。 读引脚:即读出引脚,就是把引脚上的外部数据输送到内部。

读引脚时一定要先关断端口,即先将端口锁存器置位,这样锁存器的输出使驱动器T3截止,引脚上的信号就可以通过三态缓冲器输入到内部总线上。故读引脚时,必须同时有两条指令:

O端口。故可以由TXD串行发出,又可以由RXD串行接收。它们都利用了P3口的第二功能:RXD(P3.0),TXD(P3.1)。

注:串行通信的三种方式:

1)、单工方式:数据只能向一个方向传输。

2)、半双工方式:允许数据向两个方向传输,但不能同时传输,只能交替进行。因此,可以利用一条传输线进行两个反方向的数据传送。

3) 、全双工方式:数据可以同时向两个相反方向传输,因此,需要两条独立的数据通道分别传送两个相反方向数据。

4、 定时/计数器: 80C51中有2个16位的定时/计数器T0,T1,它们有定时和计数两种模式

5、 中断系统 80C51可以处理5个中断源发出的中断请求,其中2个外部中断请求INT0,INT1,2个内部定时/计数器中断请求T0,T1,一个内部串行口中断请求。

相关问答

单板机 单片机 个人计算机有什么 区别 吗 - 陈大大1992 的回答...

1、系统组成:单板机把微型计算机的整个功能体系电路(CPU、ROM、RAM、输入/输出接口电路以及其他辅助电路)全部组装在一块印制电板上,再用印制电路将...

单板机和单片机区别 主要是什么?_土巴兔装修问答

单板机的名称较早,系指将一个计算机的主要部件都放在一块电路板上的专用计算机。单板机上设备部件星罗棋布。单片机一词出现在超大规模芯片制造之后...

【巨型机,中型机,大型机,小型机,微型机, 单片机 是以计算机的...

[最佳回答]按综合性能指标分1.巨型计算机2.大型计算机3.中型计算机4.小型计算机5.微型计算机6.工作站和终端区别:巨:同时执行数百万用户的指令,...

单板 硬件开发和电源哪个好?

单板软硬件硬件开发主要focus在产品的详细设计阶段,单板机种类很多,常见的有普通单片机和Arm开发板。软硬件开发自然就是给开发板装上合适的软件,并且安装相...

单片机 也称为微型处理器是对是错? - 175****8525 的回答 - 懂得

1、微处理器:是指第四代大规模、超大规模集成电路的CPU,是单纯的硬件概念。2、微型计算机:是指用计算机的CPU是用微处理器组成的电脑。3、微型计算...

什么是 单板机 式模式?

单片机就是把CPU,ROM,以及外围接口电路如I/O电路都集成在一快芯片上,其基本拥有计算机的功能,由于其本身的集成度相当高,所以ROMRAM容量有限,接口电路也不多,...

什么是微处理机是微处理机不是微处理器._作业帮

[回答]就是用于工业自动化控制的单片机或是单板机,如电梯锅炉机床等单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到...

何为CPU、微处理器和微型机系统?

1、微处理器:是指第四代大规模、超大规模集成电路的CPU,是单纯的硬件概念。2、微型计算机:是指用计算机的CPU是用微处理器组成的电脑。3、微型计算机系统:...

所谓裸机是指.A 单板机 B只装备操作系统的计算机C...- 汇财吧...

[回答]裸机,是指(D),不装任何操作系统的计算机。一般拿到后都要安装操作系统来使用。所谓裸机是指不装备任何软件的计算机。裸机是指没有配置操作系统和...

模具雕刻机,广告雕刻机,加工中心,它们之间有什么 区别 ?

[回答]如果采用合适的丝杠,配合大功率的伺服电机,不见得丝杠传动的速度就慢,整体而言力量和精度都是可以调控的。准确的讲,齿条传动的机器适合长距离运动,...

猜你喜欢