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

视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版

 荐  火... [复制链接]
已绑定手机

0

主题

12

回帖

93

积分

注册会员

积分
93
发表于 2026-7-20 19:26:18 | 显示全部楼层
第六集学习完了。
通过循环来实现延时,是一种比较粗的消耗资源的延时。
while()是先检查条件,再按照真假决定是否执行。
do{ } while () 至少执行一次,然后按照真假决定是否执行
a++ ,a-- 和  ++ a, --a 都是递增或递减1,但是运算符号在变量前后决定是变量是先更新还是后更新,尤其当该行有输出/赋值的时候要注意;
如果赋值或输出在下一行代码中,则没有差别,就好比在for循环中用a++还是++a对后面大括号中的代码没有差异。
回复

使用道具 举报 送花

已绑定手机

1

主题

9

回帖

93

积分

注册会员

积分
93
发表于 2026-8-18 19:07:43 | 显示全部楼层
附件下载下来是乱码文件名
回复

使用道具 举报 送花

已绑定手机

1

主题

9

回帖

93

积分

注册会员

积分
93
发表于 2026-8-18 19:09:42 | 显示全部楼层
国学*** 发表于 2022-12-16 09:44
【USB 原理及实战,16课时】,视频教学已完美完成 ,大学标准课程 !
【10月/9号,10月/11号】USB基本原理 ...

大佬你下载
教学视频配套附件
也是乱码吗
回复

使用道具 举报 送花

已绑定手机

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2026-9-15 22:14:52 | 显示全部楼层
STC32G 单片机学习打卡日志

打卡 1:第 1 集 STC32G 单片机开发入门。初步认识 STC32G 单片机,了解单片机是什么、能实现哪些控制功能。明白单片机学习没有捷径,核心方法就是多看官方手册、参考资料,理论结合实操,多看多练,积累工程经验。

打卡 2:第 2 集 硬件基础与实验箱认识。熟悉整套学习实验箱的硬件构成,分清板载 LED、按键、数码管、蜂鸣器等外设,看懂硬件布局,了解各个模块对应的引脚,建立硬件和代码之间的关联认知。

打卡 3:第 3 集 资料下载与 Keil 开发环境搭建。下载 STC32G 相关数据手册、例程等配套资料,完成 Keil 软件安装、芯片支持包配置,搭建完整编译下载环境。环境搭建是编程的第一步,这套流程非常适合单片机新手入门。

打卡 4:第 4 集 流水灯实验。流水灯虽然代码简单,但工程里实用性很强。学会控制 IO 口电平变化驱动 LED 亮灭,理解循环延时的思路,在实际项目中流水灯常用来做设备运行状态、故障报警指示,应用十分广泛。

打卡 5:第 5 集 printf 函数与进制转换。掌握 printf 串口打印函数,能够在串口窗口输出信息,方便代码调试。同时学习二进制、十进制、十六进制之间的相互转换,理解不同进制在单片机底层存储、寄存器配置中的意义,课程知识点讲解细致易懂。

打卡 6:第 6 集 花式点灯。在基础流水灯之上拓展 LED 控制玩法,实现渐变、闪烁、跑马灯多种灯光效果,练习 IO 口的灵活控制,锻炼逻辑思维,学会用不同延时、逻辑组合实现多样的灯光效果。

打卡 7:第 7 集 矩阵按键原理与基础代码。学习矩阵按键扫描原理,相比独立按键,矩阵按键可以用更少 IO 实现更多按键。理解按键消抖逻辑,掌握按键扫描代码编写,同时练习数组存储按键值,体会数组在按键项目中的应用。

打卡 8:第 8 集 蜂鸣器原理及应用。认识有源、无源蜂鸣器的区别,学习蜂鸣器驱动原理,通过 IO 口控制蜂鸣器发声,可实现提示音、报警音等效果,掌握蜂鸣器在人机交互场景下的使用方法。

打卡 9:第 9 集 数码管基础应用。认识共阴、共阳数码管结构,理解段选、位选概念,看懂数码管段码表,学习单个数码管的点亮与数字显示,掌握数码管基础显示原理。

