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

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

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2024-07-15 12:37:13

4

主题

27

回帖

344

积分

中级会员

积分
344
发表于 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公司的一片好心。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2024-07-15 12:37:13

4

主题

27

回帖

344

积分

中级会员

积分
344
发表于 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是啥含义?貌似以前没见过。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-07-05 16:23:47

3

主题

51

回帖

487

积分

中级会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2024-07-15 12:37:13

4

主题

27

回帖

344

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2024-07-15 12:37:13

4

主题

27

回帖

344

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2024-07-15 12:37:13

4

主题

27

回帖

344

积分

中级会员

积分
344
发表于 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

主题

11

回帖

93

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-17 17:37:18

4

主题

94

回帖

511

积分

高级会员

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

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

使用道具 举报 送花

1

主题

11

回帖

93

积分

注册会员

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-17 17:37:18

4

主题

94

回帖

511

积分

高级会员

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

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 15:42 , Processed in 0.152276 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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