51单片机结构组成相关知识点

51单片机

一、结构组成

内部结构

  • 8位CPU
  • 1个片内振荡器和时钟电路
  • 4KB片内程序存储(ROM)
  • 256字节(2KB)片内数据存储(RAM)
  • 2个16位定时/计数器(T/C)
  • 可寻址64KB 程序存储空间 + 64KB数据存储空间的总线计数器
  • 4个8位双向并行IO口
  • 1个全双工串行口
  • 5个中断源

控制器

  1. 程序计数器PC:16位,存放下一条执行指令的首地址(这个地址指向的是程序存储空间0000H~0FFFH为片内 的4KB,超出时便转向片外
    系统复位之后自动赋值为0000H。
  2. 指令寄存器IR:8位
  3. 指令译码器ID:对指令寄存器中的指令进行译码,转变为电信号
  4. 数据指针DPTR:16位,由两个8位寄存器(DPH、DPL)拼装而成,
    配合相关指令实现对最高64KB片外RAM和ROM的访问

只要是16位的,必然会涉及到对片外或片内RAM或ROM的访问,这也是为什么片尾RAM和ROM是64KB的原因

运算器

  1. 累加器ACC:8位,存放操作数或中间结果

  2. 通用寄存器B:8位,配合ACC进行乘法或除法运算,也可以当作普通寄存器

  3. 算数逻辑部件ALU:进行运算,结果状态传给PSW

  4. 程序状态字寄存器PSW :8位,存放运算过程的各种状态信息

    其中:
    CY(PSW7):进位标志位,硬件控制,1表示进位

    AC(PSW6) :辅助进位标志位,如果运算结果的低四位向高四位发生进位,则硬件置1

    F0(PSW5):用户标志位,用户自定义作用
    RS1、RS0 (PSW4,PSW3):工作寄存器组指针。
    OV(PSW2) :溢出标志位,溢出由硬件置1

    F1(PSW1):用户标志位,同F0;
    P(PSW0)奇偶标志位

引脚

51单片机共40个引脚

  1. 电源:V~CC~,接+5V,V~SS~,接地
  2. 外接晶振:XTAL1(19),XTAL(18)
  3. 复位 /备用电源:RST/V~PD~:RST的使用方法是给与足够长时间的脉冲信号
  4. A L E / P R O G ‾ ALE/\overline {PROG} ALE/PROG:地址锁存使能输出 /编程脉冲输入:
    ALE :如果你想输出片外ROM地址,那么给这个引脚高电平可以让你将第八位地址所存到P~0~口。
  5. P S E N ‾ \overline {PSEN} PSEN :29脚,如果你从片外ROM读取指令,这个引脚将会在每个机器周期出现两次负跳变脉冲,用作片外ROM芯片的使能信号
  6. E A ‾ / V p p \overline {EA}/V_{pp} EA/Vpp : 31脚,当 E A ‾ = 1 \overline {EA} = 1 EA=1或者悬空时,CPU从片内ROM读指令。当PC超出4KB范围时会自动访问片外ROM。如果 E A ‾ = 0 \overline {EA} = 0 EA=0或接地时,单片机只会访问片外ROM
  7. IO共32引脚,P0~P3都可以用来输出,P0和P2可以用来输出地址,P3具有第二功能

二、单片机的存储结构

存储器划分方法

51单片机物理上共4个存储空间,分别是:

  • 片内ROM: E A ‾ = 1 \overline {EA} = 1 EA=1时访问,共4KB
  • 片内RAM:共256B
  • 片外ROM: E A ‾ = 0 \overline {EA} = 0 EA=0时访问,加上片外的60KB共64KB
  • 片外RAM:共64KB

逻辑上只有三个,因为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(00H~7FH)**区为**普通寄存器区域**,高**128B(80H~FFH)特殊功能寄存器区域,但是只有21字节有定义

低128B RAM区
  • 在低128B 的RAM区域中,具有00H~1F共32个单元(字节),分成四组,每组有8个单元(字节)作为寄存器,受到PSW中的RS1和RS2来选定其中的分组。复位后默认第0组。
  • **20H~2FH**地址区域可以按**字节存取或者按位存取**。按位编址为00H~7FH
  • 30H~7FH的80字节单元为用户RAM区,只能按字节存取
高128B RAM区

字节地址为80H~FFH。

三、单片机的复位与时序

单片机复位

复位条件:RST引脚出现满足复位时间的高电平。

复位后,除了SP的值回复为07H以及所有IO变为FFH,其他寄存器有意义的值全部变为0

单片机时序
  • 单片机执行指令的过程:取指令、分析指令、执行指令
  • 时钟信号的两种产生方式:内部时钟,外部时钟 方式。
    内部时钟:
    需要XTAL1和XTAL2两个引脚连接震荡电路;
    C1和C2取值一般为30pF;
    震荡频率越高,时钟频率越高,运行速度越快;
    外部时钟:多个单片机一起工作的时候,如果想要保证所有单片机时钟频率一致
    需要连接XTAL2到公用的外部震荡信号上,XTAL1接地。
时钟周期

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/时钟频率

晶振频率f~OSC~,与其他的周期关系:
时钟周期 = 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触发器、负边沿D触发器

正边沿D触发器

当CLK出现正脉冲时会进行D(输入端)和 Q ‾ / Q \overline {Q}/Q Q/Q (输出端)的同步。

负边沿D触发器

与正边沿相反。

四、并行IO口

P1

  • 内部总线的电平可以由P1口输出,也可以所存在P1口中
  • P1口如果想要作为输入口需要先写1 ,作为输出口无条件,因此被称作准双向口

P3

  • 当"第二输出功能 "端保持在"1"状态时,P3口处在通用IO状态 ,称作准双向口
  • 锁存器Q保持"1"时,P3口工作在第二功能口状态

其各个引脚第二功能如下:


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时选通


P0

  • P0口也是准双向口
  • 作为通用IO时,必须外接上拉电阻
  • P0口连接外部存储器时,P0工作在地址/数据 分时复用方式,此时为真正双向口

P2

  • P2口可以实现通用IO地址输出 两种功能,他是真正的双向口

总结:P1~P3无需外接上拉电阻,P0需要外接上拉电阻,P0~P3都可以作为准双向口;当需要外接存储器时,P2可作为地址线接口,P0可作为地址/数据线复用接口,此时它是真正的双向口

相关推荐
hairenjing11237 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
模拟IC攻城狮9 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
IT B业生9 小时前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
一枝小雨9 小时前
51单片机学习心得2(基于STC89C52):串口通信(UART)
单片机·嵌入式硬件·51单片机
IT B业生10 小时前
51单片机教程(一)- 开发环境搭建
单片机·嵌入式硬件·51单片机
海绵波波10712 小时前
Webserver(4.8)UDP、广播、组播
单片机·网络协议·udp
好想有猫猫12 小时前
【51单片机】串口通信原理 + 使用
c语言·单片机·嵌入式硬件·51单片机·1024程序员节
云卓科技12 小时前
无人车之路径规划篇
人工智能·嵌入式硬件·算法·自动驾驶
stm 学习ing13 小时前
C语言 循环高级
c语言·开发语言·单片机·嵌入式硬件·算法·嵌入式实时数据库
w微信1501350781214 小时前
小华一级 代理商 HC32F005C6PA-TSSOP20 HC32F005系列
c语言·arm开发·单片机·嵌入式硬件