STC单片机内部常见寄存器及其作用

打印 上一主题 下一主题

主题 948|帖子 948|积分 2854

STC单片机内部常见寄存器及其作用

STC单片机是基于8051架构的加强型单片机,广泛应用于嵌入式体系中。其内部有多个特别功能寄存器(SFR, Special Function Register),用于控制硬件模块(如定时器、串口、停止等)。以下是STC单片机中常见的寄存器及其作用的详细先容。

1. 端口寄存器

P0, P1, P2, P3



  • 作用:控制I/O端口的状态。
  • 地点

    • P0:0x80
    • P1:0x90
    • P2:0xA0
    • P3:0xB0

  • 示例
    1. P1 = 0xFF; // 将P1端口的所有引脚置高电平
    复制代码

2. 定时器寄存器

TMOD(Timer Mode Register)



  • 作用:设置定时器0和定时器1的工作模式。
  • 地点:0x89
  • 参数

    • 低4位用于定时器0,高4位用于定时器1。
    • 模式:

      • 0x00:模式0(13位定时器)。
      • 0x01:模式1(16位定时器)。
      • 0x02:模式2(8位自动重装定时器)。
      • 0x03:模式3(定时器0分为两个8位定时器)。


  • 示例
    1. TMOD = 0x01; // 定时器0,模式1
    复制代码
TH0, TL0(Timer 0 High/Low Byte)



  • 作用:存储定时器0的计数值。
  • 地点

    • TH0:0x8C
    • TL0:0x8A

  • 示例
    1. TH0 = 0xFC; // 定时初值高字节
    2. TL0 = 0x18; // 定时初值低字节
    复制代码
TH1, TL1(Timer 1 High/Low Byte)



  • 作用:存储定时器1的计数值。
  • 地点

    • TH1:0x8D
    • TL1:0x8B

  • 示例
    1. TH1 = 0xFE; // 定时初值高字节
    2. TL1 = 0x0C; // 定时初值低字节
    复制代码
TCON(Timer Control Register)



  • 作用:控订定时器的启动、停止和停止标志。
  • 地点:0x88
  • 参数

    • TR0:定时器0运行控制位(第4位)。
    • TR1:定时器1运行控制位(第6位)。
    • TF0:定时器0溢出标志位(第5位)。
    • TF1:定时器1溢出标志位(第7位)。

  • 示例
    1. TR0 = 1; // 启动定时器0
    复制代码

3. 停止寄存器

IE(Interrupt Enable Register)



  • 作用:使能或禁用停止。
  • 地点:0xA8
  • 参数

    • EA:总停止使能位(第7位)。
    • ET0:定时器0停止使能位(第1位)。
    • ET1:定时器1停止使能位(第3位)。
    • EX0:外部停止0使能位(第0位)。
    • EX1:外部停止1使能位(第2位)。

  • 示例
    1. EA = 1;  // 使能总中断
    2. ET0 = 1; // 使能定时器0中断
    复制代码
IP(Interrupt Priority Register)



  • 作用:设置停止优先级。
  • 地点:0xB8
  • 参数

    • PT0:定时器0停止优先级(第1位)。
    • PT1:定时器1停止优先级(第3位)。
    • PX0:外部停止0优先级(第0位)。
    • PX1:外部停止1优先级(第2位)。

  • 示例
    1. PT0 = 1; // 设置定时器0中断为高优先级
    复制代码

4. 串口寄存器

SCON(Serial Control Register)



  • 作用:控制串口的工作模式。
  • 地点:0x98
  • 参数

    • SM0, SM1:串口模式选择位(第6、7位)。

      • 00:模式0(同步移位寄存器)。
      • 01:模式1(8位UART,波特率可变)。
      • 10:模式2(9位UART,波特率固定)。
      • 11:模式3(9位UART,波特率可变)。

    • REN:吸收使能位(第4位)。
    • TI:发送停止标志位(第1位)。
    • RI:吸收停止标志位(第0位)。

  • 示例
    1. SCON = 0x50; // 串口模式1,接收使能
    复制代码
SBUF(Serial Buffer Register)



  • 作用:存储串口发送或吸收的数据。
  • 地点:0x99
  • 示例
    1. SBUF = 'A'; // 发送字符'A'
    复制代码

5. 电源控制寄存器

PCON(Power Control Register)



  • 作用:控制单片机的电源模式。
  • 地点:0x87
  • 参数

    • SMOD:波特率加倍位(第7位)。
    • PD:掉电模式位(第1位)。
    • IDL:空闲模式位(第0位)。

  • 示例
    1. PCON |= 0x01; // 进入空闲模式
    复制代码

6. 总结

寄存器作用地点常用参数P0控制P0端口0x80P0 = 0xFF;TMOD设置定时器模式0x89TMOD = 0x01;TH0定时器0高字节0x8CTH0 = 0xFC;TL0定时器0低字节0x8ATL0 = 0x18;TCON控订定时器运行0x88TR0 = 1;IE使能停止0xA8EA = 1; ET0 = 1;SCON控制串口模式0x98SCON = 0x50;SBUF存储串口数据0x99SBUF = 'A';PCON控制电源模式0x87`PCON 这些寄存器是STC单片机编程的基础,掌握它们的用法可以更好地控制硬件模块。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表