找回密码
 立即注册
查看: 3514|回复: 21

STC32的学习打卡

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 2024-1-22 11:08:03 | 显示全部楼层 |阅读模式
本帖最后由 眼镜蛇不戴眼镜 于 2024-1-22 11:26 编辑

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 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用于执行时的数据存储,这使得可以运行更加复杂的程序,并且有足够的内存空间来处理大量数据。
截图202401221128035653.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 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 , 不过也好,在研究下也成功可以使用和下载程序
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 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)

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 2024-1-22 17:28:43 | 显示全部楼层
第四节课上:点亮第一个LED
    LED灯可以点亮,但是快速编译没有成功(不断电下载),不知道啥原因,文件夹里面的文件也全都放进灯里面的文件,也没有能进行快速编译,不用手动按实验箱
截图202401221718241838.jpg
截图202401221721081441.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 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
                  
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-03-05 12:45:24

1

主题

21

回帖

77

积分

注册会员

积分
77
发表于 2024-1-23 16:31:51 | 显示全部楼层
第七节课上:按键控制LED
按键消抖,在按键按下和按键松开的时候,有一小段时间会进行按键检测,这时候要用延时进行消抖处理,由于按键的机械特性,按键按下和释放时会产生抖动,导致信号的不稳定。在程序中加入消抖处理是必要的,可以保证按键信号的稳定性和可靠性。
在编程中,按键模块,在编程放置按键进行的位置不一样,控制LED的灯亮灭情况也不一样
可以通过串口助手查看按键的实时情况,看是否有消抖,或者取反是否是按下取反,还是一直按下一直取反
长按与短按的情况要看代码控制
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 22:07 , Processed in 0.116639 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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