80C51单片机的引脚功能
80C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
80C51单片机引脚功能图解

80C51单片机引脚功能图解80C51属于51单片机系列,改进了8048的缺点并增加了一些新的运算技术。
其性能能够满意产品对于系统数据采集以准时间精度的需求。
本文将为大家介绍80C51单片机的引脚基础功能,感爱好的伴侣快来看一看吧。
MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图1。
图1P0.0 ~P0.7:P0口8位双向口线。
P1.0 ~P1.7:P1口8位双向口线。
P2.0 ~P2.7:P2口8位双向口线。
P3.0 ~P3.7:P3口8位双向口线。
ALE:地址锁存掌握信号。
在系统扩展时,ALE用于掌握把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。
PSEN:外部程序存储器读选通信号。
在读外部ROM时,PSEN有效(低电平),以实现外部ROM单元的读操作。
EA:访问程序存储掌握信号。
当信号为低电平常,对ROM的读操作限定在外部程序存储器;当信号为高电平常,对ROM的读操作是从内部程序存储器开头,并可延至外部程序存储器。
RST:复位信号。
当输入的复位信号连续两个机器周期以上的高电平常即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2:外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
VSS:地线。
VCC:+5 V电源。
以上是MCS-51单片机芯片40条引脚的定义及简洁功能说明,读者可以对比实训电路找到相应引脚,在电路中查看每个引脚的连接使用。
P3口线的其次功能。
P3的8条口线都定义有其次功能。
第2章 80C51系列单片机基本结构及原理

串行通信、扩展I/O接口芯片 定时、计数作用。与CPU之间各自独立工作,当它计数满时向CPU中断。
五个中断源、两级优先,可编程进行控制。
各部分通过内部总线相连。
7
2.1 80C51系列单片机的内部结构
本节内容
2.1.1 80C51系列单片机的CPU
2.1.2 程序存储器(ROM)和数据存储器(RAM)的区别
12
2.1 80C51系列单片机的内部结构
本节内容
2.1.1 80C51系列单片机的CPU
2.1.2 程序存储器(ROM)和数据存储器(RAM)的区别
2.1.3 单片机时序及有关概念
13
2.1 80C51系列单片机的内部结构
2.1.2 程序存储器(ROM)和数据存储器(RAM)的区别
程序存储器是用来存放指令代码的,即用来存放汇编语言 或C语言程序编译后的二进制程序代码; 数据存储器是用来存放程序运行中产生的运算结果或随机
2.1.3 单片机时序及有关概念
8
2.1 80C51系列单片机的内部结构
2.1.1 80C51系列单片机的CPU
CPU的作用:读入和分析每条指令,根据每条指令的功能要求,
控制各个部件执行相应的操作。 80C51系列单片机的CPU是由运算器和控制器构成的。
运算器主要用来对操作数进行算术、逻辑和位运算。 控制器的主要任务是识别指令,并根据指令的性质控制单片机各
环移位操作,位操作等功能。此外,还要
通过对运算结果的判断,影响程序状态标 志寄存器的有关位。
10
2.1 80C51系列单片机的内部结构
控制器 指令寄存器 指令译码器
时钟发生器、定时控制逻辑、 程序计数器PC、 程序地址寄存器、 数据指针寄存器DPTR、 堆栈指针SP
单片机80C51

单片机80C5180C51单片机的典型产品有80C51﹑80C31和87C51,80C51是ROM型单片机,内部有4KB ROM;80C31无片内ROM;87C51片内有4KB EPROM。
除此外三者的内部结构和引脚完相同。
图1-1 为80C51的内部结构80C51的内部结构包括:【中央处理器(CUP)】主要完成运算和控制功能,80C51的CPU 是一个字节为8位的中央处理器,即它对数据的处理是按字节为单位的;【内部数据处理器(内部RAM】)80C51中共有256个RAM单元,但其中能作为寄存器供用户使用的仅有前面128个,后128个被专用寄存器占用;【内部程序储存器(内部ROM)】80C51共有4KB的掩膜ROM,用于存放程序、原始数据;【定时器/计数器】80C51有2个16位的定时器/计数器;【并行I/O口】80C51共有4个8位I/O口(P0P1P2P3)可实现数据并行输入输出;【串行口】80C51有1个全双工的可编程的串行口,以实现单片机与其他设备之间的串行数据传送;【时钟电路】80C51单片机内部有时钟电路,但晶振和微调电容要外接,为其产生时钟脉冲序列;【中断系统】它共有5个中断源:2个是外部中断源/INTO和/INT1,3个内部中断源,即2个定时/计数中断,1个串行口中断;还有驱动器、锁存器、缓冲器、地址寄存器等。
图1-2 为80C51的引脚图功能说明:主电源引脚Vss(20脚)和Vcc(40脚);时钟电路引脚XTAL1(19脚)和XTAL2(18脚),用法见图1-2;控制信号引脚如下:RST复位(9脚)输入24个时钟脉冲周期宽度以上H电平复位,接法见图1-3;ALE或/PROG、(30脚)锁存扩展地址低位字节控自信号,或EPROM编程时输入编程脉冲;/PSEN、(29脚)访问片外程序存储器是输出负脉冲作片选控制信号,12个始终周期2次生效,但访问片外RAM时无效,见时序图图1-3;/EA或Vpp(31)程序储存地址的选择,H时先选片内超址时自动跳到片外ROM,或编程时施加编程电压。
C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vp p功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
第4章 80C51单片机IO端口及应用最终

