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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 11:54:22 | 显示全部楼层
-127呢?
截图202511191153566451.jpg
截图202511191154108430.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 11:57:02 | 显示全部楼层
使用比较法:

截图202511191156496347.jpg
截图202511191156597182.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 11:59:44 | 显示全部楼层
我们实际操作一下:


我们改一下第一个例子:取掉unsigned
  1. void main()
  2. {
  3.          volatile  char a=170,b=90; //2个有符号整数,范围是0-127,-128 --- -1
  4.          volatile  char c;//170就是AA,90就是5A
  5.          c=a+b;   //做有符号的加法运算,超过就发生溢出
  6. }
复制代码

截图202511191159207584.jpg
截图202511191159402274.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:00:34 | 显示全部楼层
170的二进制是1010 1010 16进制就是AA)早就越出有符号整数范围了,计算机就把它当负数,是补码。讲大白话就是认为它是-86(8位二进制系统中,-86的补码表示是170),计算机就理解为负数1010 1010 (十进制-86)那么我们看看:

截图202511191200141705.jpg
截图202511191200283095.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:01:46 | 显示全部楼层
在机器中应该是10101010 16进制就是AA
90就是5A,做了有符号的扩展
所以最后的结果是04-86+90=4十进制)


截图202511191201412932.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:02:20 | 显示全部楼层
MOVS  WR4 , R7  //这是符号扩展,把8位数扩展为16位。WR6也是扩展
截图202511191202112127.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:02:59 | 显示全部楼层
再看最后得到的04
截图202511191202568621.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:04:37 | 显示全部楼层
你以为是170+90=260,机器以为是-86+90=4

你说是谁错呢?

所以我们即需要梁工+冲哥那样的高级工程师(高级实验师),也需要何宾老师这样的高校教授

产学院厂一体化才行,所以我一个退休老头,内心还是很敬佩姚总的,肯出钱出力培养人,对国家产业有贡献,上面提到的这些都是牛人!
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:14:51 | 显示全部楼层
小心这里有2个32位数的加法:

OxFFO12C 120009 LCALL C?FPADD (C:0x0009)

这个就好消耗时间的,小心处理,实际上要靠STC才行

没有硬件加速度(相当于8087协处理器),很难把CPU解放出来的!
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-03-30 19:54:03
已绑定手机

22

主题

2426

回帖

3422

积分

论坛元老

积分
3422
发表于 2025-11-19 12:20:15 | 显示全部楼层
只好请姚总解说一下:

简单来说,靠STC来开发硬件加速器.............

这是计算创新,很多人没有耐心学习STC32系列,总认为还是STC89C51.........
截图202511191215549272.jpg
截图202511191216099521.jpg
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-4-1 02:43 , Processed in 0.125436 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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