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

不在一组IO口的矩阵按键扫描程序C语言如何处理?

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:74
  • 最近打卡:2025-04-29 13:02:20
已绑定手机

0

主题

130

回帖

174

积分

注册会员

积分
174
发表于 2024-11-23 11:14:55 来自手机 | 显示全部楼层
可以试试用一组adc值,不同按键接上不同电阻,用adc电压检测判断那个按键按下,io不够是个不错的法子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:74
  • 最近打卡:2025-04-29 13:02:20
已绑定手机

0

主题

130

回帖

174

积分

注册会员

积分
174
发表于 2024-11-23 11:15:48 来自手机 | 显示全部楼层
但是这样好像需要改电路
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-11-23 11:22:54 | 显示全部楼层
胡*** 发表于 2024-11-23 11:14
可以试试用一组adc值,不同按键接上不同电阻,用adc电压检测判断那个按键按下,io不够是个不错的法子 ...

你这里成另一种方案了  
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2024-11-24 09:51:48 | 显示全部楼层
请善用bdata,速度快,效率高
  1. sbit C1 = P0^4;
  2. sbit C2 = P0^3;
  3. sbit C3 = P0^1;
  4. sbit C4 = P0^0;
  5. sbit R1 = P0^7;
  6. sbit R2 = P0^6;
  7. sbit R3 = P0^5;
  8. sbit R4 = P1^5;
  9. uchar bdata GPIO = 0xFF;
  10. sbit GPIO_0 = GPIO^0;
  11. sbit GPIO_1 = GPIO^1;
  12. sbit GPIO_2 = GPIO^2;
  13. sbit GPIO_3 = GPIO^3;
  14. sbit GPIO_4 = GPIO^4;
  15. sbit GPIO_5 = GPIO^5;
  16. sbit GPIO_6 = GPIO^6;
  17. sbit GPIO_7 = GPIO^7;
  18. void Write_GPIO(uchar Dat)
  19. {
  20.         GPIO = Dat;
  21.         C4 = GPIO_0;
  22.         C3 = GPIO_1;
  23.         C2 = GPIO_2;
  24.         C1 = GPIO_3;
  25.         R1 = GPIO_4;
  26.         R2 = GPIO_5;
  27.         R3 = GPIO_6;
  28.         R4 = GPIO_7;
  29. }
  30. uchar Read_GPIO()
  31. {
  32.         uchar Dat;
  33.         GPIO_0 = C4;
  34.         GPIO_1 = C3;
  35.         GPIO_2 = C2;
  36.         GPIO_3 = C1;
  37.         GPIO_4 = R1;
  38.         GPIO_5 = R2;
  39.         GPIO_6 = R3;
  40.         GPIO_7 = R4;
  41.         Dat = GPIO;
  42.         return Dat;
  43. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-11-24 11:29:01 | 显示全部楼层
Lkck*** 发表于 2024-11-24 09:51
请善用bdata,速度快,效率高

不错不错,另一种变换思路!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3190

回帖

4870

积分

论坛元老

积分
4870
发表于 2024-11-24 13:23:54 来自手机 | 显示全部楼层
Lkck8210 发表于 2024-11-24 09:51
请善用bdata,速度快,效率高

还能这样玩啊
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 09:04 , Processed in 0.116650 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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