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

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

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 09:24:08 | 显示全部楼层
11.3.2推挽输出
强推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为1时提供持续的

强上拉。推挽模式一般用于需要更大驱动电流的情况。

用推挽输出的时候,假如外界把它拉低,那么2个电平就冲突打架,有可能把下图中的管子烧坏:


I/O口设置不能乱来:

当对方是高阻输入的时候,没有电流流过,你就用强推挽

当对方是强推挽输出的时候,你就高阻输入。


截图202511160920134465.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 09:49:28 | 显示全部楼层
高阻输入,有内部上拉电阻


看下图:

有线间电容,要时间充电后才能反应出高电平,0.0X个微秒后再读

才能读到高电平,这和早期的STC89c52是不同的,因为上电的时候,STC89c52大约在1V的时候

准双向口的弱上拉的管子就启动了,状态一直是高阻输入。

现在工作频率高,电容的效果明显,初始化的时候,最好等个10ms,这样就稳妥。





截图202511160940448603.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 10:59:26 | 显示全部楼层
其实,别看我们使用Keil μVision 好多年了,突然发现很多设置,我们都没有动过


根本不知道它的功能和意义,所以何老师这个第六集,我其实是看了3遍的,主要是关注以前

从来没有关心过的地方:

1 关于Keil 的帮助文档:






截图202511161059204523.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 11:03:21 | 显示全部楼层
先看A251:汇编语言的编写规则,汇编控制命令的写法等

接着是C251:

截图202511161103171810.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 11:10:52 | 显示全部楼层
C251,也就是说在MS-251指令集架构--就是STC32G系列的MCU上怎么用C语言

这里的C包含2部分:

1 通用的C

2 包含STC32系列架构的对C语言的补充和扩展(包括限制)

这里何老师会用反汇编的方式,来看机器语言怎么表示

接着看L251:



截图202511161110501837.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 11:20:45 | 显示全部楼层
C251还可以研究数据结构怎样表示

而L251主要是连接,其实主要讲连接器的原理,分析

对编译结果进行连接所产生的输出文件。

这些其实和学STM32差不多,都要看一下,才能更好的理解从底层到结果的细节

其实STC已经在Keil μVision 里做了好多扩展

语法和通用的C相比,要多学一点点
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 11:31:38 | 显示全部楼层
Keil uVision软件的文档,要认真阅读

在STC251 上跑C语言的时候,有很多例子,这些例子反汇编后

你能发现不只是通用的C,还有针对STC-251的结构一些扩展

看重点:“KeilμVision5集成开发环境和调试器是整个Keil开发工具链的中心,它们提供了大量的特性以帮助程序开发人员快速完成嵌入式应用的开发
μVision5提供了建立模式(Build Mode),用于创建应用程序以及调试模式(Debug Mode),用于调试应用程序通过pVision5集成的仿真器或者实际的硬件系统,设计者对应用程序进行调试
比如:通过STC提供的下载工具STC-ISP和USB下载电缆,设计者可以在实际系统上通过Keil集成开发环境对应用程序进行在线调试。”

你反汇编一下,可以把C语言和底层的硬件结合起来,建立起一定的关联。




回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 11:39:45 | 显示全部楼层
这里我发现何老师用的Keil μVision 和我使用的好像都是5.60

那么我们同样的C源程序,反汇编怎么会有区别?

所以有点迷茫......
截图202511161139428654.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 12:06:44 | 显示全部楼层
Keil μVision 的下载安装,相信很多同学和我一样,毕竟是从STC89C52开始跟STC的,就没必要

详细记录何老师的过程了,此处省略100字...........

安装完成后,会产生以下目录:

截图202511161205538869.jpg
截图202511161206224156.jpg
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:83
  • 最近打卡:2025-12-16 09:14:02
已绑定手机

14

主题

1171

回帖

2069

积分

金牌会员

积分
2069
发表于 2025-11-16 12:15:34 | 显示全部楼层
其中ASM子目录中有这些文件:



主要是一些头文件和例子

仔细看就和51单片机一样,定义了寄存器地址

用记事本打开看看:

定义了一些端口名称,地址。

还可以看懂STC的扩展:

建议用STC的头文件,扩展的太好用了!
截图202511161210293415.jpg
截图202511161213045680.jpg
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-17 12:44 , Processed in 0.107417 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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