打卡 10:第 10 集 数码管动态刷新。学习数码管动态扫描原理,利用人眼视觉暂留效应,分时轮流点亮每一位数码管,实现 8 个数码管同时显示不同数字,理解动态刷新的控制逻辑,解决多位数码管 IO 占用过多的问题。

打卡 11:第 11 集 STC32G 定时器原理与应用。了解定时器在单片机中的作用,定时器可以实现精准定时,不依赖软件延时。学习 STC32G 定时器工作原理、寄存器配置,使用定时器完成定时任务,替代不准确的软件延时。

打卡 12:第 12 集 计数器使用。学习单片机计数器功能,计数器可以统计外部输入脉冲的个数,区分定时器与计数器的不同使用场景,掌握计数器配置方法,了解脉冲计数相关工程用途。

打卡 13:第 13 集 模块化编程。学习工程模块化开发思想,将不同功能拆分为独立文件,一个功能对应一组`.c`源文件和`.h`头文件,理解头文件声明、源文件定义,掌握 extern 关键字,实现多文件之间的变量调用,养成规范的工程代码编写习惯。

打卡 14:第 14 集 矩阵键盘综合应用。在基础矩阵按键原理之上进行综合实战,结合之前学到的显示、延时等知识,读取按键值并做对应处理,完成按键触发相应动作的小项目,巩固矩阵键盘扫描逻辑。

打卡 15:第 15 集 中断系统与外部中断。学习单片机中断基本概念,明白中断可以让单片机优先响应突发信号,不用一直循环查询。重点学习外部中断,配置外部中断触发方式,实现引脚信号触发中断服务函数,理解中断优先级、中断响应流程。
回复

使用道具 举报 送花

已绑定手机

9

主题

231

回帖

370

积分

中级会员

积分
370
发表于 2026-10-21 12:26:45 | 显示全部楼层
我的STC 32G 12K128 实验箱,下载代码包里的串口发送程序,初始发送的字符串不会发送,点击可以发送是什么问题?
回复

使用道具 举报 送花

已绑定手机

0

主题

11

回帖

46

积分

新手上路

积分
46
发表于 2026-10-26 10:14:18 | 显示全部楼层
你好,学习32位8051教学视频送32G12K128-实验箱-V9.6,学习完子本帖回复学习心得,还是自己发帖?学习完找谁领取?
回复

使用道具 举报 送花

已绑定手机

0

主题

11

回帖

46

积分

新手上路

积分
46
发表于 2026-10-27 16:29:34 | 显示全部楼层
第一集教学视频学习心得:在接触STC32G单片机视频教程之前,我对“单片机”这个概念仅停留在模糊的听说阶段。跟着视频教程的一步步引导,我不仅对单片机有了初步的认识,更对即将展开的32位8051架构学习充满了期待。在学习之前,我常常困惑于“学了这个能干嘛”。通过“冲哥”视频的讲解,才发现单片机的应用场景无处不在,例如视频中所讲到的用途,“电饭煲、洗衣机、空调”以及“汽车电子(ABS防抱死、胎压检测)”等,我才识到单片机技术就在我们的生活之中。它不再是之前想象的像实验室那种高科技,而是支撑现代智能家居和工业自动化的基石。这种认知极大地激发了我的学习动力——我希望未来也能设计出这样便利生活的智能产品。虽然视频教学内容主要涵盖了基础概念,但视频中提到的“新手常见问题解答”和“学习建议”让我对后续的课程内容充满期待。接下来的学习中,我将紧跟“冲哥”的步伐,不仅要弄懂“什么是单片机”,更要亲手让它“动起来”,真正体验这把开启智能控制大门的钥匙。
回复

使用道具 举报 送花

已绑定手机

0

主题

11

回帖

46

积分

新手上路

