wb4916 发表于 2023-7-5 12:16:48

STC爱好者 发表于 2023-6-29 08:58
楼主学习精神可嘉,学到第13节,简易多任务处理,
就提前送您实验箱,帮助提高学习效率
凡是8051连的兄弟, ...

请问老哥你这个屏幕是12864的吗?还是其他分辨率的?
规格?
购买链接可以提供一下吗?

清风予我 发表于 2023-7-5 14:18:53

wb4916 发表于 2023-7-5 12:16
请问老哥你这个屏幕是12864的吗?还是其他分辨率的?
规格?
购买链接可以提供一下吗? ...

https://kcer001.taobao.com/

OstrichFly 发表于 2023-7-5 23:17:16

STC爱好者 发表于 2023-7-5 14:18
https://kcer001.taobao.com/

里面好玩的东西很多啊,特别是【3mm 矩阵LED点阵屏 8x8红色 1088BS】,64个LED点阵才2块钱。

OstrichFly 发表于 2023-7-5 23:17:41

【打卡】【第十三集:简易多任务处理中】
1: 可以使用Keil的批量重命名功能,同时修改多个文件中的函数名。
2: 使用bdata定义的变量可以按位进行设置
   使用sbit就可以把它的一位与另一个变量进行关联。
3: Keil的编辑器支持列编辑,与常用的Ultraedit类似。
4:使用#define为控制每个数码管的数组设置别名,更方便在程序中使用。
5:程序中把#define、引脚定义、变量定义、函数等归类,
   可以使程序更清爽,也更容易维护,教程中常用头文件中分类顺序是:
   -------- 引脚定义 --------
   -------- 变量声明 --------
   -------- 函数声明 --------
6:按键按下后可能发生的状态变化依次为:
   <30ms 消抖
   =30ms 单击
   <3000ms 单击结束
   =3000ms 长按结束
   >3000ms 长按结束
7:上述整个过程可以使用一个函数封装,
   便于多个位置调用。
8: 思考: 按键还有一个可能是双击,但代码处理可能比较复杂

OstrichFly 发表于 2023-7-6 22:57:24

【打卡】【第十三集:简易多任务处理下】

1:按键采集函数,因为按键按下有多种情况,
   因此这是一个有返回值的函数。
2:写函数前最好先搭建函数定义、声明的框架,会让思路更清晰
3:用按键状态变量取反后与一个数字相与,可以取得该变量的第几个按键的状态
4: 设计按键检测函数时,按功能可以分为单个按键的状态检查和所有按键的状态刷新
5:单个按键的状态检查中,如果按键松开,
   还可以区分是按键按下过,还是按键从来没有被按
6:调用者需要先调用按键状态刷新(KEY_Deal)和单个按键状态监测(KEY_ReadState)

OstrichFly 发表于 2023-7-10 03:30:26

【打卡】【第十三集:简易多任务处理终】
1: 有多个按键状态监测时,使用状态机比分别检测的效率高。
   代码也简洁。
2:如果函数的返回值是状态值,最好先用宏把各个返回值定义成字符串,
   再使用字符串,这比直接使用16进制数字要容易读。
3: 只要是更改了函数,就最好马上更新函数头的说明,
   不只为了自己能看懂,也为了别人易读。
4: 对蜂鸣器等产生动作的元件,可以封装成类似:
   BEEP_ON
   BEEP_RUN
   BEEP_OFF
   的形式,虽然函数多了一些,但对于使用蜂鸣器的控制程序,
   程序中的思路反而变得简化了。
5: 全局变量在退出函数时值不会消失,因此可以用于控制蜂鸣器的工作时间,
   在BEEP_RUN中实现减一。
6: 定时器的初始化极其复杂,但在这一节中使用函数封装,
   就可以在今后使用定时器时,避免再去重新写初始化的细节程序。
7: 优秀的程序中,是不应该出现任何固定的数字的,而使通过宏来设置这些值。

OstrichFly 发表于 2023-7-11 03:22:26

