找回密码
 立即注册
楼主: Ostri***

【实验箱已送】【跟着冲哥学32位8051】学习日记

[复制链接]

该用户从未签到

6

主题

3

回帖

56

积分

注册会员

积分
56
发表于 2023-7-5 12:16:48 | 显示全部楼层
STC爱好者 发表于 2023-6-29 08:58
楼主学习精神可嘉,学到第13节,简易多任务处理,
就提前送您实验箱,帮助提高学习效率
凡是8051连的兄弟, ...

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

点评

https://kcer001.taobao.com/  详情 回复 发表于 2023-7-5 14:18
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    2023-12-13 11:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    339

    回帖

    1667

    积分

    版主

    积分
    1667
    发表于 2023-7-5 14:18:53 | 显示全部楼层
    wb4916 发表于 2023-7-5 12:16
    请问老哥你这个屏幕是12864的吗?还是其他分辨率的?
    规格?
    购买链接可以提供一下吗? ...

    https://kcer001.taobao.com/
    QQ:2269694595     微信:18106296594
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

    积分
    877
     楼主| 发表于 2023-7-5 23:17:16 | 显示全部楼层
    STC爱好者 发表于 2023-7-5 14:18
    https://kcer001.taobao.com/

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

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

    积分
    877
     楼主| 发表于 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: 思考: 按键还有一个可能是双击,但代码处理可能比较复杂
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

    积分
    877
     楼主| 发表于 2023-7-6 22:57:24 | 显示全部楼层
    【打卡】【第十三集:简易多任务处理下】

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

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

    积分
    877
     楼主| 发表于 2023-7-11 03:24:44 | 显示全部楼层
    STC爱好者 发表于 2023-6-29 08:58
    楼主学习精神可嘉,学到第13节,简易多任务处理,
    就提前送您实验箱,帮助提高学习效率
    凡是8051连的兄弟, ...

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

    点评

    【免费+包邮】 送/申样/采购热线:0513-55012928、0513-55012929、0513-55012966 工作时间: 8:30-12:00 13:00-17:30(周一 到 周五, 法定节假日除外),也可加如下 QQ 或 微信 申请 加STC华南区客服刘经理QQ: 3398  详情 回复 发表于 2023-7-11 08:33
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-12-13 11:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    339

    回帖

    1667

    积分

    版主

    积分
    1667
    发表于 2023-7-11 08:33:31 | 显示全部楼层
    OstrichFly 发表于 2023-7-11 03:24
    谢谢版主鼓励,学到了第14章,掌握了GPIO、按键、数码管、定时器等很多知识。
    也谢谢冲哥这么好的视频。
    ...

    【免费+包邮】 送/申样/采购热线:0513-55012928、0513-55012929、0513-55012966
    工作时间:  8:30-12:00  13: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   要求 【免费+包邮】 送, 还免费教仿真
    QQ:2269694595     微信:18106296594
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 158 天

    [LV.7]常住居民III

    1

    主题

    59

    回帖

    877

    积分

    高级会员

    积分
    877
     楼主| 发表于 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:使用中断检测按键,具有一个优点,就是即使程序正在执行其他动作,
       按键按下时也会被检测出来,并完成相应的动作,这比前面章节中的按键检测反应快。
       比如一些危险机器上的急停按钮,就必须使用中断的方式,而不是程序检测的方式。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-21 04:16 , Processed in 0.068505 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表