找回密码
 立即注册
查看: 416|回复: 31

嵌入式老鸟回炉再造打卡帖(STC32位8051单片机学习)

[复制链接]
  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
    发表于 2024-3-12 13:36:00 | 显示全部楼层 |阅读模式
    本帖最后由 haishi28 于 2024-3-13 05:42 编辑

    大家好,

            作为一个嵌入式软件开发老鸟,对单片机的喜爱始终不减,最近因为一个项目,开始接触STC的单片机。让我回忆起当年大学里用的89C52芯片,写汇编程序的日子。当我的程序点亮了一个LED,也高兴一个下午。
            今天偶然看到这个免费申请实验箱的帖子,就不用自己焊板子去做一些基础测试了。https://www.stcaimcu.com/forum.php?mod=viewthread&tid=323
            先占个位,回头发学习心得。
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-13 05:40:51 来自手机 | 显示全部楼层
    本帖最后由 haishi28 于 2024-3-27 16:40 编辑

    第一集
            看过了,听老师碎碎念,娓娓道来他对单片机的理解,解答网友疑问。
            我来聊聊:汇编,到底需不需要?
            我觉得看个人,也看项目。
            先说个人,如果你是对编程很感兴趣的人,那为什么不学呢?汇编更接近硬件,就像视频里提到的PLC和单片机的比较,没有什么必须,现在PLC也可以做到很高自由度。
            再说项目,如果你的项目里产品是对时序要求不高,对代码大小无所谓,更多偏重应用逻辑,那的确体现不出汇编的优势,C是更贴近人类语言。
            值得一提的是,STC的手册和例程里,都是C和汇编都有,有助于学习汇编。另外,如果你要做底层一些的编程,比如RTOS移植,或者想了解芯片启动过程,可能就必须学习一些汇编来读懂那些.asm文件了。
            加油!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-13 06:16:23 来自手机 | 显示全部楼层
    本帖最后由 haishi28 于 2024-3-13 06:19 编辑

    第二集,讲解开发板的硬件。
    IMG_20240313_061111.jpg
    罗列一下不太熟悉的硬件,后面重点学习:
    18B20
    ADC按键
    LCD
    USB
    24C02
    红外

    IMG_20240313_061753.jpg
    其实这块儿应该多讲讲,看看后面的视频有没有深入讲解。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 54 天

    [LV.5]常住居民I

    2

    主题

    106

    回帖

    464

    积分

    中级会员

    积分
    464
    发表于 2024-3-13 07:34:58 来自手机 | 显示全部楼层
    我是用到哪里就学哪里…
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 138 天

    [LV.7]常住居民III

    0

    主题

    387

    回帖

    499

    积分

    中级会员

    积分
    499
    发表于 2024-3-13 08:06:01 | 显示全部楼层
    靡不有初,鲜克有终
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-13 08:16:59 来自手机 | 显示全部楼层
    wan123456 发表于 2024-3-13 07:34
    我是用到哪里就学哪里…

    目的性强,疗效好
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 110 天

    [LV.6]常住居民II

    34

    主题

    164

    回帖

    401

    积分

    中级会员

    积分
    401
    发表于 2024-3-13 08:18:55 | 显示全部楼层
    对于整天对着时序图发呆的我来说,汇编太重要了。
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-14 21:55:33 | 显示全部楼层
    本帖最后由 haishi28 于 2024-3-27 16:40 编辑

    第三集,开发环境的搭建和程序下载
            这一集里边儿的内容,因为前面做过STC的一些开发,所以环境基本上都自己按照教程搭建过。当然了,程序下载也是没有任何问题的。
            看完这一集想说两个点,首先就是这集里面讲的所有的这些下载文件内容啊等等,然后再回忆我之前的实操,我感觉基本上只要你按照手册里面的讲解, 基本上可以完全按照上面写的步骤一步一步的做出来。最大的感受呢就是入门门槛很低。在一个芯片的手册里会把相关的这些东西都讲解了。然后STC-ISP一个软件把很多东西都连接在一块儿。你可以去找例程,你也可以去配置芯片,然后你也可以去下载程序,甚至他的官网的手册呀,一些相关的信息都在上面有链接,一键就能下载。这个跟STC的官网风格很类似,就是他尽可能的把所有的东西都放在一起。不让很深的路径导致你找不到资料。我觉得这一点对于初学者特别的友善。
            另外一点我想说的就是这集后半部提到过的USB下载,其实我一开始一直没觉得这个USB下载到底有哪些优势。因为刚一接触STC,申请样片的时候就发给了我烧写器。这个烧写器呢也很方便,连上以后呢可以通过这个STC-ISP软件直接就可以下载的,调试也可以,也很方便。今天听完这集,然后我又想了一下,估计他最方便的地方就是他连烧写器都不用了,就拿一根USB的线,然后接到电脑上就可以直接跟板子通讯进行烧写。嗯,因为之前用的都是烧写器烧写,而且用的芯片还不支持这个USB烧写,所以也没有什么特别的感受。后面儿会尝试支持USB的芯片去感受一下,画一个这样的板。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-17 00:12:57 | 显示全部楼层
    本帖最后由 haishi28 于 2024-3-27 16:41 编辑

    第四集 点亮LED

    sfr sbit这些都是用STC后才看到的用法,以前ST的芯片基本上都是库,不会太关注这类。已经不记得上学时的51写的是什么了。
    点亮LED,这是嵌入式编程里最为常用的,就像其他语言的第一个例程是“Hello world”。基础中的基础,配置好GPIO的属性,写高低,即可。其实背后还有像时钟的配置,引导程序的配置等。但STC里,STC-ISP替程序做了一些,就不用写代码去实现了。
    USB下载,还是值得操作的,避免每次按按键。
    通过STC-ISP的设置,编译后自动下载就更带劲了!
    截图202403170947421279.jpg
    不停电下载,就是通过P3.0和P3.1连接PC的USB口,实现对芯片快速烧写的过程。
    新购买的一箭双雕,就是这个效果。

    PS:最新版下载软件这个设置放在左下角了,如图:
    截图202403170956107109.jpg

    这个每次编译完就能自动下载,之前没有发现这个功能,这是算是这集最大的收获。


    有一个疑问:如果有了STC-USB Link1D,还有必要这个“不停电下载”的功能么?下图两种下载方式,第二种就没有必要利用上述方法进行“不停电下载”的处理了吧。
    截图202403172006294549.jpg 截图202403172007069767.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:54
  • 签到天数: 39 天

    [LV.5]常住居民I

    6

    主题

    84

    回帖

    212

    积分

    中级会员

    积分
    212
     楼主| 发表于 2024-3-17 11:23:52 来自手机 | 显示全部楼层
    本帖最后由 haishi28 于 2024-3-27 16:41 编辑

    第五集 printf,数的进制
    作为老鸟,没啥新鲜内容,快速看过。
    只是有一个疑问,printf函数不需要去配置什么函数引用么?是在引用的USB相关的头文件里引用的?如果是,那这个块儿应该提一下,不是只输入一行printf("xxx")就行的。
    下半集里讲到P6.0=P6^0 P6.1=6^1,一直有疑问,这种写法是哪里来的?51单片机一直是这样么?没什么印象了。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-29 17:02 , Processed in 0.085514 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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