眼镜蛇不戴眼镜 发表于 2024-1-22 11:08:03

STC32的学习打卡

本帖最后由 眼镜蛇不戴眼镜 于 2024-1-22 11:26 编辑

第一节课的感受,单片机广泛应用于我们生活的方方面面,跟着视频学习能够学到很多学校里面学不到的知识,我发现可以明显感受到STC32单片机比传统8051的性能更加提升,虽然它也是8051的内核,但是它提供了更高的处理能力和更快的执行速度,STC32的引脚也有更多的输入输出端口能够制作更好的项目,通过这第一节课的视频,我可以了解到了可以利用STC32单片机的优势来开发各种应用,包括视频中给出的网页里面有示波器以及其他各种电子项目。总的来说,STC32提供了一个性能更强大、功能更丰富、扩展性更好的平台

眼镜蛇不戴眼镜 发表于 2024-1-22 11:21:53

本帖最后由 眼镜蛇不戴眼镜 于 2024-1-22 11:59 编辑

第二节课:硬件介绍:1.红外发射/接收模块
            2.电压比较(电位器):调节输出电压,可以在单片机做一个比较开关   3. 数码管:显示数字,字母,符号,可用做时间倒计时等       4.万能板:可以焊元器件链接到单片机引脚,实现其他功能   5.NTC测温:电子测温器   
            6.18B20温度传感器:可测温,有数码管显示数值   7. ADC按键:可通过单片机引脚读取16个按键,采集模拟电压数值检测按键按下   8.基准电压         9.PWM模拟电压DAC:设置数字可对应相应幅值,可生成波形去控制
            10.24C02:可在数码管保存测温数值   11.独立按键   12. LCD接口:在显示屏显示汉字字符,可自行设定   13.FLASH扩展板:存储芯片,内存大,存储图片,汉字文件等存储,实时存储14..矩阵键盘:多用于密码锁应用较多
         15.蜂鸣器

STC32G12K128,更大的地址空间:32位的地址线可以寻址更大的内存空间,使得STC32能够处理更多的数据和更复杂的应用程序
                         更丰富的外设功能:STC32单片机通常集成了更多的外设功能
                         更多的闪存和RAM: STC32通常配备更大的闪存用于存储程序代码,以及更多的RAM用于执行时的数据存储,这使得可以运行更加复杂的程序,并且有足够的内存空间来处理大量数据。

眼镜蛇不戴眼镜 发表于 2024-1-22 13:04:30

第三节课:
下载了Keil5开发环境搭建和程序下载,了解转USB在板子上的按键,初步了解了要看芯片手册,大多数问题可以在芯片手册上解决。1.创建项目:在Keil中,用户需要创建一个新的项目,并选择合适的芯片型号和编译器。用户在项目中编写代码,可能涉及C、C++或汇编语言。2. 编写代码:用户在项目中编写代码,可能涉及C、C++或汇编语言。3. 编译程序:完成代码编写后,用户需要编译程序。如果有错误,需要根据提示进行修正。STC-ISP频率选24兆,程序包有大多数历程,可以试一下一些程序包代码的功能 4.编译成功后,我们可以通过Keil的调试工具将程序下载到开发板实验箱上进行测试。
   在下载和搭建的时候遇到的困难/挑战:下载链接失效,安装过程中困难,不会找到安装路径在哪里和在STC-ISP里面添加STC32在Keil5 , 不过也好,在研究下也成功可以使用和下载程序

眼镜蛇不戴眼镜 发表于 2024-1-22 16:41:26

第四节课上:点亮第一个LED
      通过单片机IO口输出高低电平来使LED点亮
      特殊功能寄存器sfr 写一个地址给一个数据,到时候写数据调用该名字写,可以操作数据,而不用再调用地址                     sbit 定义
                        
STC32有四种功能:1.准双向口 PnM1.x(0), PnM0.x(0)既可以向外输出高低电平
                            2.推挽输出 PnM1.x(0), PnM0.x(1)
                            3.高阻输入 PnM1.x(1), PnM0.x(0)
                            4.开漏输出 PnM1.x(1), PnM0.x(1)