积分
46
发表于 2026-10-28 09:31:08 | 显示全部楼层
第二集教学视频学习心得:最大的感受就是这块STC32G实验箱太实用了。以前觉得单片机就是块黑芯片,现在看到板子上集成了这么多东西——红外遥控、温度传感器、屏幕接口、甚至还能连电脑,感觉它就是一个微缩版的“控制中心”。最让我惊喜的是那块留白的“万能板”,感觉以后要是想加点什么新功能,直接焊上去就行,扩展性很强,不仅仅是拿来死读书的。看了参数表,虽然有些术语不懂,但我明白了一个核心点:这芯片“肚量大”。相比以前的老式单片机,它的内存和存储空间大得多。这意味着我以后写代码时,不用为了省一点点空间而绞尽脑汁,可以更大胆地去实现复杂的想法。而且它自带了很多通信接口,学会了这些,以后不管换什么芯片,底层的逻辑都是通用的,这就叫“一通百通”。冲哥布置的作业太有意思了,不让我们急着背代码,而是让我们先当一回“产品经理”,想想自己能做个什么产品。这个思路一下子把我从“怕学不会”的焦虑中拉了出来。我不再想“这太难了我做不了”,而是想“我想做一个自动喂猫机”或者“智能温控风扇”。为了做成这个东西,我再去倒推需要学什么传感器、怎么写控制逻辑。这种“为了用而学”的感觉,比死啃书本有动力多了。这一集学完,我心里有了个底,也有了个目标。接下来的学习,我不会只满足于让灯闪烁一下,而是会时刻盯着我的“产品梦想”。看到蜂鸣器,我就想怎么把它做成闹钟;看到光敏电阻,我就想怎么做个自动调光的台灯。就像老师说的,兴趣是最好的老师。我已经准备好了我的创意,接下来就是跟着冲哥一步步把它造出来,这种把脑子里的想法变成手里实物的过程,才是我学单片机最大的乐!
回复

使用道具 举报 送花

已绑定手机

0

主题

11

回帖

46

积分

新手上路

积分
46
发表于 2026-10-29 16:42:11 | 显示全部楼层
第三集教学视频学习心得:通过对第三集教学视频的学习,使我明白了原来写代码之前,还有这么多准备工作要做,而且每一步都有讲究。以前我以为学单片机只要有个电脑就行,现在才知道得专门下载“STC-ISP”这个神器。它不仅能给芯片写程序,还能查手册、装驱动,简直是个百宝箱。而且老师特意强调了要看PDF手册,还要学会用搜索功能快速找内容。这让我明白,做技术不能光靠脑子记,学会查文档。跟着手册一步步安装Keil软件(也就是写代码的地方),虽然步骤有点多,但看着进度条走完,心里特别踏实。环境搭好了,后面写代码才能顺手。这一章最让我印象深刻的,是最后把程序烧录进板子的那一步,以前以为插上线就能自动传文件,结果还得先按住按钮,再开电源开关。看着软件界面从红色的“正在检测”变成绿色的“操作成功”,那一刻非常有成就感。虽然只是跑通了第一个例程,但这意味着我的电脑终于和这块板子“连通”了,我的代码真的能控制硬件了!万事开头难,但这头开得不错这一章虽然没有讲什么高深的算法,但全是实打实的干货,让我知道每一个成功的作品背后,都是从下载软件、配置环境、查阅手册这些枯燥但必要的琐事开始的。现在的我,手里有了工具(ISP软件),有了阵地(Keil环境),也有了说明书(PDF手册),感觉已经迫不及待想开始我的“产品经理”大计了!跟着冲哥一步步脚踏实地实现自己的目标,加油!
回复

使用道具 举报 送花

已绑定手机

0

主题

11

回帖

46

积分

新手上路

