单片机原理及精华总结Word格式.docx

上传人:b****8 文档编号:22350226 上传时间:2023-02-03 格式:DOCX 页数:109 大小:1.18MB
下载 相关 举报
单片机原理及精华总结Word格式.docx_第1页
第1页 / 共109页
单片机原理及精华总结Word格式.docx_第2页
第2页 / 共109页
单片机原理及精华总结Word格式.docx_第3页
第3页 / 共109页
单片机原理及精华总结Word格式.docx_第4页
第4页 / 共109页
单片机原理及精华总结Word格式.docx_第5页
第5页 / 共109页
点击查看更多>>
下载资源
资源描述

单片机原理及精华总结Word格式.docx

《单片机原理及精华总结Word格式.docx》由会员分享,可在线阅读,更多相关《单片机原理及精华总结Word格式.docx(109页珍藏版)》请在冰豆网上搜索。

单片机原理及精华总结Word格式.docx

其中,中央处理器CPU和内存储器又称为计算机的主机;

输入/输出设备统称为外部设备或I/O设备。

2.1.1微型计算机的基本机构

微型计算机是在中小型计算机基础上发展起来的,并以大规模集成电路技术为条件的一种新型计算机。

因此,它在结构上和通用计算机十分相似,但也有独到之处。

和其它计算机相比,微型计算机的最大特点是采用总线结构,其中三总线结构尤为普遍,目前已成为微型计算机的一种基本结构,如图2-2所示。

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

由图2-2可见,微处理器MPU是通过AB、DB和CD三总线同ROM存储器、RAM存储器及I/O接口相连的,虽然这个结构并不复杂,但并不好理解。

为此,在分析微型计算机基本工作原理前,先对图中各部件作基本介绍是十分必要的。

(1)ROM和RAM存储器

这里的R()M和RAM是半导体存储器,是一种采用大规模或超大规模集成电路工艺制成的存储器芯片。

这种芯片体积小、重量轻、集成度高,现已制成包含1.4亿只晶体管的8MBDRAM芯片,并已投放市场。

ROM存储器是一种在正常工作时只能读不能写的存储器,故它通常用来存放固定程序和常数,固定程序和常数是利用特殊手段存放进去的,一旦写入便能长期保存,需要时便可读出使用。

ROM种类虽然很多,但常按存储容量分类。

例如:

4K(1K=1024)×

8ROM最多可以存放4096个8位二进制数。

每片ROM上都有用于传送信号的引脚线。

这些引线共分四组,地址线用于输送ROM的地址码:

数据线是双向的,可以为芯片传送读/写数据;

控制线用于传送控制信号,以控制芯片是否工作以及是读还是写等等;

电源线可以供给芯片+5V直流电源。

在这些引脚线中.地址线及数据线条数和芯片的存储容量有关。

地址线越多,存储容量就越大;

数据线越多,每个二进制数的位数就越长。

RAM存储器是一种在正常工作时既能读又能写的存储器,故它通常用来存放原始数据、中间结果、最终结果和实时数据等。

RAM中存入的信息不能长久保存,停电后便立即消失,故它又称为易失性存储器。

RAM存储器的规格品种也很多,如4KB、8KB、32KB、64KB、256Kb、1MB,等等。

ROM和RAM的内部结构大致相同,所不同的是存储每位二进制数码的基本电路不一样。

ROM的基本存储电路采用特殊的FAMOS管,由FAMOS管浮栅内有电荷和无电荷表示存“0”还是存“1”;

RAM的基本存储电路是触发器,用触发器的两个暂稳状态来表示存“0”或存“1”。

为使读者对存储器内部结构有一个基本了解,我们在图2-3中示出了一个容量为16×

8RAM芯片的内部结构。

图2-316×

8RAM的内部结构框图

由图中可见,A3~A0为地址线,共4条,传送地址码;

D7~D0是数据线,共8条,传送一个二进制数的八位;

RD和WR为控制线,传送读/写控制信号,存储阵列是芯片的主体,它有16个地址单元,分别对应于4条地址线的16种组合,每个地址单元有8个触发器,用于存储一个八位二进制数,故它可以存储16个八位二进制数。

在16个地址单元中,哪一个工作是由地址译码器输出的16条地址选择线中哪一条为高电平决定的。

地址译码器的译码信号由地址译码器输出的16条地址选择线中哪一条为高电平决定的。

地址译码器的译码信号由地址线上地址译码经地址寄存器暂存后送来。

因此,地址线条数和存储容量间关系通常为:

存储容量=2n

