找回密码
 立即注册
查看: 1961|回复: 12

冲哥STC32教程打卡贴

[复制链接]

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-15 15:16:15 | 显示全部楼层 |阅读模式
本帖最后由 BenBen的那个Ben 于 2023-8-17 00:40 编辑

我本人之前就学习过89C52RC和STM32,所以有一点点基础,一开始看的视频是转载的,看到最后发现少了几集才看到评论区有论坛链接,在论坛还发现学到15集免费包邮送实验箱,所以这帖算是补作业吧。

第1集
介绍了单片机是什么,能应用在什么领域,解答了常见的新手问题,以及给新手的入门建议。
解释单片机的定义,展示了单片机的各种不同封装,51单片机因稳定性好,常被广泛应用于各大领域,例如智能仪器、工业控制、家用电器、网络和通信、医用设备、模块化系统、汽车电子等领域,单片机基本就是一个小的功能减少的计算机;能写入用户程序;能读取在输入引脚上的电压信号,能在引脚上输出特定的电平信号,能在特定引脚上输出电压信号,能计算时间,能计数,能做数学运算,能做逻辑运算,能顺序动作,能通信等功能,最概括的来说就是他能做有规律叫循的控制应用。冲哥还非常详细的解答了常见的新手问题。学习建议还是挺有用的,一针见血,直指缺点。

第2集
本集篇幅比较短,主要是介绍本教程使用到的开发板硬件上的器件的功能,各个器件能做什么,被应用在哪个常见的领域,以及如何操作等。
还介绍了32位51单片机的每一个参数,以STC32G12K128为例,同样频率下比传统的8051快40倍。
课后作业就是计划准备做个汽车ECU出来,支持国产抛弃STM32。

第3集
这集冲哥详细的介绍了51单片机开发过程所需要搭建的开发环境
STC-ISP是STC的程序烧录软件,在STC官网可以下载。
STC32数据手册也是可以在STC官网下载。
数据手册需要用PDF查阅器打开,我用的是Edge。
跟着手册搭建C251开发环境,我因为买不起正版用的是pojie版。
在STC-ISP内下载STC32试验箱程序,用Keil打开编译然后烧录到单片机里,显示操作成功即为下载成功。
回复

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-15 15:29:27 | 显示全部楼层
本帖最后由 BenBen的那个Ben 于 2023-8-17 00:26 编辑

第4集上 建立工程点亮一颗LED
本集可能内容比较多拆分成了两集,首先示范如何用电池点亮一个LED,解释了LED的点亮原理,并从原理图上解释如何点亮LED。引入了高低电平的概念,跟着使用说明书新建一个工程,输入对应代码,切记符号必须全部都是英文,编译一下0错误就已经可以把程序下载进单片机里了,假如LED点不亮,在排除代码问题后检查IO口是不是不对。解释了GPIO是什么,可以操控一个IO口,也可以同时操控一组IO口。新建一个Keil项目的测试工程,跟着数据手册的教程打出IO口输出高电平的代码,同时要注意输入法必须要英文,否则标点符号会报错,注释不受影响。要学会使用搜索。如何使用注释功能,变绿以后就不会参与运行,注释是给人看的,不是给单片机看的。如何去选择一个寄存器的过程。
每下载一次程序就要按一下按钮很麻烦,进行USB模式ISP自动化下载,不需要反复断电就能下载,选择USB-HID模式,添加STC提供的调用代码,添加一个lib库,复制工程代码,定义准双向口,函数一定要放在前面,放后面要重新定义,代码优化,善用搜索功能。第一次写代码千万不要心急,哪怕心急也不要紧,但是一定要静下心,冲哥也出了很多错,还教我一点点去解决问题,一定要坚定不移往下走。新工程的一个基本流程,自动下载工程可以用于所有USB下载的单片机,高电平是与VCC电压相同,低电平是0V,牢记端口的几个寄存器,课后练习因为没有配套硬件实现不了。
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 04:32:10 | 显示全部楼层
本帖最后由 BenBen的那个Ben 于 2023-8-16 23:54 编辑

