LEE 发表于 2024-5-10 11:43:05

zhange 发表于 2024-5-10 08:52
第一集:认识单片机




低调,没给人家告你侵权{:lol:}

zhange 发表于 2024-5-10 12:45:36

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


哎吆,高级起来了,自动化下载。

这集貌似没啥难度?简单设置好,以后都是用的模版。so easy。。。

1.函数调用,函数声明,函数定义。注意三者关系。以及他们在main函数前后的关系。

2.多收集别人的例程,以后参考。。。

3.EA 中断总开关,这个记不住 后边有坑。用到中断就开他。

4.Px   //P0P1 P2

没搞明白地方:usb这两种模式啥区别,后边貌似都是用的cdc模式。



zhange 发表于 2024-5-10 15:10:36

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


1.printf:调试串口必备,上节课用的usb串口模式,这不就用到了。下边几个占位符应该就可以了吧。
printf("HELLO WORLD");
printf("%d",i);

[*]%d 整数
[*]%s 字符串
[*]%c 字符
[*]%x 十六进制


2.hex十六进制显示
进制和位数不要搞混了,位数表示的是这个字占用计算机几个位,位只能用二进制的0 1表示。
16进制1位代表2进制的4位。
0x55:是16进制表示方法,表示成二进制就是 0101 0101;单片机的存储都是二进制存储。
二进制b 表示

3.简单的十六进制转二进制记住,不会的直接科学计算器,

降龙棍露面吧!!!!

zhange 发表于 2024-5-10 15:48:47

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


1.+-*/和基本的数学运算一样,没区别。

2.++   --注意符号的顺序,在前边是先运算再引用,在后边是先引用后运算,如果这一行只有这一个变量,没有其他的了,比如(i++;)和(++i;)其实前边后边都行,注意区别就行

int jia()

int i = 0;
return i++;


int jia()

int i = 0;
return ++i;
}3.或|   有1就是1没1 那没办法了
与&   全是1才是1
异或 ^相同则为0 不相同则为1
~ 取反
!逻辑非
<<左移一位倍数乘2
>>右移一位除2
4.+=   等价于i = i+b; 新手还是老老实实的写全吧!!!
-=    & =。。。。。。简写的符号了解,上边的3条必须记住。

toddyang 发表于 2024-5-10 17:24:23

向你学习,加油

zhange 发表于 2024-5-10 17:34:34

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


1.#define    预定义

2.u8   u16   不建议使用我是新手我要记住单词   unsigned char   unsigned int

3.延时函数最好用isp软件生成,注意选择的频率,还有mcu版本,这里有巨坑.




4._nop_();无命令操作指令调用这个指令 头部需要包含intrins.h

void Delay1000us(void)        //@11.0592MHz
{
        unsigned long edata i;

        _nop_();
        _nop_();
        i = 2763UL;
        while (i) i--;
}

zhange 发表于 2024-5-11 09:42:10

第十八集:ADC采集电源电压和ADC按键上

1.adc计算公式:输入电压 = 参考电压/4096*采集的数值。反推参考电压 = 输入电压(1.19v内部的)/采集数值*4096。内部电压既然为1.19,记住就行,不读取??????

2.adc按键扫描其实就是电阻的短接,按下的按键不一样,串进来的电阻不一样,分得的电压不一样????高阻输入必须看看了。。。







疑问:


已经知道了内部参考电压为1.19v?为啥还要读取,直接推算就行。


坑:


我在那下的手册呀,和官网不一样,巨坑呀。以前手册是CHIPID07我说编译老是错误官网偷偷的把0删除了。。。。


记得就是在官网下的呀。。。。




把零去掉就可以了,内部电压数值为




zhange 发表于 2024-5-11 10:24:41

第十八集:ADC采集电源电压和ADC按键中


1.adc按键扫描和矩阵键盘比起来有高级了,占得io口又少了。

2.static修饰符   初始化一次使用范围不变。

static修饰局部变量,改变了变量的存储位置,本来一个局部变量是存储在栈区的,被static修饰之后就存储在静态区了。而静态区的变量的生命周期是全局的,出了作用域不会被销毁,下次进入作用域时还在。

注意:静态的局部变量虽然生命周期和“正常”的局部变量不同,但是作用域并没发生改变,仍然是在其局部范围内可以被使用。3.按键状态保存,可以做很多判断,

4.温习下数码管:数码管分为共阴,共阳,但是断码没变。共阳?灌电流输入

5.做时钟最好用定时器中断,16位自动重装,在中断里做时分秒自家。中断不要一直进,进的次数越少越好。

zhange 发表于 2024-5-11 10:37:43

第十八集:ADC采集电源电压和ADC按键下


好费脑子,虽然已经做过电子时钟了,但是使用的是tm1637,设置简单,没试过数码管,再刷一遍吧。。

---二刷分隔符---


zhange 发表于 2024-5-11 12:02:44

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


接着复习吧,玩adc玩累了撸不动了

1.各位兄弟,手册记得经常更新,我掉坑里了今天。

2.不知道函数和变量咋命名的可以研究下大驼峰命名(单词首字母大写)和小驼峰命名(第一个单词不大些后边的单词首字母大写)
函数命名,还是用拼音吧,英文太差了。拼音不容易混。

3.编译的时候有错误不行,有警告可行,但最好把警告排除了。一般都是函数或变量定义了没调用啥的。

4.防止重复加载
#ifndef__ADC_H
#define __ADC_H
//代码在这里
#endif
页: 1 [2] 3 4 5 6 7
查看完整版本: 【冲哥版】stc32学习心得