找回密码
 立即注册
查看: 1277|回复: 13

【实验箱已送】冲哥32位8051教学视频,学习心得

[复制链接]
  • TA的每日心情
    开心
    2024-4-25 11:42
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    27

    回帖

    298

    积分

    中级会员

    积分
    298
    发表于 2023-5-1 14:10:33 | 显示全部楼层 |阅读模式
    本帖最后由 STCAI-32位8051 于 2023-8-16 11:24 编辑

    零零散散学过不少单片机,有野火家的F103,合宙的luatos,esp32的idf开发,esp32的arduino开发等,每次都没有坚持下来,但是还是特别想学,看到冲哥的教学视频之后,看了第一集,又让我重获一些信心。每个人学单片机都有不同的目的,有的人为了找工作,有的人为了做点业余小制作,而我是想通过单片机学习计算机的底层原理,我从事计算机的软件开发也有近20年了,但是对底层cpu是怎么工作的,程序是怎么运行的,操作系统是怎么工作的,网络是怎么工作的,等等这些东西还是隔了一层纱,不知真面目,我想通过单片机的学习,更加了解程序背后的原理,因为学习单片机更接近计算机的底层。
    跟STC销售申请了一个屠龙刀开发板,虽然开发板也不贵,自己又不是买不起,但是既然STC公司有这样好的福利,当然也要好好利用,不能浪费,一定要认真学起来,不负STC公司的一片好心。
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-25 11:42
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    27

    回帖

    298

    积分

    中级会员

    积分
    298
     楼主| 发表于 2023-5-10 19:40:23 | 显示全部楼层
    本帖最后由 cuisheng 于 2023-5-11 13:07 编辑

    停了好几天没学,今天又找了点时间继续学习冲哥视频的第三集和第四集:搭建开发环境,以及建立第一个点灯的项目,用STC-ISP软件进行串口烧录。
    冲哥用的是实验箱,我用的是屠龙刀,搭建环境基本是一模一样的,只是板上的led用的IO口不同,屠龙刀的led灯需要控制P2组的IO,项目非常简单,主要还是需要对着文档来,上一下这一课输出的点灯代码,目前还只是常亮,没有做花式控制。

    sfr P2 = 0xA0;
    sfr P2M1 = 0x95;
    sfr P2M0 = 0x96;

    void main()
    {
            P2M0 = 0x00;
            P2M1 = 0x00;

            P2 = 0x00;

            while (1)
            {
            }
    }

    以上就是成功点亮屠龙刀led的代码,具体代码的含义还不是很清楚,至少板上的灯亮了。
    单片机点灯,至少有两步,第一:设置IO口模式,第二:设置IO口高低电平,目前代码还不是很明白,因为还没有仔细阅读用户手册,接下来就准备多读一读用户手册,比如sfr是啥含义?貌似以前没见过。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    3

    主题

    51

    回帖

    473

    积分

    中级会员

    积分
    473
    发表于 2023-5-10 20:21:39 | 显示全部楼层
    真的点亮了?
    貌似少了一句P2=0;-)
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-25 11:42
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    27

    回帖

    298

    积分

    中级会员

    积分
    298
     楼主| 发表于 2023-5-11 10:09:22 | 显示全部楼层
    晓奇 发表于 2023-5-10 20:21
    真的点亮了?
    貌似少了一句P2=0;-)

    代码里写了,我以为没用,默认就是低电平,所以贴代码的时候,就给删了,今天我再试试
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-25 11:42
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    27

    回帖

    298

    积分

    中级会员

    积分
    298
     楼主| 发表于 2023-5-11 13:08:40 | 显示全部楼层
    晓奇 发表于 2023-5-10 20:21
    真的点亮了?
    貌似少了一句P2=0;-)

    果然不亮,我又给加上了,感谢大佬提醒
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-25 11:42
  • 签到天数: 31 天

    [LV.5]常住居民I

    4

    主题

    27

    回帖

    298

    积分

    中级会员

    积分
    298
     楼主| 发表于 2023-5-23 13:29:33 | 显示全部楼层
    第四集:在线不停机下载程序(使用USB-HID协议)

    这一集介绍了通过设置寄存器来实现软件复位进入ISP系统代码区执行下载程序的方法,主要涉及到一个重要的寄存器:

    软复位寄存器(IAP_CONTR)
            0x20 复位后重新执行用户代码
            0x60 复位后到ISP区执行ISP系统代码

    将IAP_CONTR设置为0x60后,系统将复位并进入ISP,开始下载程序代码,可以通过物理按键触发的形式来触发设置条件,当然,这还是有点麻烦。

    我们当然要更进一步的实现自动化,通过USB-HID或者USB-CDC的方式,实现真正的自动下载,按照冲哥的视频,进行操作,然后踩了个大坑。

    按照冲哥视频敲完代码,发现编译有警告,还40个,虽然还是生成了HEX文件,但是冲哥的明明没有任何警告呀,总是怀疑自己哪里出了问题,纠结了好几天,最后还是根据网上的设置,调整了下Keil的设置,忽略了那些警告,(感觉有点掩耳盗铃,警告肯定是有问题,忽略警告,但是问题仍然在),最后发现示例项目里也同样的进行了设置,要忽略这些警告,需要设置如下:

    在Options for Target对话框中,L251 Misc选项卡里,设置disable Warning Numbers: 57    (57即是警告的类型)(上传不了图片)

    另外,又优化了下代码结构,把初始化usb的操作,也都放到了sys_init方法里,这样,在main方法里,只需要调用一个sys_init方法即可,程序变得更简明:

    #include "COMM/stc.h"
    #include "COMM/usb.h"

    char *USER_DEVICEDESC = NULL;
    char *USER_PRODUCTDESC = NULL;
    char *USER_STCISPCMD = "@STCISP#";

    void sys_init()
    {
            WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
            EAXFR = 1; //扩展寄存器(XFR)访问使能
            CKCON = 0; //提高访问XRAM速度

            //设置USB使用的时钟源
            IRC48MCR = 0x80;    //使能内部48M高速IRC
            while (!(IRC48MCR & 0x01));  //等待时钟稳定
           
            usb_init();
            EA = 1;
    }

    void main()
    {
            sys_init();

            // 以下是自己的业务代码
            P2M0 = 0x00;
            P2M1 = 0x00;
            P2 = 0x00;

            while (1)
            {
            }
    }
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    13

    回帖

    93

    积分

    注册会员

    积分
    93
    发表于 2023-8-3 10:25:07 | 显示全部楼层
    怎么申请啊???
    我也想申请 哈哈
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
    发表于 2023-8-3 15:17:38 | 显示全部楼层
    kongjkd 发表于 2023-8-3 10:25
    怎么申请啊???
    我也想申请 哈哈

    继续用心学习吧,希望在向您召唤!让我们一起努力!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    13

    回帖

    93

    积分

    注册会员

    积分
    93
    发表于 2023-8-3 16:23:30 | 显示全部楼层
    sdwflzg 发表于 2023-8-3 15:17
    继续用心学习吧,希望在向您召唤!让我们一起努力!

    我已不是少年 中年大叔了  不能专心学习了 呵呵
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-14 08:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    93

    回帖

    495

    积分

    中级会员

    积分
    495
    发表于 2023-8-4 09:25:03 | 显示全部楼层
    本帖最后由 sdwflzg 于 2023-8-4 09:28 编辑
    kongjkd 发表于 2023-8-3 16:23
    我已不是少年 中年大叔了  不能专心学习了 呵呵

    革命不分先后,英雄不分老少,大叔才是中流砥柱!
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-13 20:16 , Processed in 0.070273 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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