MCS-51单片机的指令时序

合集下载

第2章 MCS-51单片机结构与时序_110905

第2章 MCS-51单片机结构与时序_110905
2.3.1 运算部件及专用寄存器组 2.3.2 控制部件及振荡器 2.3.3 单片机工作的基本时序
2.3.1 运算部件及专用寄存器组
运算部件以算术逻辑单元ALU为核心,包括一个位处理器和 两个8位暂存寄存器(不对外开放),它能实现数据的算术运 算、逻辑运算、位变量处理和数据传输操作。 累加器ACC 寄存器B 专用寄存器组 程序状态字PSW 程序计数器PC 堆栈指针SP 数据指针寄存器DPTR
锁 存 器
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 VCC VSS
地 址 总 线 (AB)
数 据 总 线 (DB)
VCC VSS
ห้องสมุดไป่ตู้(a)
(b)
MCS-51系列单片机引脚及总线结构
2.3 微 处 理 器
Program State Word
accumulator
ALU --Arithmetic and Logic Unit
图2.1 MCS-51单片机内部结构框图
1.算术逻辑单元ALU与累加器ACC、寄存器B
算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加 1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进 行逻辑"与"、"或"、"异或"、循环移位、求补、清零等逻辑运 算,并具有数据传输、程序转移等功能。 累加器(ACC,简称累加器A,地址E0H)为一个8位寄存器, 它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的 操作数多来自于A,运算结果也常送回A保存。 寄存器B(地址F0H )是为ALU进行乘除法运算而设置的。 若不作乘除运算时,则可作为通用寄存器使用。

51单片机自学笔记(基础部分)

51单片机自学笔记(基础部分)

一、51单片机的硬件结构1. 硬件结构框图说明:○1微处理器(CPU):51单片机含一个8位CPU,与通用的CPU功能基本相同,含运算器和控制器,不仅可以字节处理,还可以位处理。

例如:未处理、查表、状态检测、中断处理等。

○2数据存储器(RAM):51为128B,52为256B;片外最大可扩展到64K。

○3程序存储器(ROM/EPROM):8031没有,8051有4K的ROM,8751有4K的EPROM;片外可扩展至64K。

○4中断系统:5个中断源,2级优先权。

○5定时器/计数器:2个16位定时/计数器,四种工作方式。

○6串行口:1个全双工串行口,四种工作方式。

可进行串口通信,扩展并行I/O口,多机通信等。

○7P1、P2、P3、P0口:四个8位并行I/O口。

○8特殊功能寄存器(SFR):共21个,对片内部件进行管理、控制、监视;实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。

2. 引脚排列(1)电源及时钟引脚○1电源引脚:Vcc(40脚)解5V电源、Vss(20脚)接地。

○2时钟引脚:两个始终引脚XTAL1、XTAL2外接晶振,或接晶体与片内反相放大器构成振荡器。

XTAL1(19脚):内部反相放大器的输入端。

若接晶振则应接地;XTAL2(18脚):内部反相放大器的输出端。

若采用外部时钟振荡器,该引脚接收时钟振荡信号。

(2)控制引脚○1RST/Vpd(9脚):复位信号输入,高电平有效。

单片机运行时,此脚持续2个机器周期(24个时钟振荡周期)的高电平,就可复位。

平时应为0.5V低电平;Vpd为第二功能,备用电源输入端。

○2:ALE为地址锁存允许,正常工作时,ALE不断输出正脉冲信号。

当访问外部存储器时,ALE输出信号的负跳变沿用作低8位地址的锁存信号;PROG’为编程脉冲输入端。

○3PSEN’(Program Strobe Enable,29脚):程序存储器允许输出控制端。

低电平是外部程序存储器选通。

2.4-MCS-51单片机的工作方式和时序

2.4-MCS-51单片机的工作方式和时序
• 退出 硬件复位(唯一方法) SFR重新初始化;RAM保持不变
7
空闲方式
• 进入: MOV PCON, #01H; IDL1 IDL 0
• 状态:CPU不工作; 各功能部件保持进入前状态;功耗小
• 退出:A、中断源发出中断请求; B、硬件复位
8
空闲方式的进入和退出
GF0——检测标志位; GF0=0执行用户程序 GF0=1空闲方式 P1.0=1电网停电
9
4、编程和校验方式
方式
RST PSEN EA /VPP
编程
1
0
VPP
禁止
1
0

校验
1
0
1
保密位编程 1
0
VPP
针对8751等EPROM
ALE / PROG
0 1 1 0
P2.7 P2.6 P2.5 P2.4
1
0 ╳╳
1
0 ╳╳
0
0 ╳╳
1
1 ╳╳
10
EPROM的编程方式
方式
RST PSEN
编程
1
0Hale Waihona Puke 禁止10校验
1
0
保密位编程 1
0
EA /VPP
VPP ╳ 1 VPP
ALE / PROG
0 1 1 0
P2.7 P2.6 P2.5 P2.4
1
0 ╳╳
1
0 ╳╳
0
0 ╳╳
1
1 ╳╳
11
EPROM的校验方式
方式
RST PSEN
编程
1
0
禁止
1
0
校验
1
0
保密位编程 1

MCS-51单片机指令周期表

MCS-51单片机指令周期表