积分
46
发表于 2026-10-30 16:32:02 | 显示全部楼层
第四集教学视频学习心得:
1.原来“高低电平”就是开关,
以前总觉得电路很神秘,看完LED点亮原理图我才明白,单片机控制东西其实就像按开关。高电平(1):就像是把水龙头打开,有电出来。低电平(0):就像是把水龙头关掉,没电。而且我还发现个有意思的事,要想让灯亮,有时候反而要给“低电平”(因为电路设计有个三极管在“反着”控制),这让我明白写代码不能想当然,得看懂电路图这个“地图”才行,开始尝试没有点亮,就是因为把芯片输出给了高电平1,排查后发现是高电位供电,单片需要设置为低电平0才能导通行程回路点亮LED。
2. GPIO就是单片机的“手”教学视频里提到的GPIO(通用输入输出口),我把它理解为单片机的“手指头”。P0、P1、P5这些就是不同的“手掌”。P0.0、P5.2就是具体的“手指”。我想控制哪个灯,就得先告诉单片机:“嘿,我要用P5.2这根手指!”(这就是代码里的sbit定义)。只要找对了引脚,剩下的就是指挥它出力(输出电平)了。后面尝试使用其他IO配置点亮LED,没有点亮,通过对比手册和原理图,发现配置的引脚不是实际的芯片引脚,而是对应的地址与符号,要多看手册说明和原理图,搞清楚关系再来配置,经过自己的排查,全部可以实现任意IO口控制点亮LED。
3. 写代码得有个“好规矩”刚开始写代码时,我写得乱七八糟,自己都看不懂。后来跟着教程学,才知道代码也要讲究“排版”。注释很重要:得在旁边写上//这是干嘛的,不然过两天自己都忘了。缩进要整齐:像搭积木一样一层层缩进,看着才清爽。学会用Ctrl+F:这是个神技!手册那么厚,想找个引脚定义,一搜索立马就出来了,比翻书快一万倍。
4.
这一集最让我惊喜的,是学会了“自动下载”。以前每次改完代码,还得手动去按复位键。现在配置好USB_HID模式后,点一下编译按钮,ISP工具马上进入自动下载,板子都不用断电。这一章虽然只是点亮了几个小灯珠,但我感觉自己已经摸到了单片机世界的门把手。我知道了怎么新建工程,怎么查手册找引脚,怎么把代码烧进去。
5.困惑:USB-CDC不断电下载没有实现,按照视频中的代码,同样的操作,无法实现自动不断电下载,手动没有问题,使用“23-通过USB CDC协议虚拟串口收发数据”实例也无法实现,代码如下,和教学视频一样,这个问题困扰我两天了,查阅了手册,也在论坛翻看了一些案例,始终没有解决?目前学些进度卡在这里了,希望老师看到能帮我解答一下。
代码如下:
#include "COMM/stc.h"        //调用头文件
#include "COMM/usb.h"


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


//sbit P40 = P4^0;        //LED1控制引脚
//sbit P60 = P6^0;        //LED2控制引脚
//sbit P61 = P6^1;        //LED2控制引脚


void sys_init();        //函数声明


void main()
{
    sys_init();
        usb_init();
        EA = 1;
        
        while (1)        //死循环
        {
                //P4++;
                P40 = 0;        //LED1输出低电平
                P60 = 0;        //LED2输出低电平
                P61 = 0;
        }
}


void sys_init()                //函数定义
{
    WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度
        
        P0M1 = 0x00;   P0M0 = 0x00;   //设置为准双向口
    P1M1 = 0x00;   P1M0 = 0x00;   //设置为准双向口
    P2M1 = 0x00;   P2M0 = 0x00;   //设置为准双向口
    P3M1 = 0x00;   P3M0 = 0x00;   //设置为准双向口
    P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
    P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
    P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
    P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
        
        P3M0 = 0x00;
        P3M1 = 0x00;
        
    P3M0 &= ~0x03;
    P3M1 |= 0x03;


    //设置USB使用的时钟源
    IRC48MCR = 0x80;    //使能内部48M高速IRC
    while (!(IRC48MCR & 0x01));  //等待时钟稳定
        
        USBCLK = 0x00;                //使用CDC功能需要使用这两行,HID功能禁用这两行。
    USBCON = 0x90;
}


回复

使用道具 举报 送花

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

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

GMT+8, 2026-11-9 23:14 , Processed in 0.078138 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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