24
参考程序:
#include <reg51.h> void main(void) { unsigned char i; P2=0xff; for(;;) { i=P2; P1=i; } }
25
4.6单片机I/O口控制电磁继电器
在控制系统中,常常存在电子电路与电气电路的互 相连接问题,需要电子电路控制电气电路的执行元件, 例如电动机、电磁铁、电灯等,同时实现电子线路与电 气电路的电隔离,以保护电子电路和人身的安全,继电 器在其中起了重要的桥梁作用。
控制
T1
内部总线 写锁存器 读引脚
D P0.x Q 锁存器 Q
BUF2
MUX
P0.x引脚 T2
图4-1 P0口的位电路结构
4
2.P0口工作原理 (1)P0口作为地址/数据总线分时复用口
当80C51单片机外部扩展存储器或者I/O接口芯片,需要 P0口作为地址/数据总线分时使用时,“控制”信号输出高 电平;转换开关MUX 将T2与反相器输出端接通,同时“与 门”开锁,“地址或数据”信号通过与门驱动T1管,并通过 反相器驱动T2管,使得P0.x引脚的输出状态随“地址/数据” 状态的变化而变化。具体输出过程如下。
注意,当P0口作输出口使用时,输出级属开漏电路,在 P0.x引脚应外接上拉电阻。
6
② P0口作为I/O口输入时,端口中的两个三态缓冲器用于读 操作。有2种读操作:读锁存器和读引脚。
“读引脚”:当执行一般的端口输入指令时,引脚上的外部 信号既加在三态缓冲器BUF2的输入端,又加在场效应管T2 漏极上,若此时T2导通,则引脚上的电位被钳在0电平上。 为使读引脚能正确地读入,在输入数据时,要先向锁存器置 “1”,使其Q反端为0,使输出级T1和T2两个管子均被截止, 引脚处于悬浮状态;作高阻抗输入。“读引脚”脉冲把三态 缓冲器打开,于是引脚上的数据经缓冲器到内部总线;
单片机 第二章 80C51系列单片机内部结构与工作原理

