只要是16位的,必然会涉及到对片外或片内RAM或ROM的访问,这也是为什么片尾RAM和ROM是64KB的原因
累加器ACC:8位,存放操作数或中间结果
通用寄存器B:8位,配合ACC进行乘法或除法运算,也可以当作普通寄存器
算数逻辑部件ALU:进行运算,结果状态传给PSW
程序状态字寄存器PSW:8位,存放运算过程的各种状态信息
其中:
CY(PSW7):进位标志位,硬件控制,1表示进位
AC(PSW6):辅助进位标志位,如果运算结果的低四位向高四位发生进位,则硬件置1
F0(PSW5):用户标志位,用户自定义作用
RS1、RS0(PSW4,PSW3):工作寄存器组指针。
OV(PSW2):溢出标志位,溢出由硬件置1
F1(PSW1):用户标志位,同F0;
P(PSW0):奇偶标志位
51单片机共40个引脚
51单片机物理上共4个存储空间,分别是:
逻辑上只有三个,因为EA引脚控制了ROM的片内外寻址,也就是说片内外的ROM逻辑上是一个。
指的是ROM,弄清 E A  ̄ \overline {EA} EA在什么状态下可以访问片内和片外的ROM。
E A  ̄ = 1 \overline {EA} = 1 EA=1的时候,只能访问片内, E A  ̄ = 0 \overline {EA} = 0 EA=0时既可以访问片内也可以访问片外。
指的是RAM,类似于缓存,存放中间变量,标志位等。
片内的RAM只有256B,其中低128B(00H7FH)**区为**普通寄存器区域**,高**128B(80HFFH)为特殊功能寄存器区域,但是只有21字节有定义
字节地址为80H~FFH。
复位条件:RST引脚出现满足复位时间的高电平。
复位后,除了SP的值回复为07H以及所有IO变为FFH,其他寄存器有意义的值全部变为0
P表示,最小的时序单位,其与晶振频率f
的关系如下:
P
=
1
/
f
P = 1/f
P=1/f
一个状态周期由两个时钟周期组成:
1
状态周期
=
P
1
+
P
2
1状态周期 = P1 + P2
1状态周期=P1+P2
一个机器周期由6个状态周期组成。
1
机器周期
=
1
/
时钟频率
1机器周期 = 1/时钟频率
1机器周期=1/时钟频率
晶振频率fOSC,与其他的周期关系:
时钟周期
=
1
/
f
O
S
C
状态周期
=
2
/
f
O
S
C
机器周期
=
12
/
f
O
S
C
指令周期
=
1
?
4
机器周期
时钟周期 = 1/f_{OSC}\\ 状态周期 = 2/f{OSC}\\ 机器周期 = 12/f_{OSC}\\ 指令周期 = 1 ~ 4机器周期
时钟周期=1/fOSC?状态周期=2/fOSC机器周期=12/fOSC?指令周期=1?4机器周期
执行一条指令所需要的时间称为指令周期。1个指令周期由1~4个机器周期组成,指令周期是最大的时序单位。
分为两种:正边沿D触发器、负边沿D触发器
当CLK出现正脉冲时会进行D(输入端)和 Q  ̄ / Q \overline {Q}/Q Q?/Q (输出端)的同步。
与正边沿相反。
其各个引脚第二功能如下:
P3.0 RXD 串行数据输入
P3.1 TXD 串行数据输出
P3.2 I\N\T\0\ 外部中断0
P3.3 I\N\T\1\ 外部中断1
P3.4 T0 定时器/计数器0的外部中断
P3.5 T1 定时器/计数器1的外部中断
P3.6 W\R\ 外部数据储存器的写远通信号,W\R=0时远通
P3.7 R\D\ 外部数据储存器的读选通信号,R\D=0时选通
总结:P1P3无需外接上拉电阻,P0需要外接上拉电阻,P0P3都可以作为准双向口;当需要外接存储器时,P2可作为地址线接口,P0可作为地址/数据线复用接口,此时它是真正的双向口