找回密码
 立即注册
楼主: wuzhengmin

跟着何宾老师学习STC32位8051单片机原理及应用-STC32G12K128

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:30:50 | 显示全部楼层
看看寄存器:

截图202512040930488215.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:31:47 | 显示全部楼层
原来在8051上的111条指令要正常运行,所以先要把原来8051的保留下来,原来的MCS-51的111条指令,在MCS-251里肯定要保留。原来的寄存器都是8位的,以前1个时刻只能有8个寄存器干活

截图202512040931451111.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:32:25 | 显示全部楼层
如果要把所有的寄存器通过R0R1切换,会浪费很多CPU周期,处理器性能会直线下降。现在我们增加了很多对16位、32位的操作,可以扩展到268条指令。假如一次可以访问16个寄存器,剩下的寄存器可以拼,搞成双字寄存器:
截图202512040932228083.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:33:12 | 显示全部楼层
这样就拼成16个16位的寄存器
同理,32位的寄存器也是可以拼接的0—3拼成1个4—7拼成1个……………

W就是16位D就是32位
截图202512040933023233.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:34:04 | 显示全部楼层
15个8位寄存器能按8位来访问,也可以拼成16位按双字访问,3个8位一拼,也可以按32位访问。
高出来的W开头的只能16位或者32位访问。
截图202512040934022148.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:35:39 | 显示全部楼层
为了兼容8051:注:(1)R10就是8051单片机中的寄存B
(2)寄存器 R11 就是 8051 单片机中的累加器 ACC,也称为 A

中间空了作保留,最上面有8个寄存器
R56----R63,可以双字访问:

而SPX是具有特殊用途的,编号56---59作扩展的数据指针,60—63的寄存器,拼出来作堆栈指针用。
截图202512040934296896.jpg
截图202512040935174750.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:36:56 | 显示全部楼层
从寄存器结构来看,是完全兼容原来8051的寄存器结构的,还进行了扩展和创新。

截图202512040936208760.jpg
截图202512040936382155.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:38:35 | 显示全部楼层
1 如何为16位和32位的操作提供寄存器的问题
2 如何通过寄存器的设置,来解决24位的寻址能力。

所以上面那堆寄存器结构可以称为寄存器文件。

下面姚总补充:(姚总是产业界的专家学者,要特别重视姚总的讲解)
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:39:30 | 显示全部楼层
姚总:

要看指令集的话,看这个:
截图202512040939125201.jpg
截图202512040939222736.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2026-04-08 10:46:34
已绑定手机

22

主题

2458

回帖

3488

积分

论坛元老

积分
3488
发表于 2025-12-4 09:40:24 | 显示全部楼层
看结构图:
截图202512040940211911.jpg
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-10 04:04 , Processed in 0.111257 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表