MCS-51单片机指令周期表mcs-51指令速查表类别指令格式功能简述字节数周期MOV A,Rn寄存器送累加器11MOV Rn,A累加器送寄存器11MOV A,@Ri内部RAM单元送累加器11MOV@Ri,A累加器送内部RAM单元11MOV A,#data立即数送累加器21MOV A,direct直接寻址单元送累加器21MOV direct,A累加器送直接寻址单元21MOV Rn,#data立即数送寄存器21MOV direct,#data立即数送直接寻址单元32MOV@Ri,#data立即数送内部RAM单元21MOV direct,Rn寄存器送直接寻址单元22数据传送类指令期MOV Rn,direct直接寻址单元送寄存器22MOV direct,@Ri内部RAM单元送直接寻址单元22MOV@Ri,direct直接寻址单元送内部RAM单元22MOV direct2,direct1直接寻址单元送直接寻址单元32MOV DPTR,#data1616位立即数送数据指针32MOVX A,@Ri外部RAM单元送累加器(8位地址)12MOVX@Ri,A累加器送外部RAM单元(8位地址)12MOVX A,@DPTR外部RAM单元送累加器(16位地址)12MOVX@DPTR,A累加器送外部RAM单元(16位地址)12MOVC A,@A+DPTR查表数据送累加器(DPTR为基址)12MOVC A,@A+PC查表数据送累加器(PC为基址)12XCH A,Rn累加器与寄存器交换11算术运算类指令XCH A,@Ri累加器与内部RAM单元交换11XCHD A,direct累加器与直接寻址单元交换21XCHD A,@Ri累加器与内部RAM单元低4位交换11SWAP A累加器高4位与低4位交换11POP direct栈顶弹出指令直接寻址单元22PUSH direct直接寻址单元压入栈顶22ADD A,Rn累加器加寄存器11ADD A,@Ri累加器加内部RAM单元11ADD A,direct累加器加直接寻址单元21ADD A,#data累加器加立即数21ADDC A,Rn累加器加寄存器和进位标志11ADDC A,@Ri累加器加内部RAM单元和进位标志11ADDC A,#data累加器加立即数和进位标志21ADDC A,direct累加器加直接寻址单元和进位标志21INC A累加器加111INC Rn寄存器加111INC direct直接寻址单元加121INC@Ri内部RAM单元加111INC DPTR数据指针加112DA A十进制调整11SUBB A,Rn累加器减寄存器和进位标志11SUBB A,@Ri累加器减内部RAM单元和进位标志11SUBB A,#data累加器减立即数和进位标志21SUBB A,direct累加器减直接寻址单元和进位标志21DEC A累加器减111DEC Rn寄存器减111DEC@Ri内部RAM单元减111DEC direct直接寻址单元减121MUL AB累加器乘寄存器B14DIV AB累加器除以寄存器B14ANL A,Rn累加器与寄存器11逻辑运算类指令ANL A,@Ri累加器与内部RAM单元11ANL A,#data累加器与立即数21ANL A,direct累加器与直接寻址单元21ANL direct,A直接寻址单元与累加器21ANL direct,#data直接寻址单元与立即数31ORL A,Rn累加器或寄存器11ORL A,@Ri累加器或内部RAM单元11ORL A,#data累加器或立即数21ORL A,direct累加器或直接寻址单元21ORL direct,A直接寻址单元或累加器21ORL direct,#data直接寻址单元或立即数31XRL A,Rn累加器异或寄存器11XRL A,@Ri累加器异或内部RAM单元11XRL A,#data累加器异或立即数21XRL A,direct累加器异或直接寻址单元21XRL direct,A直接寻址单元异或累加器21XRL direct,#data直接寻址单元异或立即数32RL A累加器左循环移位11RLC A累加器连进位标志左循环移位11RR A累加器右循环移位11RRC A累加器连进位标志右循环移位11CPL A累加器取反11CLR A累加器清零11ACCALL addr112KB范围内绝对调用22AJMP addr112KB范围内绝对转移22LCALL addr162KB范围内长调用32LJMP addr162KB范围内长转移32SJMP rel相对短转移22JMP@A+DPTR相对长转移12RET子程序返回12RET1中断返回12控制转移类指令JZ rel累加器为零转移22JNZ rel累加器非零转移22CJNE A,#data,rel累加器与立即数不等转移32CJNE A,direct,rel累加器与直接寻址单元不等转移32CJNE Rn,#data,rel寄存器与立即数不等转移32CJNE@Ri,#data,rel RAM单元与立即数不等转移32DJNZ Rn,rel寄存器减1不为零转移22DJNZ direct,rel直接寻址单元减1不为零转移32NOP空操作11MOV C,bit直接寻址位送C21MOV bit,C C送直接寻址位21CLR C C清零11CLR bit直接寻址位清零21CPL C C取反11CPL bit直接寻址位取反21SETB C C置位11SETB bit直接寻址位置位21布尔操作类指令ANL C,bit C逻辑与直接寻址位22ANL C,/bit C逻辑与直接寻址位的反22ORL C,bit C逻辑或直接寻址位22ORL C,/bit C逻辑或直接寻址位的反22JC rel C为1转移22JNC rel C为零转移22JB bit,rel直接寻址位为1转移32JNB bit,rel直接寻址为0转移32JBC bit,rel直接寻址位为1转移并清该位32。

补充知识_时钟周期、机器周期、指令周期

补充知识_时钟周期、机器周期、指令周期