第五集:C语言运算符和进制数入门上
这集主要讲C语言printf函数的实现过程,第二个就是一个数的进制转化,比如2进制、10进制、16进制之间的转化,然后看一下C语言一些常用的运算符,包括加减乘除之类的,最后一个就是了解一下数据的基本类型。
printf要实现首先要在主函数里添加PPT上的程序,然后通过printf实现一个数值的打印。这节课可以基于上一节课的工程,直接复制粘贴,工程出来以后先编译一下,0错误0警告就能进行下一步,先在函数上面更改,按照PPT上的代码敲一遍,冲哥再次提醒敲代码要在英文输入法的环境下,同时还要注意大小写,否则会报错未定义,系统变量不会变蓝,有一段代码是判断USB是否连接成功,printf一定要记好,后面会频繁用到,编译完0错误0警告,下载进单片机里。结合实操解释格式字符的应用。Ascll字符码表对照hex模式下的代码解释转换原理,在表格上解释2进制、10进制、16进制的变量以及它们之间如何进行转换,利用Windows计算器计算它们之间转换的过程。
第五集:C语言运算符和进制数入门下 (吐槽一下:这集声音太小了)
书接上回,可以直接控制一组端口,也可以单独控制单独的一个端口,示范在代码上利用运算符实现数值变量的加减乘除,然后就是数据的基本类型,课后练习因为硬件不配套操作不了,只能跟着敲一下代码。
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:47:00 | 显示全部楼层
第六集:LED闪烁和花式点灯上
这集主要讲的是基于Delay实现LED闪烁以及一个函数的使用和新建文件的的操作,正式开始之前插入了一个话题,试验用的套件从之前9.4的试验箱更新到9.6的试验箱,基于9.4的试验箱多了一个示波器的一个实验模块,然后把软件和手册都更新到了最新版本,然后课程正式开始,以时钟为例,中间的两个点一亮一灭的过程就是闪烁,0.5秒亮,0.5秒灭,这节课主要是用Delay的一个函数实现LED闪烁的一个过程,0.5秒指的是500ms(毫秒),1秒=1000ms,1000毫秒=100万微秒,这个单位换算比较重要,不能搞错,这个时钟0.5秒亮,0.5秒灭就是等于500毫秒点亮,500毫秒熄灭,这是第一部分要实现的内容,先在工程里添加PPT中的语句,把最早的工程复制粘贴过来稍微改编一下然后跟着PPT敲一遍代码,新建一个工程费时费力还容易出错,把PPT中的语句放在最前面,IRC频率跟烧录软件上的一致,用关键词去定义24M,就不用怕每次打多或者打少好几个0,降低错误率,同时方便自己后期修改,在main函数之前敲一个delay,按照PPT上的代码敲一遍,MS就是毫秒,U16右键点击一下,U16就是typedef unsigned int,编译器会自动把u16替换成typedef unsigned int,跟define的区别就是,这个写在后面,define的写在前面,结尾也不需要加分号,但是最常用的还是define,所以一定要牢记define。编译报错,检查发现少了一个分号,再编译又出现了典型错误,冲哥提醒我们记一下,然后再编译,0错误0警告,用烧录软件下载到单片机,然后就是语法分析,delay虽然说用起来很方便,但是它有一个非常不好的弊端,那就是它在执行代码的过程中会一直在这里一直等待,一定要等到踏步结束了,它才会继续接着往下走,如果想在中间给他在想给它这个灯再去改变一个状态,比如说执行到低电平500毫秒这里灯就是属于熄灭的一个状态,但是要想在这低电平500毫秒的时间里再想把灯点亮就不是那么容易的事情了,其实也是可以实现的,要等到后面再讲,回到PPT解释代码原理。
第六集:LED闪烁和花式点灯下(吐槽一下:这集声音也很小)
书接上回,define的这个用法就是名称 需要定义的内容,汉字不行,需要用到英文字符。首先定义一个函数使用主要分为三个步骤,首先是一个函数定义,然后一个函数声明,还有一个函数调用,这个函数声明可以有也可以没有,但是在模块化编程里面这个函数声明是必须使用的,定义函数需要返回值加函数名称加入口参数,如果没有返回值那就是void表示空没有返回值,函数名称必须要避开关键词同时还要跟其他的函数不能重复,关键词就是标蓝的关键词,颜色不是黑的那种就是关键词,那就不要用,不能重复,然后在代码中结合实例解释,添加.c跟.h文件就可以调用里面的函数。
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:50:22 | 显示全部楼层
本帖最后由 BenBen的那个Ben 于 2023-8-17 00:25 编辑

第七集:按键点灯(吐槽:声音太小了只能看字幕)

首先解释了按键的原理,按键的种类非常多,虽然按键长的非常奇怪,种类繁多,但内部原理实际上都是一样的,就是一个开关,本质上就是控制两个引脚的通断,有的是按下之后两个引脚导通,有的是按键之后两个引脚断开,这就是常开与常闭开关之间的区别,还通过原理图解释了如何通过单片机的引脚去判断按键有没有导通,利用高低电平来进行判断,对于机械开关,在断开和闭合的时候,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定的接通,在断开时也不会马上一下子的断开了,所以在开关闭合以及断开的瞬间会伴随一连串不规律的抖动,这段一连串不规律的抖动时间据不完全统计大约是在5-10毫秒之间,冲哥给出的解决方法是间隔10毫秒之后再去检测,这是一个叫作按键消抖的一个方案,在开关闭合以及断开的时候都适用,后面写代码的时候会讲到,所以需要提前了解一下,然后就开始写代码,分析PPT上的代码原理,按键代码的实现过程,再打开工程按照PPT的代码敲上去,我这里因为硬件设施不配套我改用了其他引脚,把上节课的延时代码直接复制过来使用,延时10毫秒,然后就是观看冲哥在实验板上进行操作,示范了在按键应用的过程中各种可能会出现的意外情况,还非常细心的手把手教会我如何去解决这些问题,要是让我去解决这些问题我百分百在短时间内是完全解决不了的,非常感谢冲哥的以身示范,接下来就是介绍数组的使用了,结合流水灯进行实际操作,我因为硬件配套不到位所以只能看着冲哥操作,然后就是数组的典型应用,数组在后面会经常使用,所以一定要牢记的用法,千万千万要注意的是,就是这个索引,和位置要减一的关系,最后一个千万不能写个名称,如果写了就说是冲哥教的。
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:50:33 | 显示全部楼层
第八集:蜂鸣器的应用
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:51:21 | 显示全部楼层
第九集:数码管的静态使用
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:51:35 | 显示全部楼层
第十集:数码管的动态显示
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:51:49 | 显示全部楼层
第十一集:定时器的使用
回复 支持 反对

使用道具 举报 送花

2

主题

11

回帖

43

积分

新手上路

积分
43
发表于 2023-8-16 23:52:01 | 显示全部楼层
第十二集:计数器的使用
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 03:12 , Processed in 0.124768 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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