壹:单片机的内部资源

2019-04-15 19:31发布

这里写图片描述
大概讲解
中央处理器是8位的,里面很多寄存器都是8位,决定了是一个8位的单片机。
数据总线也是8位的,跟图中的很多模块相连。
ROM:可以保存程序,即51单片机可以把程序下载到这里。
RAM:程序在运行过程中可能用到一些变量,这里用到RAM,掉电丢失,但是访问速度非常快。
振荡器:由外部晶振电路产生一个波,给中央处理单元一个时钟,驱使中央处理器开始工作。所以时钟的快慢也会影响中央处理器的速度。
总线控制器:控制外部总线的,可控制外部的ROM,当内部ROM不够用时,可以通过总线控制器连接外部ROM来扩充程序存储空间。
4个输入/输出口:P0,P!,P3,P4,每个口8个引脚,一共32个引脚。
串行口:一个TxD(往外发送数据),一个RXD(往内接收数据)。方便51单片机与外部进行通信。
定时器:如图。
中断控制器:接收外部和内部中断。

程序存储器

这里写图片描述 如图,a表示8x51的ROM,内部ROM只有4K,当内部ROM不够用时,可以将EA置0,用外部的ROM,地址范围从000H~FFFH,即外部扩充的大小为64K。(8x52同理)

数据存储器

这里写图片描述

其他模块

  • 定时器/计数器:2个定时器/计数器T0和T1,每个定时/计数器都可以作为定时功能使用,或者作为计数功能使用(对外部脉冲信号进行计数);
  • 串行口:1个全双工口(即UART),TxD线用于发送数据,RxD线用于接收数据;
  • 4个输入/输出口:P0、P!、P2和P3,每个端口均为8位,都可进行位寻址;
  • 总线控制器:用于控制是否访问外部的程序存储器还是外部的数据存储器;
  • 中断控制器:一共5个中断源,即2个外部中断源:INT0和INT1,3个内部中断源:T0、T1、串口中断(RXD和TXD共用一个串口中断);
  • 振荡器:提供时钟脉冲信号,驱使中央处理单元工作,脉冲频率越高,中央处理单元工作越快。
    比如51单片机的晶振是12MHz,51单片机的一条指令需要12个周期,那么运行速度大概就是1MHz,运行一个单周期(机器周期)的指令需要的时间大概是1us。
    注:51单片机一个机器周期等于12个时钟周期
    扩展:RAM7(32位),三级流水线 ,工作速度可以达到60MHz,60x3=120几乎是51的120倍。(晶振+内部设计)

51单片机详细内部结构

这里写图片描述 这里写图片描述
这里写图片描述 与CPU相关的寄存器包括:
程序计数器PC
累加器A
通用状态寄存器PSW
堆栈指针SP
数据指针DPTR
其他的寄存器就与具体模块相关 程序状态寄存器PSW(Program Status Word)
PSW是一个8位标志寄存器,它的不同位存放了指令执行后有关状态,其各位格式和意义描述如下:
D7
D6
D5
D4
D3
D2
D1
D0
CY
AC
F0
RS1
RS0
OV
P
**CY(Carry)**:进位标志位 主要用于加减运算时最高位有误进位或借位 **AC(Auxiliary Carry)**:辅助进位标志 当进行加法或减法操作是,如低四位向高四位有进位或借位时,则AC = 1,否则AC = 0; **F0(Flag Zero)**:用户标志位 **RS1、RS0**:工作寄存器组选择为 **OV(Overflow)**:溢出标志位 **P(Parity)**:奇偶标志位