• 89C51芯片内部有一个高增益反相放大器,用于 芯片内部有一个高增益反相放大器, 芯片内部有一个高增益反相放大器 构成振荡器。反相放大器的输入端为 构成振荡器。反相放大器的输入端为XTAL2,输 , 出端为XTAL1,两端跨接石英晶体及两个电容就 , 出端为 可以构成稳定的自激振荡器。电容器C1和C2通常 可以构成稳定的自激振荡器。电容器 和 通常 左右, 取30pF左右,可稳定频率并对振荡频率有微调作 左右 用。振荡脉冲频率范围为fOSC=0~24MHz。 振荡脉冲频率范围为 ~ 。 • 晶体振荡器的频率为 OSC,振荡信号从 晶体振荡器的频率为f 振荡信号从XTAL1端 端 输入到片内的时钟发生器上,如下图所示。 输入到片内的时钟发生器上,如下图所示。
• 指令周期: 执行一条指令所需要的时间,一般由若干 指令周期: 执行一条指令所需要的时间, 个机器周期组成。指令不同,所需的机器周期也不同。 个机器周期组成。指令不同,所需的机器周期也不同。 由于CPU内部的操作速度较快,而CPU访问一次内存 内部的操作速度较快, 由于 内部的操作速度较快 访问一次内存 所花的时间较长, 所花的时间较长,因此通常用内存中读取一个指令字 的最短时间来规定CPU周期。这就是说,一条指令的 周期。 的最短时间来规定 周期 这就是说, 取出阶段(通常称为取指)需要一个CPU周期。一般 周期。 取出阶段(通常称为取指)需要一个 周期 来说,取出和执行任何一条指令所需的最短时间为2个 来说,取出和执行任何一条指令所需的最短时间为 个 CPU周期。 周期。 周期 就是说,任何一条指令,它的指令周期至少需要2个 就是说,任何一条指令,它的指令周期至少需要 个 CPU周期,而复杂一些的指令周期,则需要更多的 周期, 周期 而复杂一些的指令周期, CPU周期。 周期。 周期 一个指令周期由1~ 个机器周期组成 个机器周期组成, 一个指令周期由 ~4个机器周期组成,依据指令不 同而不同。 同而不同。

单片机指令周期

单片机指令周期

1.程序计数器PC 2.累加器A 3.寄存器B 4.程序状态字PSW
CY
•PS.W7 •进位/借位标志 •1 有进位/借位 0 无 •在作位处理时作 为位累加器
•溢出标志位 •当第6位和第7位不同时向高位有进 位/借位时,OV=1 •乘法结果超过255,OV=1,否则 =0 •除法中的除数(存放在B中)为0, OV=1,否则=0
片内程序存储器 片外扩展的程序存储器
物理上,分4个存储空间
片内数据存储器
片外扩展的数据存储器 片内外统一编址的64KB 程序存储器地址空间
逻辑上,分3个逻辑空间
片内数据存储器地址空间 64KB外部数据存储器地 Байду номын сангаас空间
MCS-51存储器配置
2.4.1 MCS-51程序存储器 1.MCS-51内部程序存储器
/
8KB
/
/
256B
256B
3*16位
3*16位
4*8位
4*8位
1
1
6
6
8752
/
8KB
256B
3*16位
4*8位
1
6


8031、8051、8751及8032、8052、8752是由 HMOS工艺制造。 而其对应的80C31、80C51、87C51及80C32、 80C52、87C52是由CHMOS工艺制造。
2.3.2 控制信号
•ALE/PROG
•(30脚)地址锁存信号 •系统扩展时,ALE用于控制把P0口输出的 低8位地址送入锁存器锁存起来,实现低位 地址和数据的分时传送 •ALE是以1/6的振荡频率输出的正脉冲,可 作为外部时钟作为系统中其它芯片的时钟源
•PSEN •EA/VPP

MCS-51单片机的组成

MCS-51单片机的组成

• • • • • •
3) 内部程序存储器(内部ROM) 8051 共有 4KB 掩膜 ROM ,用于存放程序、 原始数据或表格,因此,称之为程序存储器, 简称内部ROM。 4) 定时/计数器 8051 共有两个 16 位的定时 / 计数器,以实 现定时或计数功能,并以其定时或计数结果 对计算机进行控制。 5) 并行I/O口 MCS-51 共有 4 个 8 位的 I/O 口( P0 、 P1 、 P2、P3),以实现数据的并行输入/输出。
87C52
8 KB
256 B
2×64 KB
3×16
4×8
1
6
2.2.1 51子系列和52子系列

• • • •
MCS-51系列又分为51和52两个子系列,并 以芯片型号的最末位数字作为标志。其中,51 子系列是基本型,而52子系列则属增强型。52 子系列功能增强的具体方面,从表 1-1 所列内 容中可以看出: (1) 片内ROM从4 KB增加到8 KB。 (2) 片内RAM从128 B增加到256 B。 (3) 定时/计数器从2个增加到3个。 (4) 中断源从5个增加到6个。
微型计算机系统
ห้องสมุดไป่ตู้
输 入 设 备
输 入 接 口 电 路
CPU 运 算 器 控 制 器
输 出 接 口 电 路
输 出 设 备
软 件 + 系 统
存 储 器 硬件系统
图1-1 微型计算机硬件系统组成示意图
• 下面把组成计算机的5个基本部件作简单说明。 • 1) 运算器 • 运算器是计算机的运算部件,用于实现算术和逻辑 运算。计算机的数据运算和处理都在这里进行。 • 2) 控制器 • 控制器是计算机的指挥控制部件,它控制计算机各 部分自动、协调地工作。运算器和控制器是计算机的核 心部分,常把它们合在一起称之为中央处理器,简称 CPU。

MCS-51单片机的硬件结构

MCS-51单片机的硬件结构

MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。

末位数字位“1”的型号是基本型,为“2”的信号是增强型。

MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。

MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。

HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。

尽管封装的⽅式不同,但是它们的结构完全⼀样。

输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。

在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。

当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。

此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。

P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。

P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。

P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。

P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。

《单片机原理与接口技术》第2章 MCS-51单片机的基本结构

《单片机原理与接口技术》第2章  MCS-51单片机的基本结构
高等职业教育 计算机类课程规划教材
大连理工大学出版社
第2章
MCS-51单片机的基本结构 MCS-51单片机的基本结构
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 单片机内部组成及引脚功能 中央处理器 MCS-51单片机的存储结构 MCS-51单片机的存储结构 输入/ 输入/输出端口 时钟电路与时序 单片机工作过程 MCSMCS-51 单片机工作方式 MCSMCS-51 单片机的最小应用系统
8051/8751 都共有64KB程序存储器空间,片内 ROM/EPROM的容量为 4KB,地址为0000H~0FFFH; 片外最多可扩展至64KB的ROM/EPROM,地址 为1000H~FFFFH,片内外是统一编址的。 当引脚EA接高电平时,8051的PC在0000H~0FFFH范围内执行片内ROM 中的程序; 当指令超过0FFFH时,就自动转向片外ROM取指令。 当EA接低电平时,8051片内ROM不起作用,CPU只能从片外ROM/EPROM 中取指令。对于8031芯片,因其片内无ROM,故应使EA接低电平,这样才 能直接从外部扩展的EPROM中取指令。 3.程序运行的入口地址 3.程序运行的入口地址 实际应用时,程序存储器的容量由用户根据需要扩展,而程序地址 空间原则上也可由用户任意安排,但程序最初运行的入口地址是固定的, 用户不能更改。
MCS-51系列单片机的内部结构 图2-1 MCS-51系列单片机的内部结构
MSC-51系列单片机内部结构简化框图 图2-2 MSC-51系列单片机内部结为21个)特殊功能寄存器SFR (5)4个8位并行输入输出I/O接口 (6)1个串行I/O接口,完成单片机与其他微机之间的串行通信。 (7)2个(MCS-52子系列为3个)16位定时器/计数器T0、T1。

MCS-51单片机的指令时序

MCS-51单片机的指令时序

MCS-51单片机的指令时序时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。

·节拍与状态:我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。

·机器周期:MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,显然,如果使用6MHz的时钟频率,一个机器周期就是2us,而如使用12MHz的时钟频率,一个机器周期就是1us。

·指令周期:执行一条指令所需要的时间称为指令周期,MCS-51的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同,也就是说它们所需的机器周期不相同,可能包括一到四个不等的机器周期(这些内容,我们将在下面的章节中加以说明)。

·MCS-51的指令时序:MCS-51指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。

执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式:·单字节指令单机器周期·单字节指令双机器周期·双字节指令单机器周期·双字节指令双机器周期·三字节指令双机器周期·单字节指令四机器周期(如单字节的乘除法指令)下图是MCS-51系列单片机的指令时序图:上图是单周期和双周期取指及执行时序,图中的ALE脉冲是为了锁存地址的选通信号,显然,每出现一次该信号单片机即进行一次读指令操作。

MCS-51单片机指令周期表

MCS-51单片机指令周期表

