odell 发表于 2026-3-23 17:02:29

STC32G 单片机 何宾教授视频教程 学习打卡

第一次接触32位单片机,从第六集安装Keil C251开始学习,了解keil的基础配置使用。

odell 发表于 2026-3-23 17:04:34

第七集:到家软件开发基础-keil设计流程和应用开发

odell 发表于 2026-3-23 17:08:32

第七集:到家软件开发基础-keil设计流程和应用开发
Keil软件的应用详细讲解:
第22分钟开始DEMO

详细讲解“魔术棒”内部的细节:

通过该集视频的学习,了解了32位单片机与8位单片机在keil设置时的区别和相关注意事项

odell 发表于 2026-3-23 17:21:10

第八集:单片机软件开发基础-keil应用程序开发

Keil μVision 应用程序开发
-- 编译器优化选项设置
C251 编译器是一个优化编译器
这意味着编译器采取某些少量步骤来确保生成并输出到目标文件的代码可能是最高效(代码长度更短和 / 或速度更快)的代码
通过 Options for Target ‘Target 1’ 对话框中的 C251 标签,程序开发人员可以设置 C 编译器的优化级别
从下图可知,通过十进制数指定优化级别(Level)。
有效值为 。字符串指定优化重点(Emphasis),无论是代码长度还是执行速度。有效值为
默认,优化级别设置为 7,SPEED。

.hex文件解读

odell 发表于 2026-3-23 17:31:08

第九集:数值的表示和转换一

介绍了isp下载
硬件仿真:

Keil μVision 应用程序开发
-- 硬件在线调试
硬件在线调试(硬件仿真)是 STC32G12K128 提供的一个重要的功能。
通过硬件在线调试使得程序开发人员能够发现软件仿真时不能探测到的一些更深层次的设计问题
比如:当程序不能响应外部中断的时候,可能有以下几种情况,全局中断没有使能?对应的外部中断没有使能?中断服务程序代码有问题?(没有进入中断服务程序?没有从中断服务程序正常返回?),这些可能性只有通过硬件在线调试功能才能确认。
软件仿真绝不能代替硬件在线调试!!!

本章主要内容
常用码制
正数表示方法
正数码制转换
负数表示方法
负数补码的计算
定点数表示
浮点数表示
大端编制和小端编制
Cpu的专注点,负责调度;而计算交给了运算器

odell 发表于 2026-3-23 17:35:56

第十集上 数值的表示和转换二
十进制整数转换成其它进制数
-- 十进制整数转换成二进制数
下面介绍两种方法,包括长除法和比较法
长除法
采用除法,除数始终为 2,将十进制进行分解,直到商为 0 结束。然后,按顺序将最后得到的余数排在最高位,而最先得到的余数排在最低位
比较法
让需要转换的正整数和不同的二进制权值进行比较。当:
需要转换的正整数大于所对应的二进制权值时,得到 “1”;并且转换的正整数减去二进制权值得到余数。然后,再用得到的余数与下一个二进制权值进行比较。
需要转换的数小于所对应的二进制权值时,得到 “0”。并且不做任何处理。


定点数和浮点数
定点数:小数点固定不动,像一把刻度很密的尺子。
浮点数:小数点可以浮动,既能表示很大数,也能表示很小数。


一句话总结 “计算机负数的二异性”
原码 / 反码:0 有二义性(+0、−0),运算麻烦
补码(二补数):消除二义性,负数用 “取反 + 1” 表示,让加减统一为加法,是现代计算机标准


正数:二进制原码
负数:二进制补码
计算机里所有负数,最终都是以补码存在的

总结
1.        核心公式:负数补码 = 对应正数原码 按位取反 + 1(正数补码 = 原码);
2.        取反是 “全部位取反”,不是只改符号位,最后一定要加 1;
3.        补码的目的:让计算机用加法电路完成减法运算,且消除 0 的二义性。

odell 发表于 2026-3-23 17:46:18

第十集下:处理器内核和存储空间映射

处理器内核和存储空间映射
Intel 的 MCS-251 单片机是对其 MCS-51 单片机的扩展和发展(即 MCS-251 向下兼容 MCS-51),而 STC 公司最新的 STC32 系列 MCU 是对 Intel MCS-251 单片机的进一步改进和发展
通过兼容 MCS-251 ISA,STC32 系列 MCU 实现了整体性能的极大提升
一方面在处理器核内部实现了 8 位、16 位和 32 位操作
另一方面通过扩展片内程序和数据存储器的容量,进一步提高了处理器核运行复杂程序代码的能力


处理器内核和存储空间映射
--8 位单片机处理器核的内部结构
本节以 Intel 公司经典的 MCS-51(也称为 8051)单片机为例,其目的是为了说明 8 位 MCU 内部的关键功能单元
将 8051 单片机称为 8 位单片机,这是因为该单片机中的数据总线宽度为 8 位,并且寄存器也是 8 位宽度(DPTR 寄存器为 16 位)
本质上,MCS-51 ISA 就能体现出 8 位的本质

控制器
-- 流水线
与传统 8051 处理器核采用串行的指令通道相比,STC15/STC8 系列增强型 8051 单片机处理器核内的指令通道采用了改进后的 3 级流水线结构(假设指令和数据之间无依赖性)
(附时间轴说明:
时间轴 T0-T5 依次对应:
取指 1、译码 1、执行指令 1
取指 2、译码 2、执行指令 2
取指 3、译码 3、执行指令 3)

odell 发表于 2026-3-23 17:49:31

第十一集:处理器内核和存储空间映射
堆栈与指针
堆栈:上下文(也叫现场)push和pop

PSW 是 8051 单片机运算器状态的核心载体:
记录算术 / 逻辑运算的结果特征(进位、溢出、奇偶性)
控制寄存器组的切换,实现快速上下文保存
提供用户自定义标志位,方便程序状态管理

CY(Carry,进位标志位):加法 / 减法运算时,如果最高位(D7)产生进位或借位,CY=1;否则 = 0。也用于位操作指令。
AC(Auxiliary Carry,辅助进位标志位):低 4 位(D3)向高 4 位(D4)产生进位或借位时,AC=1;否则 = 0。主要用于 BCD 码运算调整。


odell 发表于 2026-3-23 17:53:35

第十二集:字节存储顺序、8位单片机存储器结构和地址空间

自然边界
1 字节(char):随便放
2 字节(short):放偶数地址
4 字节(int):放 4 倍数地址
8 字节:放 8 倍数地址
自然边界 = 数据宽度的整数倍地址

odell 发表于 2026-3-23 17:57:29

第十二集:32位单片机处理器核的内部结构一

32 位单片机处理器核的内部结构
STC32 系列单片机处理器核兼容 MCS-251 ISA,真正实现了 1 位 / 8 位 / 16 位和 32 位的操作
下面给出该 32 位 MCU 的内部结构
从图中可知,处理器核连接到片内的 24 位地址总线和 8/16/32 位数据总线


页: [1] 2
查看完整版本: STC32G 单片机 何宾教授视频教程 学习打卡