整个的51部分的伪代码简写如下:
1 void sendData()
2 {}
3 void time()
4 {}
5 void keysChecked()
6 {
7 return loca;
8 return key_state;
9 }
10 main()
11 {
12 init();
13 while(1)
14 {
15 if(keysChecked = 1) //放到中断处理比较好
16 {
17 temp_time = time (now);
18 temp_location = key_loca;
19 temp_state = key_state;
20 SBUF = temp_time | temp_location | temp_state;
21 }
22 }
23 }
24 void init();
由此段粗糙的伪代码可以得出应该设计出如下几个模块:初始化、发送数据、矩阵键盘检测、时间模块以及一些的中断处理程序,以上的伪代码只做大致的框架参考之用。
下面开始各个部分的设计:
一,设计一个按键后产生中断的程序
及按键后产生中断,然后将此时的按键位置+按键状态+按键的时间等信息发送给上位机
二,设计一个计时模块
进行时间统计,将按键时的时间进行精确的定时,