MCS-51单片机指令周期表mcs-51指令速查表类别指令格式功能简述字节数周期MOV A,Rn寄存器送累加器11MOV Rn,A累加器送寄存器11MOV A,@Ri内部RAM单元送累加器11MOV@Ri,A累加器送内部RAM单元11MOV A,#data立即数送累加器21MOV A,direct直接寻址单元送累加器21MOV direct,A累加器送直接寻址单元21MOV Rn,#data立即数送寄存器21MOV direct,#data立即数送直接寻址单元32MOV@Ri,#data立即数送内部RAM单元21MOV direct,Rn寄存器送直接寻址单元22数据传送类指令期MOV Rn,direct直接寻址单元送寄存器22MOV direct,@Ri内部RAM单元送直接寻址单元22MOV@Ri,direct直接寻址单元送内部RAM单元22MOV direct2,direct1直接寻址单元送直接寻址单元32MOV DPTR,#data1616位立即数送数据指针32MOVX A,@Ri外部RAM单元送累加器(8位地址)12MOVX@Ri,A累加器送外部RAM单元(8位地址)12MOVX A,@DPTR外部RAM单元送累加器(16位地址)12MOVX@DPTR,A累加器送外部RAM单元(16位地址)12MOVC A,@A+DPTR查表数据送累加器(DPTR为基址)12MOVC A,@A+PC查表数据送累加器(PC为基址)12XCH A,Rn累加器与寄存器交换11算术运算类指令XCH A,@Ri累加器与内部RAM单元交换11XCHD A,direct累加器与直接寻址单元交换21XCHD A,@Ri累加器与内部RAM单元低4位交换11SWAP A累加器高4位与低4位交换11POP direct栈顶弹出指令直接寻址单元22PUSH direct直接寻址单元压入栈顶22ADD A,Rn累加器加寄存器11ADD A,@Ri累加器加内部RAM单元11ADD A,direct累加器加直接寻址单元21ADD A,#data累加器加立即数21ADDC A,Rn累加器加寄存器和进位标志11ADDC A,@Ri累加器加内部RAM单元和进位标志11ADDC A,#data累加器加立即数和进位标志21ADDC A,direct累加器加直接寻址单元和进位标志21INC A累加器加111INC Rn寄存器加111INC direct直接寻址单元加121INC@Ri内部RAM单元加111INC DPTR数据指针加112DA A十进制调整11SUBB A,Rn累加器减寄存器和进位标志11SUBB A,@Ri累加器减内部RAM单元和进位标志11SUBB A,#data累加器减立即数和进位标志21SUBB A,direct累加器减直接寻址单元和进位标志21DEC A累加器减111DEC Rn寄存器减111DEC@Ri内部RAM单元减111DEC direct直接寻址单元减121MUL AB累加器乘寄存器B14DIV AB累加器除以寄存器B14ANL A,Rn累加器与寄存器11逻辑运算类指令ANL A,@Ri累加器与内部RAM单元11ANL A,#data累加器与立即数21ANL A,direct累加器与直接寻址单元21ANL direct,A直接寻址单元与累加器21ANL direct,#data直接寻址单元与立即数31ORL A,Rn累加器或寄存器11ORL A,@Ri累加器或内部RAM单元11ORL A,#data累加器或立即数21ORL A,direct累加器或直接寻址单元21ORL direct,A直接寻址单元或累加器21ORL direct,#data直接寻址单元或立即数31XRL A,Rn累加器异或寄存器11XRL A,@Ri累加器异或内部RAM单元11XRL A,#data累加器异或立即数21XRL A,direct累加器异或直接寻址单元21XRL direct,A直接寻址单元异或累加器21XRL direct,#data直接寻址单元异或立即数32RL A累加器左循环移位11RLC A累加器连进位标志左循环移位11RR A累加器右循环移位11RRC A累加器连进位标志右循环移位11CPL A累加器取反11CLR A累加器清零11ACCALL addr112KB范围内绝对调用22AJMP addr112KB范围内绝对转移22LCALL addr162KB范围内长调用32LJMP addr162KB范围内长转移32SJMP rel相对短转移22JMP@A+DPTR相对长转移12RET子程序返回12RET1中断返回12控制转移类指令JZ rel累加器为零转移22JNZ rel累加器非零转移22CJNE A,#data,rel累加器与立即数不等转移32CJNE A,direct,rel累加器与直接寻址单元不等转移32CJNE Rn,#data,rel寄存器与立即数不等转移32CJNE@Ri,#data,rel RAM单元与立即数不等转移32DJNZ Rn,rel寄存器减1不为零转移22DJNZ direct,rel直接寻址单元减1不为零转移32NOP空操作11MOV C,bit直接寻址位送C21MOV bit,C C送直接寻址位21CLR C C清零11CLR bit直接寻址位清零21CPL C C取反11CPL bit直接寻址位取反21SETB C C置位11SETB bit直接寻址位置位21布尔操作类指令ANL C,bit C逻辑与直接寻址位22ANL C,/bit C逻辑与直接寻址位的反22ORL C,bit C逻辑或直接寻址位22ORL C,/bit C逻辑或直接寻址位的反22JC rel C为1转移22JNC rel C为零转移22JB bit,rel直接寻址位为1转移32JNB bit,rel直接寻址为0转移32JBC bit,rel直接寻址位为1转移并清该位32。

MCS51单片机时钟与复位电路

MCS51单片机时钟与复位电路
一、时钟的基本概念
1.单片机的工作原理:
取一条指令、译码、进行微操作,再取一条指令、译码、
进行微操作,这样自动地、—步一步地由微操作按次序完成 相应指令规定的功能。单片机的时钟信号用来为单片机芯片
内部的各种微操作提供时间基准,机器启动后,指令的执行
顺序如下图所示:
取指
分析
执行
2.概念
⑴ 时序:各指令的微操作在时间上有严格的次序,这
2020/1/3
15
复位后各寄存器的初态如下表4-1所示,其意义为: ⑴ P0~P3=FFH,相当于各口锁存器已写入1,此时可用于输出/输入; ⑵ SP=07H,堆栈指针指向片内RAM的07H单元(第一个入栈内容将写入 08H中); ⑶ IP、IE和PCON的有效值为0,各中断源处于低优先级且均被关断,串 行通信的波特率不加倍; ⑷ PSW=00H,当前工作寄存器为0组。
2020/1/3
14
Байду номын сангаас
第4节 MCS-51系列单片机的复位与掉电处理
一、复位与复位电路 1.复位:是单片机的初始化操作,以便使CPU和系统中其 他部件都处于一个确定的状态,并从这个状态开始工作。
当单片机系统在运行出错或操作错误使系统处于死 锁存时,也可按复位键重新启动。
单片机复位后,PC内容初始化为0000H,那么单片机 就从0000H单元开始执行程序。片内RAM为随机值,运行 中的复位操作不改变片内RAM的内容。
2020/1/3
8
4. 指令周期 是CPU执行一条指令所需要的时间为指令周期。 MCS-51单片机指令包含1个或2个或4个机器周期。 若采用6MHz晶振,则振荡周期为1/6μs,机器周期为
2μs、4μs或8μs。

MCS51单片机时序

MCS51单片机时序

