AI32G学习打卡日历/学习感悟
本帖最后由 DebugLab 于 2024-10-16 13:02 编辑第1集 认识单片机
认识冲哥。心心念念的试验箱。可用于仪器仪表,工业控制,家用电器,网络通信,医疗设备,PLC,汽车控制/检测。年龄不是问题。测温枪,12位ADC。推荐寄存器,少用库函数。
静得下心,沉得住气;多动手;举一反三;发散思维,多想为什么。多看官网,多看手册。有问题多交流;善于学习别人好的东西,看别人的程序可以了解别人的逻辑思维方式,取长补短。 第2集
认识试验箱。STC32G12K128。工作电压:1.9V-5.0V。1 红外发射模块;2红外接收模块;3 电压比较器;4 数码管;5 LED灯(流水灯);6 万能板;7 NTC测温;8 18B20测温;9 ADC按键;10 基准电压;11 PWM模拟DAC;12 24C02存储芯片。13 矩阵键盘;14 独立按键;15 LCD接口 16 电源指示灯LED;17 USB接口;18 232 接口;19 FLASH扩展;20 RS232电路;21调试接口;22蜂鸣器;
RAM里面的数据,掉电会丢失。 第3集 开发环境搭建
1 ISP软件下载;集成虚拟显示功能;官网直接下载;
2 STC32G手册下载;配合目录使用。Ctrl + F 可以搜索。
3 搭建251开发环境;可以安装在默认路径下,51和251不冲突。
4 ISP的时钟跟软件要匹配
5 学会用最简单的下载方式,点了下载,还要按键,有点麻烦。 第4集
点亮第一颗 LED。GPIO:general purpose intput output通用输入输出端口。
LQFP64 共64位引脚,分8组,P0-P7。
按试验箱手册,新建新一个工程。关键词写完变成红色。
sfr P0 =0x80;
sfr P0M1= 0x93;
sfr P0M0 =0x94;
89C52 可以直接操作端口,但32G在使用端口前,需要对端口进行设置。
sbit P00=P0^0;
养成在代码后面写批注的习惯;
不断电下载
1 将lib库stc_usb_hid_32g.LIB添加到工程中
2 #include “stc.h”
#include “usb.h”
3 char *USER_STCISPCMD = “@STCISP$”
4 调用USB初始化代码;
Usb_init();
EA=1;
遇到问题不能心急,参考76例程,增加USB的相关服务程序。 第5集
Printf函数
If(DeviceState !=DEVSTATE_CONFIGURED)
Continue;
If(bUsbOutReady)
{
Usb_OUT_DONE();//接收应答(固定格式)
}
常规用法:
If(DeviceState !=DEVSTATE_CONFIGURED)
Continue;
If(bUsbOutReady)
{
Usb_OUT_DONE();//接收应答(固定格式)
Printf(“Hello World!”);
Printf(“室内温度:%.2f\r\n”,11.2);
}
注意printf格式输出。 第6集
基于Delay的LED闪烁
#define MAIN_Fosc 24000000UL //定义IRC时钟频率
Void delay_ms(U16 ms)
{
U16 I;
Do
{
I=MAIN_Fosc/6000;
While(--i);
}
While(--ms);
}
注意while和do while的差别 第6集2
函数的使用
在模块化编程里,函数使用分如下三步:
1 函数定义
2 函数声明
3 函数调用 第7集 按键点灯
按键要消抖,消抖有两种方式,一种软件延时,一种加电容
长按与短按的实现,此课程没有长按的具体实现方式
数组的使用
同样先定义,后使用。 第8集
蜂鸣器主要分两种,有源和无源,有源内部含振荡源,通电即可发声。无源蜂鸣器需要通过高低电平来发声。有源贵,无源控制灵活,可以播放音乐。其驱动电路含三极管 SS8550及1N5819,如下
第9集 数码管的静态使用
1 认识数码管 分共阴极和共阳极数码管
2 活用excel 生成相应的数组,直接调用数组可以显示相应的字符
3 8位数码管主要显示数字,也可以显示一些英文字母。
页:
[1]
2