C51芯片介绍

一、芯片介绍

我所学习的芯片是STC89C52


STC89C52芯片的命名解释

  • STC:表示这是STC公司生产的芯片。

  • 8:表示该芯片是基于8051内核的。

  • 9:表示芯片内部有Flash存储器和EEPROM功能(通过IAP技术实现)。STC89C52没有传统意义上的EEPROM芯片,而是通过内部Flash和IAP技术实现EEPROM功能。内部Flash的特定区域(通常为2KB)被用作非易失性存储,支持按字节擦写。

  • C:表示采用CMOS工艺,具有低功耗的特点,一般是低电压供电。

  • 5:固定不变,是8051系列芯片的特征数字。

  • 2:表示Flash闪存的大小为8KB(2×4KB)。

存储器容量

  • 程序存储器(Flash):STC89C52的程序存储器大小为8KB,用于存储程序代码。

  • 数据存储器(RAM)

    • 内部RAM:256字节,地址范围为0x00~0x7F(低128字节)和0x80~0xFF(高128字节)。

    • 外部RAM:256字节,地址范围为0x0000~0x00FF,通过MOVX指令访问。

    • 总RAM:512字节(256字节内部RAM + 256字节外部RAM)。

扩展:

存储器分为数据存储器(RAM)和程序存储器(ROM)

存储器类型总结

1. RAM(随机存取存储器)
  • 特点:读写速度快,可快速读写数据。

  • 缺点:断电后数据丢失。

  • 用途:用于临时存储程序运行时的变量和中间数据。

  • RAM分为SRAM(静态存储器)和DRAM(动态存储器)。SRAM不需要刷新存储单元,读写更快,适用于需要快速访问数据的嵌入式设备,如智能手机、汽车电子等;DRAM需要刷新存储单元,广泛应用于计算机主存、移动设备、图形卡内存等领域。

2. ROM(只读存储器)
  • 特点:只能读取数据,内容在芯片出厂时固化。

  • 缺点:不可写入,如有错误只能丢弃。

  • 用途:早期用于存储固定程序代码,如电脑BIOS。

3. PROM(可编程只读存储器)
  • 特点:可由用户编程写入数据,但只能写入一次。

  • 缺点:写入后不可修改,如有错误只能丢弃。

  • 用途:用于生产环节中一次性写入程序代码。

4. EPROM(可擦写可编程只读存储器)
  • 特点:可通过紫外线或电擦除后重新编程。

  • 缺点:紫外线擦除需15分钟,且编程次数有限(约1000次)。

  • 用途:上世纪90年代广泛应用,适合需要多次修改程序的场景。

5. EEPROM(电可擦写可编程只读存储器)
  • 特点:可读可写,断电后数据不丢失,通过IIC等总线访问。

  • 缺点:容量较小,适合数据量不大的应用。

  • 用途:用于存储少量非易失性数据,如设备配置参数。

6. FLASH(闪存)
  • 特点:可读可写,断电后数据不丢失,擦写速度快,容量大。

  • 区别于EEPROM:FLASH采用块擦写模式,速度更快,适合存储大量数据。

  • 用途:广泛用于现代存储设备,如U盘、SD卡、固态硬盘等。

二、管脚判定

三、管脚功能


STC89C52单片机引脚功能总结

1. 引脚分类

STC89C52单片机的引脚按功能可分为以下四类:

  1. 电源引脚:VCC、GND。

  2. 时钟引脚:XTAL1、XTAL2。

  3. 编程控制引脚:RST、PSEN、ALE/PROG、EA/Vpp。

  4. I/O口引脚:P0、P1、P2、P3,4组8位I/O口。


2. 具体引脚功能
电源引脚
  • VCC(40脚):电源正极,为单片机提供工作电压。

  • GND(20脚):电源地,为单片机提供接地参考。


时钟引脚
  • XTAL1(19脚):晶振输入端,用于连接外部晶振。

  • XTAL2(18脚):晶振输出端,用于连接外部晶振。


编程控制引脚
  • RST(9脚):复位引脚,用于将单片机复位到初始状态。

  • PSEN(29脚):程序存储器选通信号,用于访问外部程序存储器。

  • ALE/PROG(30脚)

    • 在扩展外部RAM时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

    • 在编程时,该引脚作为编程脉冲输入端(PROG)。

  • EA/Vpp(31脚)

    • EA:外部访问允许引脚。接高电平时,单片机读取内部程序存储器;接低电平时,单片机读取外部程序存储器。

    • Vpp:在编程时,该引脚用于施加编程电压。


I/O口引脚
  • P0口(32脚~39脚):双向8位三态I/O口,每个口可独立控制。

    • 在访问外部存储器时,P0口用于输出低8位地址或数据。

  • P1口(1脚~8脚):准双向8位I/O口,每个口可独立控制,内部自带上拉电阻。

    • 这种接口输出没有高阻态,输入也不能锁存,故不是真正的双向I/O口。

  • P2口(21脚~28脚):准双向8位I/O口,每个口可独立控制,内部自带上拉电阻。

    • 在访问外部存储器时,P2口用于输出高8位地址。

  • P3口(10脚~17脚):准双向8位I/O口,每个口可独立控制,内部自带上拉电阻。

    • 作为第一功能使用时,可作为普通I/O口,与P1口相似。

    • 作为第二功能使用时,各引脚具有特定功能(如中断输入、串行通信等)。


P3口的第二功能

P3口的每个引脚均可独立定义为第一功能的输入/输出或第二功能。以下是P3口的第二功能定义:

  • P3.0:RXD(串行数据接收端)。

  • P3.1:TXD(串行数据发送端)。

  • P3.2:INT0(外部中断0输入端)。

  • P3.3:INT1(外部中断1输入端)。

  • P3.4:T0(定时器0外部输入端)。

  • P3.5:T1(定时器1外部输入端)。

  • P3.6:WR(写控制信号)。

  • P3.7:RD(读控制信号)。


四、时钟/机器/指令周期

时钟周期、机器周期和指令周期总结

1. 时钟周期(Clock Cycle)
  • 定义:时钟周期通常由晶振或时钟发生器提供,也称为振荡周期。

  • 作用:用于同步整个系统的工作时钟,是单片机工作时间的最小单位。

  • 单位:1ms = 1KHz,1us = 1MHz。

  • 示例:对于STC89C52RC,外接12MHz晶振时,振荡周期为 1/21​ us。

2. 机器周期(Machine Cycle)
  • 定义:完成一项基本操作的时间,通常一个指令会被分成若干个基本阶段来完成。

  • 组成:一个指令一般被分成指令取指、指令译码、指令执行等阶段。

  • 单位:1ms = 1KHz,1us = 1MHz。

  • 示例:对于STC89C52RC,机器周期为1us。一般包含12个时钟周期。

3. 指令周期(Instruction Cycle)
  • 定义:完成一条指令的时间,通常由一个或多个机器周期组成。

  • 单位:1ms = 1KHz,1us = 1MHz。

  • 示例:对于STC89C52RC,指令周期通常为1us到4us,具体取决于指令的复杂程

三者关系
  • 包含关系:指令周期 > 机器周期 > 时钟周期。

    • 一个指令周期包含多个机器周期。

    • 一个机器周期包含多个时钟周期。

  • 固定性:只有时钟周期是固定不变的,由晶振频率决定。

  • 指令周期和机器周期:与指令的复杂程度有关,不同指令的指令周期和机器周期可能不同。


具体示例

STC89C52RC,外接一个12MHz的晶振,振荡周期 = 1/12us;

机器周期 = 1us;

指令周期 = 1us~4us;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值