其中,n为地址线条数。

数据线条数和每个地址单元中二进制数位数一一对应,并应和所有地址单元中的基本存储电路(即触发器)相通。

对于一个有16条地址线和8条数据线的ROM存储器,如果它的16条地址线皆为高电平(即:

地址为FFFFH),则必定选中读出FFFFH号地址单元中的内容,且读出数据是送到数据线上的;

如果16条地址线上的地址码为0000H(即全为低电平),则必定选中0000H单元工作。

因此,一个有16条地址线的存储器,其存储器容量的地址范围为0000H~FFFFH,共64KB。

(2)微处理器MPU

现代微处理器MPU的内部结构极其复杂,要像电子线路那样画出它的全部原理图来加以分析介绍是根本不可能的,为了弄清它的基本工作原理,现以图2-4中的模型机框图为例加以概述。

(1)运算器

运算器用于对二进制数进行算术运算和逻辑操作;

其操作顺序是在控制器控制下进行的。

运算器由算术逻辑单元ALU、累加器A、通用寄存器R0、暂存器TMP和状态寄存器PSW等五部分组成。

图2-4模型MPU结构框图

累加器A是一个具有输入/输出能力的移位寄存器,由8个触发器组成。

累加器A在加法前用于存放一个操作数。

加法操作适用于存放两数之和,以便再次累加,故因此得名。

TMP为暂存器,也是一个8位寄存器,用于暂存另一操作数。

ALU为算术逻辑单元,主要由加法器、移位电路和判断电路等组成,用于对累加器A和暂存器TMP中两个操作数进行四则运算和逻辑操作。

PSW为程序状态宇,也由八位触发器组成,用于存放ALU操作过程中形成的状态。

累加器A中的运算结果是否为零,最高位是否有进位或借位,低四位向高四位是否有进位或借位,等等,都可以记录到PSW中去。

R0为通用寄存器GR,用于存放操作数或运算结果。

(2)控制器

控制器是发布操作命令的机构,是计算机的指挥中心,相当于人脑的神经中枢、控制器由指令部件、时序部件和微操作控制部件等三部分组成。

①指令部件:

是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。

通常,指令部件由程序计数器PC、指令寄存器IR和指令译码器IS等三部分组成。

指令是一种能供机器执行的控制代码,有操作码和地址码两部分,指令不同,相应的代码长度也不一样。

因此,指令可分为单字节、双字节和三字节指令,等等。

指令的有序组合称为程序,程序必须先放在存储器内,机器执行程序应从第一条指令开始逐条执行。

这就需要有一个专门寄存器用来存放当前要执行指令的内存地址,这个寄存器就是程序计数器PC。

当机器根据PC中地址取出要执行指令的一个字节后,PC就自动加1,指向指令的下一字节,为机器下次取这个字节时作好准备。

在8位微处理器MPU中,程序计数器通常为16位。

指令寄存器IR有八位长,用于存放从存储器中取出的当前要执行指令的指令码。

该指令码在IR中得到寄存和缓冲后被送到指令译码器ID中译码,指令操作码译码后就知道该指令进行哪种操作,并在时序部件帮助下去推动微操作控制部件完成指令的执行。

②时序部件:

由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。

其中,时钟系统产生机器的时钟脉冲序列,脉冲分配器又称“节拍发生器”,用于产生节拍电位和节拍脉冲。

③微操作控制部件:

可以为ID输出信号配上节拍电位和节拍脉冲,也可和外部进来的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。

(3)地址总线、数据总线和控制总线

所谓总线是指信息传送的公共通道,实际上是印刷电路板上的短路线,这些短路线是沟通微型计算机各种器件的桥梁。

①地址总线AB

地址总线AB也叫地址母线,因其上仅传送MPU的地址码而得名。

当微处理器MPU和存储器或外部设备交换信息时,必须指明要和哪个存储单元或哪个外部设备交换。

因此,地址总线AB必须和所有存储器的地址线对应相连,也必须和所有I/O接口的设备码线相连。

这样,当微处理器MPU对存储器或外设读/写数据时,只要把存储单元的地址码或外部的设备码送到地址总线上便可选中它们工作,地址总线条数由所选MPU型号决定.在8位机中.它通常为16条。

②数据总线

数据总线也叫“数据母线”,因其上传送的是数据和指令码而得名。

数据总线条数常和所用微处理器字长相等,但也有内部为16位运算而外部仍为8位数据总线的情况。

由于MPU有时需要把数据写入存储器或从外设输出数据,有时又需要从存储器或输入设备输人数据,因此数据总线是双向的。