S1
S1
P1P2 S2 S3 S4 S5 S6 P1P2 S2 S3 S4 S5 S6
ALE
读操作码
读下一个操作码(丢弃)
单字节单周期指令
S1 S2 S3 S4 S5 S6 S1
例:INC A
读操作码 读第二个字节
双字节单周期指令
S1 S2 S3 S4 S5 S6 S1
例:ADD A,DATA
读操作码
一、片内振荡器及时钟信号的产生
8051芯片内部有一个高增益反相放大器,用于构成振 荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分 别是8051的19脚和18脚。
在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以 构成稳定的自激振荡器。电容器C1和C2通常取30pF左右, 对 振 荡 频 率 有 微 调 作 用 。 振荡 频 率 范围 是 0.5MHz-16MHz
提供定时信号的振荡源的周期; 计算机中最基本的时间单位。
时钟周期:
1个时钟周期=2个振荡周期; 分为P1节拍和P2节拍; P1节拍通常完成算术逻辑操作; P2节拍完成内部寄存器间的传送。
机器周期*:
1个机器周期 = 12个振荡周期 CPU访问存储器一次所需的时间; 执行一条指令需要的时间以机器周期为单位。
指令的字节数指指令的存储长度,在进行程序跳转时用 于计算跳转的偏移量。
指令的周期数指指令的运行时间,决定了指令执行的速 度,同时在定时时要用于计算实际定时时间。
CPU取指、执行周期时序
每一条指令都可以包括取指和执指两个阶段。 在取指阶段,CPU从内部或者外部ROM中取出指令操作 码及操作数,然后再执行这条指令。 在8051指令系统中,根据各种操作的繁简程度,其指 令可由单字节、双字节和三字节组成。从机器执行指令速 度看,单字节和双字节指令都可能是单周期或双周期的, 而三字节指令都是双周期的,只有乘、除指令占四个周期。 此外,在6MHz时钟频率下,执行一条指令的时间(指 令周期)分别为2μs,4μs和8μs。

MCS51单片机的指令时序

MCS51单片机的指令时序

单片机时序图MCS51单片机的指令时序接下来我们分别对几个典型的指令时序加以说明。

·单字节单周期指令:单字节单周期指令只进行一次读指令操作,当第二个ALE信号有效时,PC并不加1,那么读出的还是原指令,属于一次无效的读操作。

·双字节单周期指令:这类指令两次的ALE信号都是有效的,只是第一个ALE信号有效时读的是操作码,第二个ALE信号有效时读的是操作数。

·单字节双周期指令:两个机器周期需进行四读指令操作,但只有一次读操作是有效的,后三次的读操作均为无效操作。

单字节双周期指令有一种特殊的情况,象MOVX这类指令,执行这类指令时,先在ROM 中读取指令,然后对外部数据存储器进行读或写操作,头一个机器周期的第一次读指令的操作码为有效,而第二次读指令操作则为无效的。

在第二个指令周期时,则访问外部数据存储器,这时,ALE信号对其操作无影响,即不会再有读指令操作动作。

上页的时序图中,我们只描述了指令的读取状态,而没有画出指令执行时序,因为每条指令都包含了具体的操作数,而操作数类型种类繁多,这里不便列出,有兴趣的读者可参阅有关书籍时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。

·节拍与状态:我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。

·机器周期:MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,显然,如果使用6MHz的时钟频率,一个机器周期就是2us,而如使用12MHz的时钟频率,一个机器周期就是1us。

MCS-51指令的执行过程

MCS-51指令的执行过程

