单片机应用技术(第4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 微型计算机的基本结构及工作原理

计算机是由运算器、控制器、存储器、输入及输出设备5大部件组成的,如图2-2所示。其中,运算器用来完成算术运算和逻辑运算;控制器主要用于解释输入计算机的命令并发出相应的控制信号;存储器用来存放程序、数据及运算结果等信息;输入及输出设备用于输入外部命令及数据,输出运算结果等。微型计算机将控制器和运算器集成在一块芯片上,称为微处理器(CPU)。下面分别介绍微型计算机的基本结构及工作原理。

图2-2 计算机的基本组成结构

2.1.1 微型计算机的基本结构

微型计算机(Microcomputer)是以微处理器(CPU)为核心,加上内存储器 ROM 和RAM、I/O接口电路以及系统总线组成,如图2-3所示。

图2-3 微型计算机的基本结构框图

1.微处理器

微处理器是微型计算机的“核心”,是系统的运算中心和控制中心。不同型号的微型计算机之间性能上的差别首先表现在微处理器的不同,每种处理器有其特有的指令系统。但所有的处理器的结构基本一致,主要包括运算器、控制器、寄存器组几个部分。

运算器主要用于算术和逻辑运算。

控制器由指令寄存器、指令译码器和微操作控制电路组成。它将指令从存储器调入指令寄存器中,通过指令译码器译码后,由微操作控制电路按照译码后的控制命令发出一系列的控制信息,使微型计算机的各个部件协调动作,完成程序指定的工作。

CPU内部的寄存器主要用来暂存参与运算的操作数、中间结果和运算结果,同时记录程序运行中的某些状态等。因此,寄存器可以分为两大类:专用寄存器和通用寄存器。专用寄存器有累加器ACC、标志寄存器PSW、程序计数器PC等,其中累加器ACC用于参与程序的各种运算;标志寄存器PSW标识程序运行过程中的各种状态,如是否产生进位,是否超出了运算范围等;程序计数器PC用于控制程序执行的顺序。

2.三总线

总线是微处理器、内存储器和I/O接口电路之间相互交换信息的公共通道。微型计算机的总线由数据总线(Data Bus)、地址总线(Address Bus)和控制总线(Control Bus)三总线构成。数据总线(DB)的功能是完成微处理器与内存、I/O接口电路之间的数据传送,通过数据总线可以实现数据的双向传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息的通路,是单向传送方式;控制总线(CB)是微处理器向内存和I/O接口电路发出的命令信息或由外界向微处理器传送的状态信息的通路。

3.存储器

微型计算机内部的存储器都是半导体存储器,其中只读存储器可以是 ROM、PROM、EPROM、E2PROM、Flash ROM (闪存)等类型,主要用于存放各种程序,如汇编程序、编译程序、标准子程序以及各种常用数据表格;读/写存储器包括各种形式的RAM,用于存放用户程序、数据及部分系统信息。

读/写存储器的结构如图2-4所示。其中存储单元矩阵是存储器的主体,用来存储信息。存储单元矩阵由许多存储单元组成,每个存储单元在存储单元矩阵中的位置用“地址”表示。存储单元的总数决定了该存储器的容量。存储器中地址译码器的作用是对地址进行译码,以选择所指定的存储单元。地址线的多少与存储容量的关系满足:存储容量=2nn为地址线的数量)。利用地址译码器就可以用较少的地址线选择更多的存储单元。

存储器要进行读写操作,首先必须由CPU发出地址信号,由地址总线(AB)传送至地址寄存器暂存,通过地址译码器选择指定的存储单元,再由CPU通过控制总线(CB)发出读/写控制信号,决定存储器中数据传送的方向,如果要进行读操作,则将存储器中的数据送入数据寄存器,然后通过数据总线(DB)送至CPU,如果进行写操作,则将CPU通过数据总线(DB)传送到数据寄存器中的数据存入存储单元中。

图2-4 存储器基本结构框图

按存储器地址空间分配形式的不同,可将微型计算机的存储器分为两类:普林斯顿结构和哈佛结构。普林斯顿结构的特点是计算机只有一个地址空间,CPU访问ROM和RAM用相同的访问指令,8086、奔腾等微型计算机就采用这种结构。哈佛结构将ROM和RAM分别安排在相互独立的两个地址空间,ROM和RAM可以有相同的地址,但用不同的指令访问,单片机就是采用这种结构。

4.I/O接口电路

微型计算机与I/O设备之间不能直接交换信息,必须通过I/O接口电路作为它们之间联系的桥梁。I/O接口电路通过各种符合标准的总线传递外围设备与CPU之间的信息,并对信息做一些必要的处理。

5.外围设备

常见的外围设备包括打印机、显示器、键盘、鼠标、绘图仪、外存储器(如磁盘、光盘、磁带等)以及一些互联网装置等。

2.1.2 微型计算机的工作原理

动画:单片机工作原理

微课:单片机工作原理

微型计算机在工作时,先将程序存放在存储器中,由CPU严格地按时序不断地从存储器中取出指令、对指令进行译码、执行指令规定的操作,即按指令的要求发出地址信号和控制信号,将数据或命令通过总线在CPU、存储器及I/O接口之间进行交流,完成指定的功能。下面以51系列单片机执行“3+2”的操作为例,说明计算机的工作过程。

首先由编程人员写出汇编语言源程序,通过汇编程序将其编译成机器语言程序,其代码如下:

            机器码            汇编语言源程序            注释
            7403H            MOV  A,#03H            ; (A)=3
            2402H            ADD  A,#02H            ; (A)=3+2
            80FEH             SJMP  $                   ; 暂停

将机器语言程序(即机器码)依次存放在存储器中,程序计数器PC装入初值0000H,以便程序从第一条指令处执行,如图2-5所示。

当计算机开始工作时,微操作控制器将程序计数器PC中的初值0000H送入地址寄存器AR中,发出“读” ()命令,同时使PC中的内容自动加1,为取下一字节数据做准备。存储器在读命令控制下,将0000H单元的内容“74H”送入数据寄存器DR中,由微操作控制器将其经指令寄存器IR及指令译码器ID翻译后产生新的控制命令,该命令要求将存储器第二个地址单元0001H中的数据送入累加器中,同时PC又自动加1。存储器在新的控制命令作用下,将0001H中的内容“03H”送入数据寄存器DR中,并通过内部数据总线送入累加器。这样,第一条指令就执行完了。

图2-5 计算机工作过程示意图

DR—数据寄存器; PC—程序计数器; AR—地址寄存器; PSW—程序状态字;ALU—算术逻辑运算单元; RS—工作寄存器; IR—指令寄存器; ID—指令译码器

下面两条指令的执行过程与第一条指令类似。