找回密码
 立即注册
查看: 1354|回复: 11

打卡学习单片机STC32,立帖记录学习过程

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-10-24 22:18:16 | 显示全部楼层 |阅读模式
个人爱好喜欢跟着各种网站做一些简单的开源硬件
但是一直都是纯硬件,对单片机没有过接触,在复刻开源加热台项目的时候接触到了STC单片机,从烧录程序开始就抓耳挠腮
找到官网打开,满满的极简风格,有如阅读datasheet,各种说明资料都相当齐备,讲诉直接,最终完成了硬件制作。
现在想想,既然不会,那就学一学,
申请了STC32G12K128核心板,毕业多年,为了兴趣爱继续好学习,立帖为证,督促自己坚持。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-10-24 22:32:36 | 显示全部楼层
第一集、第二集
由于有一点硬件基础,这两集就合并笔记了。

第一集:
介绍了单片机的概念、用途
其中比较感慨的就是里面提到,“30岁还能学单片机吗?”,刚好就切合了自身情况。
另外就是鼓励动手尝试,避免一学就会,一写就废。

第二集:
主要介绍了大学计划试验箱的开发板主要模块及各自功能。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-10-26 23:43:52 | 显示全部楼层
第三集:开发环境的搭建
    1. 跟随教程安装Keil以及C251
    2. 安装stc-isp软件,目前是6.92d版
    3. 进行sample程序编译后,下载进单片机中
    4. 综上,是对keil和stc-isp这两款软件的简单使用说明
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-1 23:59:25 | 显示全部楼层
第四集(上):点亮第一颗led
    1. 了解到io口定义,p0.0中p0作为一个组,0.0是作为一个组中的成员;
    2. 重点,led点亮时,需要串联一个电阻,不然就短路后烧芯片啦。(不知道如果烧了单片机,能不能提前申请到实验箱)
    3. 照葫芦画瓢在keil中输入Demo的语句(不明白语句的意思)
    4. 了解到GPIO是操作通道的含义
    5. 通过软件操作设置,自动生产hex文件
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-5 11:11:15 | 显示全部楼层
第四集(下):不断电下载功能实现
    1. 使用stc-isp软件,进行对应设置“复位到isp监控程序区 => usb hid模式 => 自定义命令·stcisp#· => 每次下载都自动发送以及自动装载下载命令。”;
    2. 依照stc32g的技术手册,实现此功能需要在程序中需要添加自定义下载命令,以及调用usb初始化代码;
    3. 在keil中,可以通过右键选单打开头文件;
    4. 讲解函数声明和函数定义的区别,对于需要使用的函数,需要提前申明,否者在进行函数定义的时候会导致报错;
    5. Sbit语句用法,例:sbit P40=p4^0 //代表从p4寄存器取出第0位(一个寄存器有8位),然后赋值给P40
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-9 21:43:08 | 显示全部楼层
第五集(上):
    1. 学习使用printf函数,用C的语法,实现最基础的printf(“Hello World!”)  ,同时注意代码输入必须在全英文环境下进行,并且需要区分大小写。
    2. 了解二进制、十六进制
    3. 输出数字,带百分比的用法:%d为带符号的整数输出、%f为带有小数并带有符号的输出、%u为没有正负符号的整数输出(绝对值)
    4. %n.m的含义:n表示整数占几位、m表示小数占几位,例如%2.3f表示整数占2位小数点后占3位。如果以%3.3f输出10.1,会实际输出为10.100(整数百位的0不显示、小数点后用零补齐三位)
    5. 讲解hex模式和文本模式的区别,hex模式下将信息采用16进制的方式输出,将hex模式下的信息转化为10进制后,即可通过查看“ASCII打印字符表”得到文本信息
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-15 01:16:52 | 显示全部楼层
第五集(下):
    1. 在之前第四集讲到,p0是一个组,p0.0是这个组的成员,一个组有8个成员,从p0.0到p0.7,根据第五集(上)中十六进制的写法,stc单片机程序中,如果使用p0=0x00,可以等效为将p0组的8位成员全部拉低为0,如果使用p0=0xff,可以等效为将8位成员拉高位1;
    2. 与运算“&”:将两位进行比较,若均为0则输出0,若均为1则输出1,若不相同则输出0;
    3. 或运算“|”:将两位进行比较,若均为0则输出0,若均为1则输出1,若不相同则输出1;
    4. 取反运算“~”:将0输出1,将1输出0
    5. 数据基本类型:主要了解bit(0或1)、char(-128~127)、int(-32768~32767)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-19 00:07:27 | 显示全部楼层
第六集(上):
    1. 学习使用delay闪烁
    2. 1秒 = 1000毫秒,1毫秒 = 1000微秒,delay函数使用毫秒作为单位
    3. 在使用delay函数时,程序会在此等待,不再执行其他指令
    4. 了解while循环和do while循环的差异;
        1. 在使用while循环时,程序先判断条件是否位ture,然后再执行,若条件判定为f则程序结束;
        2. 在使用do while循环时,程序会先执行代码,然后再执行循环条件的判定动作;
    5. 了解a—和—a的区别,在输出a—的时候,会先输出a的值,然后再做减法,若在—a的时候,则会先做减法,再进行a的输出
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-11-25 10:05:33 | 显示全部楼层
第六集(下)
    1. 函数的使用分三步(函数定义、函数申明、函数调用)
    2. 程序写作的时候,函数定义一般写在程序末尾,然后在程序前部进行函数申明,方便在程序内容中对函数进行调用
    3. 在模块化编程中,将函数分为xxxx.h和xxxx.c文件,在.h文件中进行函数申明,在.c文件中进行函数定义
    4. 在主程序中有需要时候再对如上已经定义过的函数进行函数引用,可以保证主程序的整洁
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-12-27 22:42:57

1

主题

10

回帖

67

积分

注册会员

积分
67
发表于 2023-12-27 22:43:53 | 显示全部楼层
本帖最后由 祁连云涌 于 2024-1-29 10:10 编辑

第七集(上)
    1. 了解按键开关
    2. 按键在按下和松开的瞬间会有一个抖动,在软件实现的时候需要进行案件消抖
    3. 按键抖动时间一般是5~10ms,软件中实现逻辑,先用if key==0,然后delay_ms(10); 然后再确认if key==0;经过间隔10毫秒的两次确认按键的电平状态后,再执行操作;
    4. 在if函数后,可以再加入else函数,表示当if条件不满足时候要执行的操作
    5. While循环可以用来作为暂停程序的功能,在大括号中可以把内容给留空,则条件为真时,程序不会执行任何操作
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 21:49 , Processed in 0.113713 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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