2.2 80C51单片机内部基本结构及引脚功能
③检查单片机芯片的好坏,可用示波器查看ALE端
是否有脉冲信号输出。
④ALE端的负载能力为8个LS型TTL。 :对EPROM型单片机,如对87C51BH编程时 的编程脉冲输入端。 ⑵、 (29脚):程序存储允许输出端。片外程
序存储器的读选通信号,低电平有效。
2.2 80C51单片机内部基本结构及引脚功能
3、基本功能单元
功能: 满足单片机测控功能要求的基本计算机外 围电路,用来完善和扩大计算机的功能.
组成: 包括定时/计数器、中断系统、串行通信 接口等。 说明: (1)80C51有两个16位定时/计数器 (T0和T1)。 作用: 可以作为内部定时器或外部脉冲计数器使 用。作内部定时器时,是靠对时钟振荡器的12分频脉
2.1 2.2 2.3
2.4
2.5 2.6
2.7
2.8 2.9
80C51系列单片机简介 80C51单片机内部基本结构及引脚功能 80C51单片机CPU结构 80C51存储器结构 输入/输出(I/O)端口 单片机的工作过程 80C51的低功耗方式 本章小结 练习思考题
第二章
80C51系列单片机内部结构与工作原理
①CPU从外部ROM取指令时,在每个机器周期中两 次有效。但在访问片外RAM时,要少产生两次负脉冲信
2.2 80C51单片机内部基本结构及引脚功能
号。有效时,将外部ROM中的指令读到数据总线上。
②检查单片机系统上电后,CPU能否正常到 EPROM/ROM中读取指令码,可用示波器查看该端有无负 脉冲信号输出。 ③可驱动8个LS型TTL门电路。
⑶、 (31脚):内部/外部ROM地址选择信号/ 固化编程电压输入端。 :①为高电平,CPU访问ROM有两种情况: 当PC中的值小于0FFFH时,执行片内ROM指令; 当PC中的值超过0FFFH时,将自动转向执行片外 ROM指令。
80C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM 编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 80C51单片机的引脚功能80C51系列中,用CHMOS工艺制造的单片机都采用双列直插式(DIP)40脚封装,引脚信号完全相同。
图2-9为引脚图,这40根引脚大致可分为:电源(V CC、V SS、V PP、V PD)、时钟(XTAL1、XTAL2)、I/O口(P0~P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、、、)等几部分。
它们的功能简述如下:1.电源Vcc(引脚号40),芯片电源,接+5V;Vss(引脚号20),电源接地端。
2.时钟XTAL1(引脚号18)内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。
当采用外部振荡器时,此引脚接地。
XTAL2(引脚号19)内部振荡器的反相放大器输出端,是外接晶振的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
3.控制总线(1)ALE/(引脚号30):正常操作时为ALE功能(允许地址锁存),用来把地址的低字节锁存到外部锁存器。
ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟信号或用于定时。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LSTTL电路。
在8751单片机EPROM编程期间,此引脚接编程脉冲(功能)。
(2)(引脚号29):外部程序存储器读选通信号。
在从外部程序存储器取指令(或数据)期间,在每个机器周期内两次有效。
可以驱动8个LSTTL电路。
(3)RST/VPD(引脚号9):复位信号输入端。
振荡器工作时,该引脚上持续2个机器周期的高电平可实现复位操作。
此引脚还可接上备用电源。
在Vcc掉电期间,由向内部RAM提供电源,以保持内部RAM中的数据。
(4)/Vpp(引脚号31):为内部程序存储器和外部程序存储器的选择端。
当为高电平时,访问内部程序存储器(PC值小于4K);当为低电平时,访问外部程序存储器。
对于87C51单片机,在EPROM编程期间,此端为21V编程电源输入端。
4.I/O线(1)P0口(引脚号32~39):单片机的双向数据总线和低8位地址总线。
在访问外部存储器时实现分时操作,先用作地址总线,在ALE信号的下降沿,地址被锁存;然后用作为数据总线。
它也可以用作双向输入/输出口。
P0口能驱动8个LSTTL负载。
(2)P1口(引脚号1~8):准双向输入/输出口,它能驱动4个LSTTL负载。
(3)P2口(引脚号21~28):准双向输入/输出口。
在访问外部存储器时,用作高8位地址总线。
P2口能驱动4个LSTTL负载。
(4)P3口(引脚号10~17):准双向输入/输出口,它能驱动4个LSTTL负载。
P3口的每一引脚还有另外一种功能:P3.0——RXD:串行口输入端P3.1——TXD:串行口输出端P3.2——:外部中断0中断请求输入端P3.3——:外部中断1中断请求输入端P3.4——T0:定时器/计数器0外部输入端P3.5——T1:定时器/计数器1外部输入端P3.6——:外部数据存储器写选通信号P3.7——:外部数据存储器读选通信号5.时钟电路80C51单片机内有一个高增益反相放大器,其频率范围为1.2MHz~12MHz,XTAL1和XTAL2分别为放大器的输入端和输出端。
时钟可以由内部方式或外部方式产生。
80C51内部方式时钟电路如图2-10(a)所示。
在XTAL1和XTAL2引脚上外接定时元件,就能构成自激振荡电路。
定时元件通常采用石英晶体和电容组成的并联谐振电路。
电容器C1和C2主要起频率微调作用,电容值可选取为30pF左右(外接晶体时)或40pF 左右(外接陶瓷谐振器时)。
80C51外部方式时钟电路如图2-10(b)所示。
XTAL1接外部振荡器,XTAL2悬空。
对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波1.2 80C51 复位及复位电路1.2.1 复位结构图 2-11 80C51复位结构80C51复位结构如图2-11所示,此处的复位引脚只是单纯地称为RST而不是RST/V PD,因为CHMOS型单片机的备用电源也是由V CC引脚提供的。
无论是HMOS型还是CHMOS型的单片机,在振荡器正在运行的情况下,复位是靠在RST/V PD引脚加持续2个机器周期(即24个振荡周期)的高电平来实现的。
在RST引脚出现高电平后的第二个周期执行内部复位,以后每个周期重复一次,直至RST端变低电平。
1.2.2 复位电路及复位操作单片机的复位有上电复位和按钮手动复位两种。
如图2-12(a)所示为上电复位电路,图(b)所示为上电按键复位电路。
图2-12 80C51复位电路上电复位是利用电容充电来实现的,即上电瞬间RST端的电位与V CC相同,随着充电电流的减少,RST的电位逐渐下降。
图2-12 (a)中的R是施密特触发器输入端的一个10KΩ下拉电阻,时间常数为10×10-6×10×103=100ms。
只要V CC的上升时间不超过1ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作。
上电复位所需的最短时间是振荡周期建立时间加上2个机器周期时间,在这个时间内RST的电平应维持高于施密特触发器的下阈值。
上电按键复位2-12(b)所示。
当按下复位按键时,RST端产生高电平,使单片机复位。
复位后,其片内各寄存器状态见表2-3,片内RAM内容不变。
表 2-3 复位后内部寄存器状态寄存器内容寄存器内容PC 0000H TCON 00HACC OOH TL0 00HPSW 00H TH0 00HSP 07H TL1 00HDPTR 0000H TH1 00HP0~P3 0FFH SCON 00HIP ××000000B SBUF 不定IE 0×000000B PCON 0×××0000BTMOD 00H由于单片机内部的各个功能部件均受特殊功能寄存器控制,程序运行直接受程序计数器PC 指挥。
表2-3中各寄存器复位时的状态决定了单片机内有关功能部件的初始状态。
另外,在复位有效期间(即高电平),80C51单片机的ALE引脚和引脚均为高电平,且内部RAM不受复位的影响。
1.3 80C51单片机时序1.3.1 时钟周期、机器周期与指令周期1.指令周期CPU执行一条指令所用的时间称为指令周期。
一个指令周期由1~4个机器周期组成。
2.机器周期CPU执行一个基本操作所用时间称为机器周期,一个机器周期由6状态S1~S6组成,每个状态由2时钟脉冲组成,前一个脉冲叫相位P1,后一个脉冲叫相位P2。
因此一个机器周期由12个时钟脉冲S1P1、S1P2、……、S6P1、S6P2组成,如图2-13所示。
3.时钟脉冲周期时钟脉冲周期T为计算机系统主频f的倒数,即:T =1/f。
若系统主频为12MHZ,则T=1/12μs。
在80C51指令系统中,指令长度为1~3个字节。
在单字节和双字节的指令中,除了乘法和除法指令为4周期以外,都是单周期或双周期的。
三字节指令都是双周期的。
若系统主频为12M,则单周期指令执行时间为12T=12×12-1 =1μs。
双周期指令执行时间为24T=24×12-1 =2μs。
4.按字节与周期的指令分类指令按字节与周期可分为4类:单字节单周期、双字节单周期、单字节双周期、访问外存储器指令,现用4条指令来说明4类指令的机器码字节数、机器周期数及时钟周期数。
其中,INC指令是将累加器A或DPTR内容加1,而MOVX A,@DPTR指令是将以DPTR 为地址的存储单元内容送累加器A。
上述指令将在第三章中介绍,读者只要知道指令的机器码字节数及机器周期数即可。
1.3.2 80C51单片机指令的取指、执行时序现按4类指令介绍CPU时序。
因为CPU工作的过程就是取指令与执行指令的过程,所以CPU必须先取出指令,然后才能执行指令。
1.双字节单周期指令由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在S1P2与S4P2。
在S1P2读入机器码74并送入指令寄存器IR,在S4P2读入数据03送入累加器A,即读2取2。
在指令的执行过程中,P0口要分时传送地址与数据,因此当操作码的地址从P0口输出后,必须发地址锁存信号ALE给74LS373锁存器,将地址锁存在74LS373内,腾出P0口读入机器码74。
在取数据03时同样要发ALE信号。
因此,在一个机器周期内地址锁存信号二次有效,见80C51时序图2-13。
2.单字节单周期指令对单字节单周期指令,由于操作码只有一个字节,因此第一次读操作码有效,而第二次读的操作码将被丢弃,即:读1丢1,且程序计数器PC不加1。
3.单字节双周期指令对单字节双周期指令,由于操作码只有一个字节,而执行时间长达2个机器周期,因此除第1次读操作码有效外,其余三次读的操作码均被放弃,即:读1丢3。
4.访问外部存储器指令MOVX执行访问外部存储器指令MOVX时,首先从程序存储器中取出指令,然后从外部数据存储器中取出数据,因此该指令执行时序图与前三类指令不同。
由于MOVX是单字节双周期指令,所以在取指令阶段(即第一个机器周期的S1P1到S4P2)是读1丢1,而在执行指令读数据阶段(即第一个机器周期的S5到第二个机器周期的S3)所完成的操作如下:(1)先将外部数据存储单元的地址ADDR由DPTR从P0与P2口输出,即时序图中的S5P1到S6P2阶段。
并在S4P2到S5P2阶段,发ALE信号将地址锁存。
(2)在第二个机器周期S1P2到S2P2内取消ALE与程序选通信号(即取消取指操作),使P0口专门用于传送数据。
同时发读信号,通过P0口将外部数据存储单元中的数据传送到累加器A中。
即:时序图的S6P2到S4P1阶段。
(3)由于锁存的地址为外部数据存储单元的地址,所以在第二个机器周期S4取消取指令的操作,即:不再发程序选通信号。
注:由于执行MOVX指令时,在第二个机器周期中要少发一次ALE信号,所以ALE的频率是不稳定的。