找回密码
 立即注册
查看: 655|回复: 11

《8051U深度入门到32位51大型实战教学视频》学习笔记

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-7 18:41:21 | 显示全部楼层 |阅读模式
之前兑换了芯片准备搭建最小系统板,还没发货时发现秦天柱也可以积分兑换了,果断兑换一个。两个都已到货。
开启跟冲哥的学习之路。

微信图片_20241207183719.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-7 18:46:52 | 显示全部楼层
第一集: 序言
8051U优势:
1、屏幕显示和视频播放功能
2、IIS录放音
3、PWM_DMA
4、频谱分析仪(上位机)
5、手写计算器
6、QSPI,PWM移相,硬件乘除,单精度浮点
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-7 18:46:56 | 显示全部楼层
第一集: 序言
8051U优势:
1、屏幕显示和视频播放功能
2、IIS录放音
3、PWM_DMA
4、频谱分析仪(上位机)
5、手写计算器
6、QSPI,PWM移相,硬件乘除,单精度浮点
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-7 18:50:52 | 显示全部楼层
第二集 硬件及工具介绍
没有试验箱,用兑换的擎天柱开始对应学习,待有实验箱时,再回头重新学习一下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-8 18:25:06 | 显示全部楼层
第三集 点亮第一个LED
微信截图_20241208180503.png
工程设置
擎天柱的led焊接再P2引脚上,所以代码修改为P2
微信图片_20241208182049.png
点亮LED代码
微信图片_20241208182028.jpg
运行效果

下载程序时需要按着P32后通电进入下载模式



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-8 19:02:36 | 显示全部楼层
第四集 :USB不停电下载

操作流程
1、 添加头文件  “stc32_stc8_usb.h”


2、 USB初始化函数(lib+.h库实现)

3、 命令参数

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

4、 打开P_SW2寄存器和IE2寄存器(只打开一个位!)

     P_SW2 |= 0x80;
     IE2 |= 0x80;  


USB和中断相关

        usb_init();   //USB CDC 接口配置
       IE2 |= 0x80;    //使能USB中断
       EA = 1;    //IE |= 0X80;
       
     while (DeviceState != DEVSTATE_CONFIGURED);     //等待USB完成配置
       

截图202412081857568775.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-8 20:53:09 | 显示全部楼层
第五集 C语言基础
1.打开USB库中的PRINTF_HID宏定义(去掉//)
       #define PRINTF_HID            //printf输出直接重定向到USB HID接口
2.理解PRINTF的函数原型的定义
    #define printf  printf_hid
    int printf_hid (const char *fmt, ...);
    参数fmt -- 是格式控制字符串,包含了两种类型的对象:普通字符和转换说明 。
    普通字符:在输出时,普通字符将原样不动地复制到标准输出。
     printf("8051U深度入门到32位51大型实战视频\r\n");

转换说明:不直接输出,用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明符结束,从而说明输出数据的类型、宽度、精度等。
        printf("8051U深度入门到32位51大型实战视频,%s\r\n","加油");

转换说明简介:
     1、类型:根据不同的 fmt 字符串,函数可能需要一系列的附加参数,每个
参数包含了一个要被插入的值,替换了 fmt 参数中指定的每个 % 标签。
关于附加参数,既可以是变量,也可以是常量。
    2、位置:printf()函数的普通字符和转换说明放在" "双引号内,附加参数
放在双引号外,每个附加参数之间用逗号隔开。
    3、数量:printf() 的附加参数与转换说明符是⼀⼀对应关系,如果有 n 个转
换说明符, printf() 的参数就应该有 n + 1 个。如果参数个数少于对应的转
换说明符,printf() 可能会输出内存中的任意值。






回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-8 22:02:04 | 显示全部楼层

第六课 I/O 输入输出
任务一、二

任务三
修改成P2整体灯的亮灭了

任务三.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-22 18:14:05 | 显示全部楼层

第七课 定时器中断

定时器作用:
    (1) 用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
    (2) 替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)

定时频率(𝐻𝑍)=("Sysclk" ("hz" ))/((𝑇𝑀0𝑃𝑆+1)(65536−[𝑇𝐻0,𝑇𝐿0])∗𝑇)
定时时间(s)=((𝑇𝑀0𝑃𝑆+1)(65536−[𝑇𝐻0,𝑇𝐿0])∗𝑇)/("Sysclk" ("hz" ))
[𝑇𝐻0,𝑇𝐿0]=65536−("Sysclk" ("hz" )∗定时时间(s))/(𝑇∗(𝑇𝑀0𝑃𝑆+1))
𝑇=1或者12。
16位自动重载定时器的本质就是从设定值数到65536(溢出)之后置位一次标志位,如果使能ET0就可以进入中断!

定义:包含返回值,函数名和入口参数,并定义了函数具体功能。
    函数的名称应当能够描述函数的功能,便于代码的阅读和理解。
    函数名称应当使用有意义的英文单词或者组合的英文单词,避免使用特殊字符或数字。
    函数名称不能与C语言的关键字同名。
声明:在头文件或者被调用之前使用,注意末尾要加分号
调用:在需要调用的地方直接使用函数名,加上括号和分号。如果有入口参数的,需要在括号的多个参数之间加逗号隔开。
图片1.png




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:405
  • 最近打卡:2025-04-16 13:31:35
已绑定手机

5

主题

98

回帖

1938

积分

金牌会员

积分
1938
发表于 2024-12-24 11:34:22 | 显示全部楼层
第八集  定时器周期性调度任务
  一、数组使用分为如下两步
    图片1.png

    1、定义
    类型 名称[长度] = { 数值 };
    2、使用
    赋值:名称[索引] = 数值

二、创建程序文件三步,把硬件需要的初始化弄一个config.c
    1、新建文件并保存      
               新建xxx.c和xxx.h文件,代表一个功能块。
               xxx.h格式
              #ifndef __XXX_H
              #define __XXX_H

              调用头文件
              函数声明...
              #endif



             xxx.c格式
            #include “xxx.h”
            函数定义

    2、添加到工程           
    3、添加引用路径


很重要的经验和思路

注意事项:
按键不能在通过while判断是否按下松开了
可以通过按键按下计数






回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-7 03:30 , Processed in 0.131509 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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