S51单片机的内部结构,CPU及时序

 

2016年11月2日 18:13:50

2.3.1内部结构
S51单片机的内部结构如图
包含:中央处理器(CPU)、Flash程序存储器(Flash ROM)、数据存储器(RAM)、定时器/计数器、并行接口、串行接口、中断系统等。-------内部通过总线连接




2.3.2   CPU
主要功能:产生各种控制信号,利用各种特殊功能寄存器设置控制字及反映控制状态,从而控制存储器、输入/输出端口进行数据传送、运算等操作。
CPU从功能上分为:控制器和运算器
1.    控制器---单片机的指挥中心(发布操作命令)
组成:定时控制逻辑、时序电路、指令寄存器、指令译码器、程序计数器PC、PC增量器、堆栈指针SP、DPTR0和DPTR1、转移逻辑电路、RAM地址寄存器等
功能:取出程序存储器的程序指令进行译码,译码的结果发送给定时控制逻辑电路。(定时控制逻辑电路按照规定的时间顺序发出各种操作所需要的一系列的定时和控制信号,是各部件完成指令所规定的功能)
(1)    定时控制逻辑:四个控制引脚的信号(ALE,PSEN非,RST,EA非等)都由该部件发出。
(2)    时序电路:外接的石英晶振与内部反相放大器(XTAL)构成工作主频振荡电路(OSC)。每12个振荡周期为一个机器周期,CPU在进行取指令或读写数据时产生时序控制。
(3)    指令寄存器IR:一个8位的寄存器,用于存放待执行的指令,等待译码
(4)    指令译码器ID:对存入指令寄存器(IR)中的指令进行译码,再经过定时逻辑控制电路,产生该指令所需要的各种控制信号。
(5)    程序计数器PC:一个16位的计数器,用作程序存储器的地址指针,每次仅存放下一条指令的首地址。PC的可寻址空间为64KB。工作方式:CUP读取指令时,PC内容送到地址总线上,根据地址编码从程序存储器中取出指令代码后,PC自动加1,指向下一个条指令。(先取出后加一)
(6)    数据指针DPTR:由两个8位特殊功能寄存器DPH和DPL组成的16位专用寄存器,用作外扩展程序存储器和数据存储器的地址指针,只能采用间接访问方式读/写寄存器。S51设置两个16位的数据指针寄存器。辅助寄存器1(AUXR1)的DPS(AUXR1的最低位)=0,选择DPTR0;=1时,选择DPTR1。在复位时,AUXR1=XXXXXXX0B,所以默认选中DPTR0。-------注:该辅助寄存器仅能字节操作,没有位寻址功能。  MOV AUXR1,#01H---选择了DPTR1
(7)    转移逻辑电路:控制程序的分支转移。



2.    运算器
组成:算数/逻辑运算部件ALU,累加器ACC,寄存器B,暂存器TMP1和TMP2,程序状态字寄存器PSW,堆栈指针SP等
主要功能:实现数据的算数和逻辑运算,二—十进制调整等操作
(1)    算术/逻辑运算部件ALU:8位加法器和其他逻辑电路组成。在控制信号的作用下,累加器A中的内容通过TMP2送入ALU,另一个数通过TMP1送入,有时还包括PSW中的CY(进位标志)等,结果送入累加器A中,再由A通过内部总线送到其他寄存器或存储单元中,同时将运算结果的状态保存在PSW中。   ALU还有位处理功能。——位寻址空间,位操作类指令和位累加器(进位标志),构成布尔处理器。
(2)    累加器ACC、寄存器B:累加器A是操作数寄存器,也是结果寄存器,功能:①ALU的一个操作数,②存放ALU的结果。  CPU与外部寄存器之间传送数据信息时,必须通过A才能进行,所以称之为字节累加器。寄存器B是一个8位特殊功能寄存器,在乘法和除法指令操作中配合ACC一起使用。
(3)    程序状态字寄存器PSW:一个8位的特殊功能寄存器,用于保存当前指令执行后的有关状态。PSW可采用直接寻址,位寻址,通过软件可改变PSW中的各位状态标志。
D7    D6    D5    D4    D3    D2    D1    D0
CY    AC    F0    RS1    RS0    OV    —    P
CY(PSW.7):进位标志位,1时表示有进位
AC(PSW.6):辅助进位标志,当两个八位数进行加减运算时,D3位向D4位有进位则为1,常用于十进制调整。
F0(PSW.5):用户自定义的状态标志位
RS1(PSW.4)、RS0(PSW.3):用于选择片内RAM区的工作寄存器组。有四个工作寄存器组,单片机运行时只有一组运行,其他三组要当作普通RAM存储器单元使用。
OV(PSW.2):溢出标志位,为1时溢出。(D6向D7有进位但D7向CY无进位;D6向D7无进位但D7向CY有进位)
P(PSW.0):奇/偶校验位。A中1的个数为奇数时,P=1
(4)    堆栈指针SP:8位的特殊功能寄存器,数据入栈前SP+1,出栈后SP-1,复位后SP=07H。一般情况下,在片内RAM的30H单元开始建栈。
(5)    其他功能部件:P0~3接口、ISP接口、看门狗、中断系统、定时器/计数器、RAM、Flash等



2.3.3时钟及时序
S51读取和执行指令都是在时钟信号的控制下按节拍顺序进行的,称之为取指/执指的工作时序。
指令周期:执行一条指令所需要的时间。一般由1~4个机器周期组成
机器周期:CPU完成某一个规定操作所需要的时间。由12个振荡周期组成。包括6个状态周期S1~6,每个状态周期分为P1和P2两个节拍
(1)    时钟电路-----单片机的心脏,控制单片机的工作节奏
当外接晶振为12MHZ时,机器周期为1us(1/12*12),6MHZ时,周期为2us.说明时钟信号的频率越高,执行程序指令操作的时间越短。
(2)    指令工作时序
所有指令按机器代码字节长度分为:单字节指令、双字节指令、三字节指令,大多数指令是单机器周期或双机器周期,仅乘法MUL和除法DIV需要4个机器周期来完成。

 

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值