小涵子爸爸 发表于 2024-7-6 21:29:25

想验证哪个功能自己弄个实验板也很方便,毕竟嘉立创给力

小涵子爸爸 发表于 2024-7-6 21:30:10

用积分换个屠龙刀也行

soma 发表于 2024-7-6 21:32:12

开发板蛮漂亮的

asys 发表于 2024-7-6 21:38:32

虽然第六集的标题是led闪烁和花式点灯但是 在这中见讲了很多东西
比如系统时钟设置#define MAIN_Fosc   需要设置的频率   当然也可以在stcisp的硬件选项下去自己选择需要设置的内部时钟源的频率
比如c语言的语法dowhile是先执行语句再判断结果   while 是先判断结果再执行语句
比较 利用#define宏定义的来替换名称方便后期修改
typedef 与define的区别是defing 名称在前面 不需要加分号    而typedef 则是名称写在后面加分号
define 用法   define名字需要定义的内容



在模块化编程里,函数使用分为如下三步: 1.函数定义 返回值 函数名称( 入口参数 ) { 函数要执行的功能 }
@返回值:没有返回值就是void
@函数名称:避开关键词,不重复,非特殊字符随便取
@入口参数:类型+名称,多个参数“,”分开,空就写void
2.函数声明 返回值 函数名称( 入口参数 );
3.函数调用 函数名称( 入口参数 );

还有如何模块化


1新建xxx.c和xxx.h文件,代表一个功能块。
xxx.h格式: #ifndef __XXX_H
                   #define __XXX_H 调用头文件
                  函数声明...
                     #endif xxx.c格式
                  在需要调用的文件中#include “xxx.h” 函数定义 添加文件一定要记得引用路径和添加到工程里。

asys 发表于 2024-7-6 22:10:03

本帖最后由 asys 于 2024-7-6 22:11 编辑

第7集按键点灯
当按键没有按下时,我们所定义的IO端口一直为高电平,一旦按键按下,
电流往低处走,即IO端口没有电流流过,我们检测定义的按键端口的电压为0V,
即为低电平的时候,即视为按键按下;但是我们在按下按键的过程中
电压不是骤降为0V的,中间电压的变化是抖动的

按键有一个10ms的抖动需要消抖
代码示例
if( KEY == 0 )
{
Delay_ms(10);
       if( KEY == 0 )
            { while(KEY == 0); 执行功能 }
}

后面冲哥使用了右移运算符实现了 按下按键led灯向右边依次点亮
大概是这样的
10000000
01000000+1
01100000+1
依次点亮
后面讲了数组的使用将 对应的8种状态存到数组里面   
例如这个 LED_DataTab = { 0XFE,0XFD, 0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};
下次使用的时候可以直接P6=LED_DataTab;
LED_DataTab[]中不能写8如果写8数组就越界了

asys 发表于 2024-7-14 23:07:33

接下来的我会在屠龙刀的帖子里面完成https://www.stcaimcu.com/forum.php?mod=viewthread&tid=9592
页: 1 [2]
查看完整版本: 我打算重新写写stc32的学习笔记