MOV A,#09H
74H 09H
程序计数器
;把09H送到累加器A中,双字节单周期指令
地址寄存器 外部地址总线AB
0002H PC= 0000H 0001H
内 部 数 据 总 线
0000H
存 储 器
(PC 0 0 0 0 1 0 0 1 0000H 0 1 1 1 0 1 0 0
地址 译码
指令的处理都包 括取指(取操作 码或操作数)和 执行(指令的逻 辑功能)两个阶 段,每出现一次 ALE信号,CPU 就进行一次取指 操作
寄存器区 数据缓冲器 内部控制信号 指令 寄存器 译码 外部数据总线DB
时钟及清零
外部控制总线CB
复位电路
⒈ 复位操作
其主要功能是把PC初始化为0000H,使单片微机从0000H单元 开始执行程序。当由于程序运行出错或操作错误使系统处于死 锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通 过监视定时器来强迫复位。
除PC之外,复位操作还对其它一些特殊功能寄存器有影响, 它们的复位状态见。 复位操作还对单片微机的个别引脚信号有影响。例如在复位期 间,ALE和PSEN信号变为无效状态。 复位不影响RAM内容。使PC指向0000H,重新执行程序。
1、复位电路
RST引脚是复位信号的输入端。复位信号是高电平有效, 其有效时间应持续24个振荡周期(即2个机器周期) 以上。 若使用频率为6MHz的晶振,则复位信号应持续4µs以上。 产生复位信号的电路逻辑图如图所示。 复位操作有上电自动复位、按键电平复位和外部脉冲复 位三种方式
寄存器的复位状态

PC
PSW SP
复位不影响片内RAM存放的内容。
寄存器的复位状态

MCS-51单片机指令全总结

MCS-51单片机指令全总结

MCS-51单片机指令全总结MCS-51单片机指令全总结MCS-51单片机指令总结(1)操作数中有direct、#data、bit的都是2字节指令;(2)在操作数中没有以上三个变量却有@标志的都是1字节指令;(3)凡是3字节指令的都是两周期的指令;(4)乘除是单字节四周期的指令;(5)字节调用指令、字节/位转移指令、字节/位逻辑指令、进/出栈指令、返回指令、INCDPTR、MOVdirect,Rn、MOVRn,direct、MOVdirect,@Ri、MOV@Ri,direct、MOVX(外部数据)以及MOVC(程序寄存器)都是2周期指令;(6)凡是direct、#data在一起的,数值比较转移指令(CJNE)、减1条件转移指令(DJNZ)、位条件转移指令(JB/JNB)、位条件清0转移指令(JBC)、长调用指令(LCALL)、长转移指令(LJMP)、MOVDPTR,#data16都是3字节指令;(7)绝对调用指令(ACALL)、绝对转移指令(AJMP)、减1条件转移指令(DJNZ)、累加器位条件转移指令(JC/JNC)、判0转移指令(JZ/JNZ)、短转移指令(SJMP)都是2字节指令;(8)其他指令都是1字节1周期指令,所有指令中无3周期指令;以上即51单片机所有指令的汇总,如有不足,敬请指正。

20xx-10-20扩展阅读:MCS-51单片机学习及其心得MCS-51单片机学习及其心得机械电子工程学院09电子(2)班曹小迪20xx1033023620xx-20xx上学年我们专业开设了MCS-51单片机的原理及接口技术这么专业课程,对于电子专业学生的我们是非常有必要的。

单片机是一切自动智能电子产品必须具备的一个不可或缺的控制中枢系统。

通俗点讲就是电子产品的“大脑”。

所以学习单片机对于做电子设计的我们来说有着远的意义。

MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。

MCS-51单片机的指令时序

MCS-51单片机的指令时序

MCS-51单片机的指令时序
时序是用定时单位来描述的,MCS-51 的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。

节拍与状态:我们把振荡脉冲的周期定义为节拍(为方便描述,用P 表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号
的周期定义为状态(用S 表示),这样一个状态就有两个节拍,前半周期相应
的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。

机器周期:MCS-51 有固定的机器周期,规定一个机器周期有6 个状态,分别表示为S1-
S6,而一个状态包含两个节拍,那么一个机器周期就有12 个节拍,我们可以
记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包含12 个振荡脉冲,即机器周期就是振荡脉冲的12 分频,显然,如果使用6MHz 的时钟频率,一个机
器周期就是2us,而如使用12MHz 的时钟频率,一个机器周期就是1us。

指令周期:执行一条指令所需要的时间称为指令周期,MCS-51 的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同,也就是说它们所需的机器
周期不相同,可能包括一到四个不等的机器周期(这些内容,我们将在下面的
章节中加以说明)。

MCS-51 的指令时序:MCS-51 指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。

执行这些指令需要的时间是
不同的,也就是它们所需的机器周期是不同的,有下面几种形式:单字节指令单机器周期单字节指令双机器周期双字节指令单机器周期
双字节指令双机器周期三字节指令双机器周期单字节指令四机器周期(如单
字节的乘除法指令) 下图是MCS-51 系列单片机的指令时序图:。

MCS51单片机基础知识

MCS51单片机基础知识

MCS-51单片机的基本结构XTAL1XTAL2VCC VSSMCS-51单片机的基本结构:1、微处理器CPU :为8位的CPU ,且内含一个1位CPU (布尔处理器),不仅可以处理字节数据,还可以进行位变量的处理。

2、内部数据存储器(RAM ):128字节片内RAM 。

(8052系列为256字节)3、内部程序存储器(ROM/EPROM/):8031无此器件,8051为4KROM ,8751为4KEPROM 。

4、定时器/计数器:内含2个16位定时/计数器,具有四种工作方式。

5、串行口:1个全双工的串行口,具有四种工作方式。

6、中断控制系统:具有5个中断源,2级中断优先权。

7、P0、P1、P2、P3:为4个并行8位I/O 口。

8、特殊功能寄存器(SFR ):共有21个,用于对片内各功能模块进行管理、控制、监视。

实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM 区。

12346758910111213144039383735343633323130292827P1.0P1.1P1.4P1.3P1.2P1.5RST/VPD P1.7P1.6RXD P3.0TXD P3.1T0 P3.4T1 P3.5Vcc P0.0P0.3P0.2P0.1P0.4P0.6P0.5P0.7P2.7PSEN P2.6EA/VPP ALE/PROG 151617181920WR P3.6RD P3.7XTAL1XTAL2VSS262524232121P2.5P2.1P2.2P2.0P2.4P2.3INTO P3.2INT1 P3.389C511、电源、时钟电路VCC(40脚)—+5V电源VSS(20脚)—地XTAL1(19脚)—芯片内部振荡电路(单级反相放大器)输入端。

XTAL2(18脚)—芯片内部振荡电路(单级反相放大器)输出端。

MCS-51的时钟可由内部方式或外部方式产生。

1)内时钟方式利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件,内部振荡器便能产生自激振荡,用示波器便可以观察到XTAL2输入的正弦波,定时元件可以采用石英晶体和电容组成的并联谐振电路,连接方法如图2.2(a)所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MCS-51单片机的指令时序时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。

·节拍与状态:我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。

·机器周期:MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,显然,如果使用6MHz的时钟频率,一个机器周期就是2us,而如使用12MHz的时钟频率,一个机器周期就是1us。

·指令周期:执行一条指令所需要的时间称为指令周期,MCS-51的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同,也就是说它们所需的机器周期不相同,可能包括一到四个不等的机器周期(这些内容,我们将在下面的章节中加以说明)。

·MCS-51的指令时序:MCS-51指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。

执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式:·单字节指令单机器周期·单字节指令双机器周期·双字节指令单机器周期·双字节指令双机器周期·三字节指令双机器周期·单字节指令四机器周期(如单字节的乘除法指令)下图是MCS-51系列单片机的指令时序图:上图是单周期和双周期取指及执行时序,图中的ALE脉冲是为了锁存地址的选通信号,显然,每出现一次该信号单片机即进行一次读指令操作。

从时序图中可看出,该信号是时钟频率6分频后得到,在一个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间。

接下来我们分别对几个典型的指令时序加以说明。

·单字节单周期指令:单字节单周期指令只进行一次读指令操作,当第二个ALE信号有效时,PC并不加1,那么读出的还是原指令,属于一次无效的读操作。

·双字节单周期指令:这类指令两次的ALE信号都是有效的,只是第一个ALE信号有效时读的是操作码,第二个ALE信号有效时读的是操作数。

·单字节双周期指令:两个机器周期需进行四读指令操作,但只有一次读操作是有效的,后三次的读操作均为无效操作。

单字节双周期指令有一种特殊的情况,象MOVX这类指令,执行这类指令时,先在ROM中读取指令,然后对外部数据存储器进行读或写操作,头一个机器周期的第一次读指令的操作码为有效,而第二次读指令操作则为无效的。

在第二个指令周期时,则访问外部数据存储器,这时,ALE信号对其操作无影响,即不会再有读指令操作动作。

上页的时序图中,我们只描述了指令的读取状态,而没有画出指令执行时序,因为每条指令都包含了具体的操作数,而操作数类型种类繁多,这里不便列出,有兴趣的读者可参阅有关书籍。

·外部程序存储器(ROM)读时序中可看出,P0口提供低8位地址,P2口提供高8位地址,S2结束前,P0口上的低8位地址是有效的,之后出现在P0口上的就不再是低8位的地址信号,而是指令数据信号,当然地址信号与指令数据信号之间有一段缓冲的过度时间,这就要求,在S2其间必须把低8位的地址信号锁存起来,这时是用ALE选通脉冲去控制锁存器把低8位地址予以锁存,而P2口只输出地址信号,而没有指令数据信号,整个机器周期地址信号都是有效的,因而无需锁存这一地址信号。

从外部程序存储器读取指令,必须有两个信号进行控制,除了上述的ALE信号,还有一个PSEN(外部ROM读选通脉冲),上图显然可看出,PSEN从S3P1开始有效,直到将地址信号送出和外部程序存储器的数据读入CPU后方才失效。

而又从S4P2开始执行第二个读指令操作。

·外部数据存储器(RAM)读时序右图8051外部数据存储器读写时序图,从ROM中读取的需执行的指令,而CPU对外部数据存储的访问是对RAM进行数据的读或写操作,属于指令的执行周期,值得一提的是,读或写是两个不同的机器周期,但他们的时序却是相似的,我们只对RAM的读时序进行分析。

上一个机器周期是取指阶段,是从ROM中读取指令数据,接着的下个周期才开始读取外部数据存储器RAM中的内容。

在S4结束后,先把需读取RAM中的地址放到总线上,包括P0口上的低8位地址A0-A7和P2口上的高8位地址A8-A15。

当RD选通脉冲有效时,将RAM的数据通过P0数据总线读进CPU。

第二个机器周期的ALE信号仍然出现,进行一次外部ROM的读操作,但是这一次的读操作属于无效操作。

对外部RAM进行写操作时,CPU输出的则是WR(写选通信号),将数据通过P0数据总线写入外部存储使用ALE信号作为低8位地址的锁存控制信号。

ALE接到外部锁存器时,高电平期间,51的p0输出地址,低电平时锁存器将地址锁存,在ALE低电平时,(PSEN为低)p0口可以传输数据(指令),这样就可以地址/数据复用了。

以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平有效,以实现对ROM 的读操作。

以EA信号作为内外程序存储器的选择控制信号,当其为低电平时,对ROM的读操作限定在外部的程序存储器,当其为高电平时, 对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器.由RD和WR信号作为扩展数据存储器和I/O口的读选通、写选通信号。

EA信号是表示是当前指令是读内,还是外存储器的控制信号。

如:当选用无片内存储器的单片机,或者不打算用片内存储器时,EA必须接低电平,此外,片外程序存储器的起始地址应该安排在片内存储器之后。

RD和WR信号就相对好理解,就是当读数据时(不分内外、RAM、ROM)它就有效。

WR也是这样的。

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与程序选通信号PSEN(即取消取指操作),使P0口专门用于传送数据。

同时发读信号,通过P0口将外部数据存储单元中的数据传送到累加器A中。

即:时序图的S6P2到S4P1阶段。

(3)由于锁存的地址为外部数据存储单元的地址,所以在第二个机器周期S4取消取指令的操作,即:不再发程序选通信号PSEN 。

注:由于执行MOVX指令时,在第二个机器周期中要少发一次ALE信号,所以ALE的频率是不稳定的。

晶振电路—单片机的心脏2011-06-03 12:59晶振电路的原理晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。

由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。

这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。

晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。

一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。

一般的晶振的负载电容为15p或12.5p ,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。

晶体振荡器也分为无源晶振和有源晶振两种类型。

无源晶振与有源晶振(谐振)的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。

无源晶振需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振是一个完整的谐振振荡器。

谐振振荡器包括石英(或其晶体材料)晶体谐振器,陶瓷谐振器,LC谐振器等。

晶振与谐振振荡器有其共同的交集有源晶体谐振振荡器。

石英晶片所以能做振荡电路(谐振)是基于它的压电效应,从物理学中知道,若在晶片的两个极板间加一电场,会使晶体产生机械变形;反之,若在极板间施加机械力,又会在相应的方向上产生电场,这种现象称为压电效应。

如在极板间所加的是交变电压,就会产生机械变形振动,同时机械变形振动又会产生交变电场。

一般来说,这种机械振动的振幅是比较小的,其振动频率则是很稳定的。

相关文档
最新文档