在8位机中,数据总线通常有8条。

③控制总线CB

控制总线也叫控制母线,用于传送各类控制信号。

控制总线条数因机器而异,每条控制线最多传送两个控制信号。

控制信号有两类:

一类是MPU发出的控制命令,如读命令、写命令、中断响应信号等;

另一类是存储器或外设的状态信息,如外设的中断请求、复位、总线请求和中断请求,等等。

总之,微果汁算机采用总线结构是一大特点,它使得存储器扩充和I/O接口板的增删十分方便。

(4)I/O接口和外设

I/O接口是架设在微处理器和外设间的桥梁,是一种过渡的大规模集成电路芯片。

由于大多数外部设备部是机电型的,工作速度较慢,因此微处理器MPU通常不和它们直接相连,而是通过I/O接口缓冲后再和外设相连,以便实现速度、电平和信号性质的匹配。

2.1.2微型计算机的基本工作原理

微型计算机是通过执行程序来工作的,机器执行不同程序就能完成不同的运算任务。

因此,微型计算机执行程序的过程实际上也体现了微型计算机的基本工作原理。

为此,我们先从指令和程序谈起。

(1).微处理器的指令系统和程序编制

前面已经谈到,指令是一种可以供机器执行的控制代码,故它又称为指令码。

指令码由操作码和地址码构成;

操作码用于指示机器执行何种操作,地址码用于指示参加操作的数在哪里,其格式为:

指令码的二进制形式既不便于记忆,又不便于书写,故人们通常采用助记符形式来表示。

如表2-1所列。

表2-1指令的三种形式

指令的集合或指令的全体称为“指令系统”。

微处理器类型不同,它的指令系统也不一样。

Z82有698条,Intel8085有78条,MCS-51系列单片机有111条指令,等等。

所谓程序就是采用指令系统中的指令根据题目要求排列起来的有序指令的集合。

程序的编制称为“程序设计”。

通常,设计人员采用指令的汇编符(即助记符)形式编程的,这种程序设计称为汇编语言程序设计。

显然,设计人员如果不熟悉机器的指令系统是无法编出优质高效程序的。

(2)微型计算机执行程序的过程

为了弄清微型计算机的工作原理,现以如下的Y=5+10求和程序来说明微型计算机的工作过程。

7405HMOVA,#05H;

A←05H

240AHADDA,#0AH;

A←5+10

80FEHSJMP$;

停机

该程序由三条指令组成,每条指令均为双字节指令(即第一字节为操作码,第二字节为地址码)。

第一条指令的含义是把05H传送到累加器A;

第二条指令是加法指令,它把累加器中的5和立即数10相加,结果保留到累加器A中。

第三条是停机指令,机器执行后处于动态停机状态。

为了说明程序的执行过程,现在假设上述程序的指令码已装入从2000H开始的存储器区域,共占用6个存储单元,程序计数器PC中也预先放入初值地址2000H,以便机器可以根据PC中地址从第一条指令处执行程序,如图2-5所示。

1)第一条指令的执行过程

第一条指令为双字节指令,第一字节为操作码74H,它指示机器进行传送操作,操作数05H在指令的第二字节,即:

2001H内。

执行步骤为:

①微操作控制器使程序计数器PC中初值地址2000H送入地址寄存器AR后发出读命令,同时使程序计数器PC中内容自动加1而变成2001H,以便为取指令的第二字节预作准备。

②存储器根据地址寄存器中地址2000H,在读命令控制下完成读出操作码74H和送入数据寄存器DR中的任务。

③微操作控制序列继续使DR中操作码74H经指令寄存器IR缓冲后送人指令译码器ID。

④指令译码器1D结合时序部件产生74H操作码的微操作序列,该微操作序列把程序计数器PC中地址2001h送人AR后发出新的读命令,同时又使程序计数器PC自动加1,而变成2002H,为取第二条指令操作码24H作准备。

图2-5指令执行操作示意图

⑤存储器在新的AR中地址2001H和74H微操作序列的共同作用下,把2001H单元中05H送入数据寄存器DR。

⑥74H微操作控制序列使数据寄存器DR中05H操作数送人累加器A中。

至此,第一条指令的执行宣告完成。

2)第二条指令的执行过程

第二条指令也是双字节指令,第一字节为操作码24H,指示机器进行加法操作,两个操作数中一个在累加器A中,另一个在指令的第二字节。