【打卡】【第十四集:矩阵按键】
1: 一个IO口控制一个按键叫做独立按键,
   矩阵按键指的是少数IO口以纵横方式排列,控制多个按键的接法。
2: 矩阵按键可以减少对IO口的占用,但付出的代价是程序会比较复杂
3: 矩阵按键的数量等于行列IO口的乘积
4: 在为GPIO加上高电平到读取反馈时,需要注意加一个延时给电路的反应时间
5: 读取矩阵按键的按钮,需要重复两次为GPIO设置高电平,并读取结果电平
6: 使用case可以快速将矩阵按键的返回比特值转换为对应的按键值
7: 通过一个整数值索引显示数组,可以实现移位显示
8: 自学 - 矩阵按键也有坏处,就是不能检测几个键同时按下的情况

OstrichFly 发表于 2023-7-11 03:24:44

STC爱好者 发表于 2023-6-29 08:58
楼主学习精神可嘉,学到第13节,简易多任务处理,
就提前送您实验箱,帮助提高学习效率
凡是8051连的兄弟, ...

谢谢版主鼓励,学到了第14章,掌握了GPIO、按键、数码管、定时器等很多知识。
也谢谢冲哥这么好的视频。
是否可以提前申请一个实验箱,以便更好的做实验啊。

清风予我 发表于 2023-7-11 08:33:31

OstrichFly 发表于 2023-7-11 03:24
谢谢版主鼓励,学到了第14章,掌握了GPIO、按键、数码管、定时器等很多知识。
也谢谢冲哥这么好的视频。
...

【免费+包邮】 送/申样/采购热线:0513-55012928、0513-55012929、0513-55012966
工作时间:8:30-12:0013:00-17:30(周一 到 周五, 法定节假日除外),也可加如下 QQ 或 微信 申请
加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592要求 【免费+包邮】 送, 还免费教仿真
加STC华南区客服曹经理QQ:1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教仿真
加STC华东区客服聂经理QQ:2593903262;微信:18106296598要求 【免费+包邮】 送, 还免费教仿真
加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593要求 【免费+包邮】 送, 还免费教仿真
加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876要求 【免费+包邮】 送, 还免费教仿真
加STC华中区客服唐经理QQ:2571301708 ;微信:18106296589 要求 【免费+包邮】 送, 还免费教仿真
加STC东北区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教仿真
加STC西南区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教仿真

OstrichFly 发表于 2023-7-12 02:33:31

【打卡】【第十五集:外部中断】

1:发生中断时,CPU会立即停止当前的程序,转到中断处理,完成后再回到程序原先的位置继续执行
2:如果没有中断,CPU需要隔一段时间检查外部有没有发生什么事情,
   代码复杂并且效率低下,反过来,只要设置好中断,CPU就会自动在发生中断时转过去处理,
   而不要随时检查外部的事件了,大大简化了程序的逻辑,并且提高了效率。
3: CPU总是首先响应优先级最高的中断源,并且在处理低优先级中断时,
   可以被高优先级中断打断。
4: 可以通过软件控制打开或禁止单个中断或全部中断,并且一些中断的优先级也可以通过软件设置。
5: 并不是所有单片机支持的中断相同,常用的中断每个型号都支持,
   也有一些中断,只有指定型号的单片机才支持。
6:每个类型中断对应的引脚不同,可以通过STC的单片机手册去查询
7:要设置一个中断,牵涉ITx、IEx、EXx、EA、PXx寄存器
   只有部分中断支持IT设置,表示上升下降沿都能触发,还是只有下降沿才能触发
8:使用中断检测按键,具有一个优点,就是即使程序正在执行其他动作,
   按键按下时也会被检测出来,并完成相应的动作,这比前面章节中的按键检测反应快。
   比如一些危险机器上的急停按钮,就必须使用中断的方式,而不是程序检测的方式。
页: 1 2 3 [4] 5 6
查看完整版本: 【实验箱已送】【跟着冲哥学32位8051】学习日记