找回密码
 立即注册
楼主: MJBZ

Ai8051U学习打卡

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-2 11:59:46 | 显示全部楼层
今天学习了《Ai8051U》深度入门教学视频的第10节课,矩阵键盘,温故而知新,又学了一些以前忘掉的和没明白的知识。,矩阵键盘可以用6个I/O控制8个微动开关,或者用8个I/O口控制16个微动开关,但是这种行列扫描的矩阵键盘没法同时识别2个距离很近的按键同时按下。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-2 16:09:58 | 显示全部楼层
今天学习了《Ai8051U深度入门》教学视频的第十一节,复位系统,学习了软件复位和硬件复位,而且复位成功是要在软硬件都运行正常的前提下进行,不是软硬件本身有bug希望通过复位恢复正常。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-2 22:11:54 | 显示全部楼层
今天学习了《Ai8051U深度入门》学习视频的第十三集 外部中断,学习到了Ai8051U的中断引脚,中断是上升沿还是下降沿的方式,中断的层级等知识。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-6 22:26:02 | 显示全部楼层
今天学习了《Ai8051U》深度入门视频的第14集 I/O口中断,学习到了I/O口中断设置,先判断那个口,再判断哪个脚,还学习到了中断等级,高级别中断可以打断低级别中断,
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-7 16:24:34 | 显示全部楼层
今天学习了《Ai8051U深度入门》学习视频的第15集定时器做计数器,学习到 C/T=0是定时器,C/T=1是计数器,以及计数器的设置方法,但是在计数器例子讲解工程中,我有些看不懂,为什么Timer1_Isr中的Count_T1 会十次脉冲累加一次?前面也没看到有调用Count_T1的地方,在SEG7_ShowLong(Count_T1*Count_Num+Count_th_tl,10),括号里的10能听懂是10进制,这个Count_T1*Count_Num+Count_th_tl又是怎么计算的?如果Count_T1=1,设置Count_Num=10,那么1*10=10,后面又是怎么计算的?
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-12-17 15:46:32
已绑定手机

1

主题

79

回帖

363

积分

中级会员

积分
363
发表于 2025-12-7 16:49:33 | 显示全部楼层
问了豆包解释了计算方法
一步:(TH1<<8)+TL1 把 8 位的 TH1 和 TL1 合并成16 位当前计数值(比如 TH1=0xFF、TL1=0xFE → 合并后是 65534);
第二步:减去初始值 65536-Count_num,得到本次溢出周期内已计数的脉冲数(比如当前计数值 65534 - 初始值 65526 = 8 → 本次已计 8 个脉冲)。
步骤 3:Count_T1*Count_num + count_th_tl 的最终计算
这一步是累计总脉冲数,分两部分:
Count_T1 * Count_num:
每次溢出代表已经计满 Count_num 个脉冲(比如 Count_num=10,溢出 1 次就是 10 个脉冲,溢出 2 次就是 20 个),这是完整溢出周期的总脉冲数;
count_th_tl:
当前未溢出周期内,已经计数但还没到溢出的剩余脉冲数(比如当前计了 8 个,还没到 10 个溢出);
两者相加:完整周期的总脉冲数 + 当前周期的剩余脉冲数 = 从开始到现在的总脉冲数。
举实际例子(假设 Count_num=10)
场景        Count_T1        TH1+TL1 当前值        count_th_tl 计算        总脉冲数(Count_T1*10 + count_th_tl)
初始状态        0        65526        65526-65526=0        0*10 + 0 = 0
计了 5 个脉冲        0        65531        65531-65526=5        0*10 + 5 = 5
计了 10 个脉冲(溢出)        1        65526        65526-65526=0        1*10 + 0 = 10
溢出后又计了 3 个        1        65529        65529-65526=3        1*10 + 3 = 13
溢出 2 次又计 7 个        2        65533        65533-65526=7        2*10 + 7 = 27
四、关键总结
Count_T1*Count_num + count_th_tl 的本质是:通过 “溢出次数 × 单次溢出脉冲数 + 当前周期未溢出脉冲数”,计算 T1 引脚检测到的外部脉冲总数,最终通过数码管以 10 进制显示这个总脉冲数。
--------------------------------------------------------
现在我明白一些 计算方法,但是这个中断函数中 增加1就是增加10 我认为是按键按10次,计数器增加1次,但是好像没有实现
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-12-18 10:26 , Processed in 0.107019 second(s), 61 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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