①第一条指令执行完后,程序计数器PC中内容已变为2002H,微操作控制器也使程序计数器PC中2002H送入地址寄存器后向存储器发出读命令,同时又使PC中内容加l而变为2003H,使PC指向第二条指令的第二字节。

②存储器在地址寄存器AR中2002H和读命令作用下,读出操作码24H和送到数据寄存器DR中。

③微操作控制器发出的微操作控制序列使DR中的24H操作码送人指令寄存器IR,并通过它进入指令译码器ID。

④指令译码器ID也结合时序部件使微操作控制器产生24H的微操作控制序列,该微操作控制序列又使程序计数器PC中2003H送入AR和发出读命令,还使PC自动加1而变为2004H,使PC指向第三条指令的第一字节地址。

⑤24H微操作控制序列把存储器读出的操作数0AH从DR送入TMP,并会同累加器A中的另一操作数05H,完成两数求和操作以及把操作结果经过内部总线送人累加器A,以完成本条指令执行。

3)第三条指令的执行过程

第三条指令的执行过程和第一、二两条类似,所不同的是第三条指令执行后,MPU处于动态停机状态,在此不再赘述。

 

2.2MCS-5l单片机结构与时序

MCS-5l是美国Intel公司的8位高档单片机系列,是在MCS-48系列基础上发展而来的.也是我国目前应用最广的一种单片机系列。

在这个系列里,有多种机型,性能特点也各不相同。

本节主要以8051为主线叙述MCS-51单片机的内部结构、引脚功能、工作方式和时序。

2.2.1MCSS—51单片机内部结构

在MCS-5l系列里,所有产品都是以8051为核心电路发展起来的,他们都具有8051的基本结构和软件特征。

从制造工艺来看,MCS-51系列中的器件基本上可分为HMOS(High-speedMOS,高速MOS)和CMOS两类(见表2-2)。

CMOS器件的特点是电流小且功耗低(掉电方式下消耗10uA电流),但对电平要求高(高电平大干4.5V,低电平小于0.45V,HMOs对电平要求低(高电平大干2.0V,低电平小于0.8V),但功耗大。

表2-2MCS-51系列芯片及制造工艺

8051单片机内部包含了作为微型计算机所必需的基本功能部件,各功能部件相互独立地集成在同一块芯片上。

8051内部结构如图2-6所示。

如果把图中ROM/EPROM这部分电路移走,则它和8031的内部结构相同。

为了进一步介绍805l或8031内部结构和工作原理.现把图中各功能部件划分为CPU、存储器、I/O端口、定时器/计数器和中断系统等五部分加以介绍。

2.2.1.1CPU结构

8051内部CPU是一个字长为二进制8位的中央处理单元,也就是说它对数据的处理是按字节为单位进行的。

与微型计算机CPU类似,8051内部CPU也是由运算器(ALU)、控制器(定时控制部件等)和专用寄存器组三部分电路构成。

(1)算术逻辑部件(ALU)

8051的ALU是一个性能极强的运算器,它既可以进行加、减、乘.除四则运算,也可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。

8051ALU为用户提供了丰富的指令系统和极快的指令执行速度,大部外指令的执行时间为1us,乘法指令可达4us。

8051ALU由一个加法器.两个8位暂存器(TMP1和TMP2),和一个性能卓著的布尔处理器(图中未画出)组成。

虽然TMPl和TMP2对用户并下开放,但可用来为加法器和布尔处理器暂存两个8位二进制操作数。

8051时钟频率可达12MHZ。

(2)定时控制部件

定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器和振荡器OSC等电路组成。

指令寄存器IR用于存放从程序存储器中取出的指令码,定时控制逻辑用于对指令寄存器中的指令码进行译码,井在OSC的配合下产生执行指令的时序脉冲,以完成相应指令的执行。

图2-6MCS-51内部结构框图

OSC(OSCillator)是控制器的心脏,能为控制器提供时钟脉冲,图2-6为HMOS型单片机内部的OSC电路.图中.引脚XTAL为反相放大管Q4的输入端,XTAL2为Q4的输出端。

只要在引脚XTAL1和XTAL2上外接定时反馈回路,OSC就能自激振荡。

定时反馈回路常田石英晶振和电容组成,如图2-7所示。

OSC振荡器产生矩形时钟脉冲序列,其频率是单片机的重要性能指标之一.时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快;

因此,不同型号的单片机所需要的时钟频率也是不相同的。

(3)专用寄存器组

专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。

它是任何一合计算机的CPU不可缺少的组成部件,其寄存器的多寡因机器型号的不同而异。

专用寄存器组主要包括程序计数器PC.累加器A、程序状态字PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等。

图2-7HMOS型单片机内部振荡器OSC

1)程序计数器PC(PromgramCounter)

