第九集
认识各种各样不同功能的数码管,本质是点亮内部的LED来显示。认识数码管的引脚对应内部二极管单元的排列。
数码管分共阴极和共阳极,共阴极是内部二极管反向端都连接在一起接地,共阳极是内部二极管同向端都连接在一起接电VCC。
四位数码管的介绍,如何点亮四位数码管中的一个8,给需要点亮的那位数码管的COM端一个低电平,给该位数码管的8个段给高电平就能亮。 延时一段时间,自动显示0-9。
本帖最后由 盘龙电子 于 2023-12-14 10:33 编辑
第十集
数码管动态刷新,多位数码管同时使用,先使能第一位数码管,即给控制第一位的数码管一个低电平,然后延时一会,再使能第二位数码管,延时一会,以此类推,总的延时时间加起来不能大于20ms。这是视觉残留的一个假象,人的肉眼难以分辨。
每位数码管的开启使用数组,开启之后就给相应要显示的段码数值数组,比如0,或者1,然后延时,数组的索引值加一,定义一个变量++,就行,当下一次循环到来的时候就会自动开启下一位数码管,并显示相应数字。 本帖最后由 盘龙电子 于 2023-12-14 10:35 编辑
继续学习第11集,了解定时器其实是定时器和计数器的统称,用特殊功能寄存器相对应的控制位来选择为定时器还是计数器;定时器/计数器核心部件是一个加法计数器,其本质是对脉冲进行计数;了解定时器中断(中断频率越低越好),善用STC-ISP软件上定时器计算器工具包 本帖最后由 盘龙电子 于 2023-12-14 10:37 编辑
第十二集 了解计数器的用途,配置和应用,马达和编码器上可用计数器;学会用软件上I/O配置工具包;注意KEIL软件中0xfd问题:在带有0xfd编码的汉字后增加一个0xfd即可,具体可以看STC32G手册附录J;
计数器的设置,外部计数模式,外部下降沿(高电平变成低电平)触发。
计数器0,按键按一下,计数值就溢出,然后进入中断函数,LED0的状态翻转一次。 本帖最后由 盘龙电子 于 2023-12-14 10:40 编辑
{:smile:}第十三集
理清程序的逻辑思路。应用模块化的编程(.c+,h文件)。做好一些重要参数变量的注释,对重要的函数进行说明。
修饰符extern的使用,用在变量或者函数声明前,用来说明“此处变量/函数是在别处定义的,要在此处引用”。
extern 修饰的变量不能给初值。
bdata位寻址变量的使用。
u8 bdata LED=0x00;
sbit LED0=LED^0;
sbit LED1=LED^1;
模块化就是把需要的某种功能在 .c文件中写主体部分,如IO口的初始化函数,或者是定时计数器的初始化函数,也可以写达到某种效果的函数,这些函数需在对应的 .h文件中进行声明。后面要使用这些功能,直接在主程序最前面包含 “xx.h”文件,就可以调用这些函数了。
快捷更改函数名称。
for循环的使用,for( ; ; ),第一个是变量初始值,第二个是条件判断关系,为0,则结束循环,第三个是变量值更改,一般是自增或自减,for为有限次的循环,最终是要结束循环的。
页:
1
[2]