张小哥

CH549 microcontroller custom USB keyboard

 
Overview

![4.jpg]![2.jpg]## 硬件电路
硬件非常简单,就是一个ch549的最小系统加上按键二极管。
![3.jpg]## 程序讲解
- **扫描程序**
常规的矩阵键盘扫描方式,digital17共有5行4列,逐行扫描,先把第一行ROW1置为低电平,再扫描所有的列, 如果某一列的电平为低,说明这一列有按键按下,依次扫描保存按键状态。
- **消抖程序**
扫描一行的周期是2ms,扫描所有按键一轮周期大概为10ms,扫描8次为80ms,只要这80ms内按键值相同说明这个按键处于按下状态,我采用的做法是用变量把每一个按键的扫描状态保存起来,扫描一轮就左移1位,只要这个按键的扫描状态为0xf0,那么这个按键就是按下状态。
整个程序是在VSCode+SDCC环境下编写的,不涉及任何商业,非常适合开源出来折腾。
![微信截图_20230304142248.png]**后面的计划:**
1. 整理代码并开源,方便网友自定义按键功能;
2. 折腾上位机,实时更改按键功能;
(ps.等我教资考完考上事业编吧~有时间的话)
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2024-11-15 02:05:58

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号