程序计数器PC是一个二进制16位的程序地址寄存器,专门用来存放下一条需要执行指令的内存地址,能自动加1。

CPU执行指令时,它是先根据程序计数器PC中的地址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行.随后程序计数器PC中地址码自动加1,以便为CPU取下一个需要执行的指令码作准备。

当下一个指令码取出执行后,PC又自动加1。

这样,程序计数器PC一次次加1,指令就被一条条地执行。

所以,需要执行程序的机器码必须在程序执行前预先一条条地按序放到程序存储器中,并为程序计数器PC设置成程序第一条指令的内存地址。

8051程序计数器PC由16个触发器构成,故它的编码范围为0000H~FFFFH,共64K。

这就是说,805l对程序存储器的寻址范围为64KB。

如果想为8051配置大于64KB的程序存储器.就必须在制造8051器件时加长程序计数器的位数。

但在实际应用中,64KB的程序存储器通常已足够了。

2)累加器A(Accumulator)

累加器A又记作ACC,是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。

在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。

例如,在如下的3+5加法程序中

MOVA,#03H;

A←3

ADDA,#05H;

A←A+05H

第一条指令是把加数3预先送入累加器A,为第二条加法指令的执行作了准备。

因此,第二条指令执行前累加器A中为加数3,在执行后变为两数之和8。

3)通用寄存器B(GeneralPurposeRegister)

通用寄存器B是专门为乘法和除法设置的寄存器,也是一个二进制8位寄存器,由8个触发器组成.该寄存器在乘法或除法前,用来存放乘数或除数,在乘法或除法完成后用于存放乘积的高8位或除法的余数。

现以乘法运算为例加以说明:

MOVA,#05H  ;

A←5

MOVB,#03H  ;

B←3

MULAB  ;

BA←A×

B=5×

3

上述程序中,前面两条是传送指令,是进行乘法前的准备指令。

因此,乘法指令执行前累加器A和通用寄存器B中分别存放了两个乘数,乘法指令执行完后,积的高8位自动在B中形成,积的低8位自动在A中形成。

4)程序状态字PSW(ProgramStatusWord)

PSW是一个8位标志寄存器,用来存放指令执行后的有关状态。

PSW中各位状态通常是在指令执行过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。

它的各标志位定义如下:

其中,PSW7为最高位,PSW0为最低位。

①进位行志位Cy(Carry):

用于表示加减运算过程中最高位A7(累加器最高位)有无进位或借位。

在加法运算时,若累加器A中最高位A7有进位,则Cy=1;

否则Cy=0。

在减法运算时,若A7有了借位,则Cy=1;

此外,CPU在进行移位操作时也会影响这个标志位。

②辅助进位位AC(AuxiliaryCarry):

用于表示加减运算时低4位(即A3)有无向高4位(即A4)进位或借位。

若AC=0,则表示加减过程中A3没有向A4进位或借位;

若AC=1,则表示加减过程中A3向A4有了进位或借位。

③用户标志位F0(Flagzero):

F0标志位的状态通常不是机器在执行指令过程中自动形成的,而是由用户根据程序执行的需要通过传送指令确定的。

该标志位状态一经设定,便由用户程序直接检测,以决定用户程序的流向。

④寄存器选择位RS1和RS0:

8051共有8个8位工作寄存器,分别命名为R0~R7。

工作寄存器R0~R7,常常被用户用来进行程序设计,但它在RAM中的实际物理地址是可以根据需要选定的。

RS1和RS0就是为了这个目的提供给用户使用,用户通过改变RS1和RS0的状态可以方便地决定R0~R7的实际物理地址。

工作寄存器R0~R7的物理地址和RS1、RS0之间的关系如表2-3所列。

表2-3RS1、RS0对工作寄存器的选择

采用8051或803l做成的单片机控制系统.开机后的RS1和RS0总是为零状态,故R0-R7的物理地址为00H-07H,即R0的地址为00H,R1的地址为01H…,R7的地址为07H。

但若机器执行如下指令

MOVPSW,#08H;

PSW←08H

则RS1、RS0显然为01B,故R0-R7的物理地址变为08H-0FH。

因此,用户利用这种方法可以很方便地达到保护R0-R7中数据的目的,这对用户的程序设计是非常有利的。

⑤溢出标志位OV(Overflow):

可以指示运算过程中是否发生了溢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1