找回密码
 立即注册
查看: 2207|回复: 16

STC32G12K128学习打卡帖

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 14:25:09 | 显示全部楼层 |阅读模式
本帖最后由 duyi324 于 2023-12-5 09:27 编辑

之前只是大概的体验了一下 STC32G12K128 单片机的固件库,为了参与一下官方实验箱活动,从今天开始视频打卡~

每个人基础不一样,本贴基本都是记录了我个人认为的重点,或者之前不熟悉的知识点~同时尝试简单写一下课后练习的代码,太复杂的暂时不写了,无法验证对错,如果有幸拿到试验箱再补上完整代码。

一起学习~
加油!


看32位8051教学视频,送实验箱,200万大奖等你拿, 《STC单片机原理》免费教育大学 - ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)



回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 14:37:17 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 14:52 编辑

第一集:认识单片机

1. 上学并不是学的硬件专业,工作后才慢慢了解单片机,并从Arduino、51开始学起,一直到stc32、stm32、esp32等等,真的是很感谢自己的兴趣引导着自己越来越充实。
2. 就开发方式来说,个人感觉库函数更方便,但是学习的时候一定要学习寄存器的,否则就是知其然不知其所以然,遇到问题后也没办法从底层查找问题。
库函数开发的时候,运行效率问题我建议参考STM的HAL库+LL库的方式,LL库偏底层一点,运行效率与开发难度做了一些平衡。
截图202311271437035016.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 14:46:10 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 15:09 编辑

第二集:了解硬件

1. 看到有红外模块,刚好想在公司做一个空调控制的设备~公司空调的面板竟然在天花板,每次开关空调都要跑老远拿遥控器回来盯着天花板……
2. 刚知道基准电压引脚的作用是供内部ADC校准使用的
3. 课后作业:我现在正在学习USB,这个板子我可能会做一个红外遥控键盘(脑洞大开),用遥控器来控制电脑,或者鼠标指针;
截图202311271448157299.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 15:25:26
本帖最后由 duyi324 于 2023-11-27 15:26 编辑

第三集:开发环境搭建和程序下载


同时安装C51 C251 ARM三个版本的Keil~来自:学习笔记|C251|STC32G单片机视频开发教程(冲哥)|第三集:开发环境搭建和程序下载 - 知乎 (zhihu.com)

截图202311271525314039.jpg
支持 反对

送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 15:30:53 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 18:56 编辑

第三集:开发环境搭建

1. 网上搜的:如何同时安装Keil的C51、C251和MDK。


截图202311271530516015.jpg


2. C51和C251有什么区别?

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 15:36:49 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 18:53 编辑

第四集:建立工程点亮第一颗LED

截图202311271841577388.jpg


1. sfr:SFR是special function register的缩写,即特殊功能寄存器,是在RAM里面的地址改名字方便程序使用的。
2. sbit:定义GPIO的一个引脚
3. 编译选项Output里面要把HEX Format改为 HEX-386
4. IO口相关寄存器在手册11.1章节
5. 将来要学习一下USB协议,能否自己复刻一个USB自动下载功能出来


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 18:55:25 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 19:09 编辑

第五集:C语言运算符和进制数



截图202311271855246006.jpg


1. printf格式控制字符串笔记

截图202311271859184434.jpg

截图202311271859316626.jpg
截图202311271900108122.jpg

2. 数据范围
unsigned char 0~255
unsigned  int 0~65535
char -128~127
int -32768~32767











回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 19:10:51 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 19:53 编辑

第六集:LED闪烁和花式点灯

截图202311271910471090.jpg


1. 课后练习伪代码(SOS灯延时版)


while(1)
{
        // 3短
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        // 3长
        P60 = 0;
        delay_ms(1000);
        P60 = 1;
        delay_ms(1000);
        P60 = 0;
        delay_ms(1000);
        P60 = 1;
        delay_ms(1000);
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        // 3短
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
        P60 = 0;
        delay_ms(100);
        P60 = 1;
        delay_ms(100);
}


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 19:41:04 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 20:03 编辑

第七集:按键点灯


竟然有上一集课后练习答案~不改了

截图202311271941583246.jpg

1. STC的单片机上电都是默认高电平吗?有没有办法改成默认低电平?如果在main函数里面修改的话会不会上电有一瞬间的高电平然后变成低电平?
2. 左移时右侧默认补零
3. 课后练习伪代码




u8 code led_table1[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
u8 code led_table2[] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
u8 mode = 0;
u8 num;
#define KEY1 P32

/*************  本地函数声明    **************/

void  delay_ms(u8 ms);

void main(void)
{
        while(1)
        {
                if(KEY1 == 0)
                {
                        if(mode == 0)
                        {
                                mode = 1;
                        }
                        else
                        {
                                mode = 0;
                        }
                        P6 = 0xFF;
                }
                if(mode == 0)
                {
                        P6 = led_table1[num];
                }
                else
                {
                        P6 = led_table2[num];
                }
                num++;
                if(num > 7)
                        num = 0;
                delay_ms(100);

        }
}

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-22 12:36:54
已绑定手机

4

主题

35

回帖

173

积分

注册会员

积分
173
发表于 2023-11-27 20:03:44 | 显示全部楼层
本帖最后由 duyi324 于 2023-11-27 20:13 编辑

第八集:蜂鸣器的应用


截图202311272008251366.jpg


1. 蜂鸣器要用三极管驱动

截图202311272009373677.jpg


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-7 14:52 , Processed in 0.154152 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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