null1 MCS-51单片机硬件结构1 MCS-51单片机硬件结构MCS-51系列基本产品型号:
8051、8031、8751称为 51子系列。
不同型号MCS-51单片机CPU处理能力和指令系统完全兼容,只是存储器和I/O接口的配置有所不同。 1-1 MCS-51总体结构1.1.2 MCS-51单片机的系统结构1.1.2 MCS-51单片机的系统结构 MCS-51单片机系统结构示意图下一页MCS-51单片机的组成MCS-51单片机的组成(1)一个8位微处理器CPU。
(2)数据存储器RAM和特殊功能寄存器SFR。
(3)内部程序存储器ROM。
(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。
(6)一个串行端口,用于数据的串行通信。
(7)中断控制系统。
(8)内部时钟电路。下一页MCS-51单片机内部结构MCS-51单片机内部结构1.1.3 MCS-51单片机的引脚定义1.1.3 MCS-51单片机的引脚定义1、输入输出口:P0、P1、P2、P3
2、RST(复位)/ VPD(后备电源引入端)
3、EA (读内/外ROM控制)/Vpp(编程电压)
4、ALE(地址低8位锁存)/ PROG(编程脉冲)
5、PSEN 外部ROM读选通信号
6、XTAL1、XTAL2 外接晶振端
7、Vcc +5v电源
8、Vss 地
9、P3口的第二功能返回本节null上一页nullMCS-51单片机存储器容量返回本节null
地址总线宽度为16位,
由P0口经地址锁存器提供低8位地址(A0-A7);
P2口直接提供高8位地址(A8~A15
地址总线是单方向的。
返回本章首页(1)地址总线(AB)null(2)数据总线(DB):
数据总线宽度为8位,
用于传送数据和指令,由P0口提供。
(3)控制总线(CB):控制总线随时掌握各种部件的状态,并根据需要向有关部件发出命令。
1-2 MCS-51 CPU1-2 MCS-51 CPU(一) CPU内部结构
1.算术逻辑运算单元ALU (8位)
+、–、×、÷算术运算,与、或、非、异或 逻辑运算、循环移位、位处理。1.寄存器阵列
(1)工作寄存器R0~R7 (8位)
暂存运算数据和中间结果。
4个工作寄存器区,工作寄存器0区~3区。每个区均含8个寄存器R0~R7 。
用PSW中的两位PSW.4和PSW.3来切换工作寄存器区,选用一个工作寄存器区进行读写操作。null(3)寄存器B(8位)
与A累加器配合执行乘、除运算。也可用作通用寄存器。
(4)程序状态字PSW(8位)
存放ALU运算过程的标志状态
Cy AC F0 RS1 RS0 OV — P
(5)数据指针DPTR(16位)
存放片外存储器地址,作为片外存储器的指针。可分成两个8位寄存器DPH、DPL使用。(2)累加器Acc(8位)
需要ALU处理的数据和计算结果多数要经过A累加器。1.寄存器阵列PSWPSW(1)CY:进位标志
例:78H+97H(01111000+10010111)
(2)AC:半进位标志。
例:57H+3AH(01010111+00111010)
(3)F0:用户标志位,由编程人员决定什么时候用,什么时候不用。(5)0V:溢出标志位(5)0V:溢出标志位
OV=Cy7ÅCy6,补码运算产生溢出OV=1,否则OV=0。
对于一个字节的有符号数,如果运算结果超出了
-128~+127这个数值范围,就会发生溢出,
OV=1表示两正数相加,和变成负数,
或两负数相加,和变成正数的错误情况
此外,在乘法运算中,OV=1表示乘积超过255;
在除法运算中,OV=1表示除数为0。
null
(4)RS1、RS0:
工作寄存器组选择位
(5)P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。
例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。
(6)堆栈指针SP(8位)(6)堆栈指针SP(8位)(7)程序计数器PC(16位)
CPU总是按PC的指示读取程序。PC可自动加1。因此CPU执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。
复位时,PC=0000H。堆栈是按“先进后出”原则存取数据的存储区。
MCS-51堆栈设在片内RAM区。数据入栈/出栈时,SP自动加1/减 1,其内容始终为栈顶地址。
复位时 SP=07H。1.2 MCS-51单片机的片外总线结构1.2 MCS-51单片机的片外总线结构图2-8 MCS-51片外总线结构示意图 下一页1-3 MCS-51存储器配置1-3 MCS-51存储器配置普林斯顿结构:程序和数据共用一个存储器逻辑空间,统一编址。
哈佛结构:程序与数据分为两个独立存储器逻辑空间,分开编址。null物理上4个存储器地址空间:
片内/片外程序存储器空间
片内/片外数据存储器空间
逻辑上3个存储器地址空间:
64KB 程序存储器
256B 片内数据存储器
64KB 片外数据存储器 1-3 MCS-51存储器配置 1-3 MCS-51存储器配置 (一)程序存储器
64KB 程序存储器空间
EA不同电平,选择片内或片外低位存储单元 特殊存储单元:
复位入口: 0000H
中断入口:
0003H~0023Hnull中断入口:
0003H~0023H
0000H ~ 0002H 无条件转移指令
0003H ~ 000AH INT0中断地址区
000BH ~ 0012H T0中断地址区
0013H ~ 001AH INT1中断地址区
001BH ~ 0022H T1中断地址区
0023H ~ 002AH 串行中断地址区 (二)数据存储器
(二)数据存储器
1. 64KB片外数据存储器空间
(与扩展I/O接口共用)
256B片内数据存储器:
1) 片内RAM
2) 特殊功能寄存器 SFR(二)数据存储器(二)数据存储器1. 256B片内数据存储器
1)片内RAM
工作寄存器区:
字节地址:00H~1FH
位寻址区:
字节地址:20H~2FH
位地址为:00H~7FH
数据缓冲区/堆栈区:
字节地址:00H~7FH
一般使用30H~7FH(二)数据存储器(二)数据存储器1. 256B数据存储器空间
2)特殊功能寄存器SFR
占用字节地址:80H~FFH
位寻址寄存器:
其字节地址可被8整除。
专用寄存器:
A、B、PSW、DPTR、SP
I/O接口寄存器:
P0、P1、P2、P3、SBUF、TMOD、TCON、SCON …null片内RAM1.4.1 单片机的时钟1.4.1 单片机的时钟单片机工作的时间基准
1.内部时钟方式:内部一个高增益反相放大器与片外石英晶体或陶瓷谐振器构成了一个自激振荡器。
晶体振荡器的振荡频率决定单片机的时钟频率。
2.外部时钟方式:外部振荡器输入时钟信号。
由于此时的外接引脚上没有晶振信号输入,内部的时钟电路将停振
null 图1 内部振荡方式 图2 外部振荡方式返回单片机的时钟电路null1.振荡周期:为单片机提供时钟信号的振荡源的周期。
2.机器周期:通常将完成一个基本操作所需的时间称为机器周期。
一个机器周期由12个振荡周期组成。
3.指令周期:是指CPU执行一条指令所需要的时间。
一个指令周期通常含有1~4个机器周期。
以机器周期为单位:单周期、双周期和四周期指令。
指令的运算速度和他的及其周期数有直接的关系
下一页1.4.2 振荡周期、时钟周期、机器周期和指令周期1.4.2 振荡周期、机器周期和指令周期 MCS-51单片机各种周期的相互关系1.4.2 振荡周期、机器周期和指令周期下一页null若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:
振荡周期=1/12MHz=1/12μs=0.0833μs
机器周期=1μs
指令周期=1~4μs返回本节1.4.3 单片机的复位1.4.3 单片机的复位让单片机系统于正式工作前处于一种特定的状态。只有以该状态为起点,随时的工作情况才有可能是正常与可靠的。
与计算机的重启的概念是一样的。
目的:使单片机系统的整个操作同步
如何进行复位?
在单片机的RST引脚上加上高电平,时间不少于5ms。
几种复位电路几种复位电路null返回单片机复位后的状态
单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表所示表 单片机复位后特殊功能寄存器的状态基于单片机系统的LED电路基于单片机系统的LED电路1、 电源:
2、 振蒎电路:
3、 复位引脚:
4、 EA引脚:按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。
程序:控制p1.0上二极管的闪烁程序:控制p1.0上二极管的闪烁Org 00h
Start:mov p1,#00h
Call delay
Mov p1,#0ffh
Call delay
Jmp start
Delay:mov r3,#50
D1: mov r4,#20
D2: mov r5,#248
djnz r5,$
djnz r4,D2
djnz r3,D1
Ret
end
流水灯问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
:流水灯问题:如何实现8只发光二极管做从右到左“流水”动作的端口输出情况?