眼镜蛇不戴眼镜 发表于 2024-1-22 17:28:43

第四节课上:点亮第一个LED
    LED灯可以点亮,但是快速编译没有成功(不断电下载),不知道啥原因,文件夹里面的文件也全都放进灯里面的文件,也没有能进行快速编译,不用手动按实验箱

眼镜蛇不戴眼镜 发表于 2024-1-22 21:47:29

第五节课上:初步认识C语言运算符的示意
C语言printf函数的实现
1. /? 释义:在书写连续多个问好时使用,防止他们被解析成三字字词    2. /’ 释义用于表示字符常量
      3. /“ 释义:用于表示一个自负床内部的双引号4. //释义:用于表示一个反斜杠,防止他被解释成为一个转义序列符   5. /a 释义:警告字符,蜂鸣
      6. /b 释义:退格符   7. /f 释义:换页符   9./n 释义:换行符 10. /t释义:水平制表符(8个空格)11. /ddd 释义:ddd表示1-3个八进制的数字,如:120
      12./xdd 释义:dd表示2个十六进制数字,如:/x30

眼镜蛇不戴眼镜 发表于 2024-1-22 23:18:13

第五节课下:二进制,十进制,十六进制的转化
2进制数10进制数16进制数                                                      例:二进制:1111 1011十六进制 0xfb         十进制:251                     
   0             0          00
   1             1          1
   10         2          2
   11         3          3
   100         4          4
   101         5          5
   110         6          6
   111         7          7      
   1000       8          8
   1001       9          9
                  10         A
                  11         B
                  12         C
                  13         D
                  14         E
                  15         F
                  16      10
                              11
变量
unsigned char 0~255
unsigned int 0~65535
char       -255
int      -65535
                  

眼镜蛇不戴眼镜 发表于 2024-1-23 11:48:02

第六节课上:学习到了通过延时函数给LED闪烁
初步掌握LED的几个IO引脚
#define 的使用和用法,要先定义一个IRC系统时钟,为24000000UL
while和do while区别
学习C语言在单片机编程中的应用。掌握变量声明、数据类型、运算符、控制结构(如if语句、循环等)、函数等基础语法。
在实验过程中,可能遇到的问题,比如程序有错误有警告,错误在哪,警告在哪,使我有排查错误的能力
这使我开始可能只是想学习如何让LED灯闪烁,但过程中涉及到更广泛的知识,也让我更有兴趣的继续学习32位单片机

眼镜蛇不戴眼镜 发表于 2024-1-23 14:10:32

第六节课下:重点在模块化编程   固定模式: .h文件里面#ifndef #define #endif   调用:#include ” “
模块化编程的好处:
1.模块化编程鼓励我们将代码分成多个模块,每个模块负责一个特定的功能。在Keil 5中,你可以创建多个源文件(.c和.h文件),并将它们组织在不同的文件夹中,如src和inc,以便于管理。
2.模块化编程提高了代码的重用性。你可以编写一个函数或一个模块,然后在不同的项目中重复使用它,只需调用该模块提供的接口即可。
3.当程序变得非常大时,模块化编程可以帮助我们更好地组织代码,从而使程序更易于维护和调试。每个模块可以独立编译和测试,这有助于及早发现问题。
4.在模块化编程的学习过程中,重要的是理解每个模块的职责,并确保模块间的接口清晰明确,这样可以使整个系统更加模块化、易于理解和扩展。

眼镜蛇不戴眼镜 发表于 2024-1-23 16:31:51

第七节课上:按键控制LED
按键消抖,在按键按下和按键松开的时候,有一小段时间会进行按键检测,这时候要用延时进行消抖处理,由于按键的机械特性,按键按下和释放时会产生抖动,导致信号的不稳定。在程序中加入消抖处理是必要的,可以保证按键信号的稳定性和可靠性。
在编程中,按键模块,在编程放置按键进行的位置不一样,控制LED的灯亮灭情况也不一样
可以通过串口助手查看按键的实时情况,看是否有消抖,或者取反是否是按下取反,还是一直按下一直取反
长按与短按的情况要看代码控制
页: [1] 2 3
查看完整版本: STC32的学习打卡