📄 keyboard.lst
字号:
C51 COMPILER V8.05a KEYBOARD 08/03/2007 21:31:13 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE KEYBOARD
OBJECT MODULE PLACED IN keyboard.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE keyboard.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "keyboard.h"
2
3 void delaynop()
4 {
5 1 uint16 i=10;
6 1 for (;i-->0;)
7 1 {
8 2
9 2 }
10 1 }
11 void get_keycode(uint8 *keycode,uint8 keylen)
12 {
13 1 uint8 i,j,keytemp=0;
14 1 CS=1;
15 1 SL=0;
16 1 SL=1;
17 1 CLK=1;
18 1 CS=0;
19 1 for (i=0;i<keylen;i++)
20 1 {
21 2 keytemp=0;
22 2 for(j=0;j<8;j++)
23 2 {
24 3 CLK=1;
25 3 CLK=0;
26 3 keytemp<<=1;
27 3 keytemp=keytemp|OUT;
28 3 }
29 2 keycode[i]=keytemp;
30 2 }
31 1 CS=1;
32 1 SL=0;
33 1 }
34
35 void get_keynum(uint8 *key_buffer,uint8 keylen,uint8 buffer_length)
36 {
37 1 uint8 i=0,j=0;
38 1 CS=1;
39 1 SL=0;
40 1 SL=1;
41 1 CLK=1;
42 1 CS=0;
43 1 while (i<keylen*8&&j<buffer_length)
44 1 {
45 2 CLK=1;
46 2 CLK=0;
47 2 if (!OUT) key_buffer[j++]=i;
48 2 i++;
49 2 }
50 1 CS=1;
51 1 SL=0;
52 1 }
53
54 void get_keyrows(uint8 **key_buffer,uint8 keylen,uint8 buffer_rows)
55 {
C51 COMPILER V8.05a KEYBOARD 08/03/2007 21:31:13 PAGE 2
56 1 uint8 i=0,j=0,pbf=0;
57 1 CS=1;
58 1 SL=0;
59 1 SL=1;
60 1 CLK=1;
61 1 CS=0;
62 1 for ( i=0; i<keylen; i++)
63 1 {
64 2 for ( j=0, pbf=0; j<8, pbf<buffer_rows; j++)
65 2 {
66 3 CLK=1;
67 3 CLK=0;
68 3 if (!OUT) key_buffer[i][pbf++]=j;
69 3 }
70 2 }
71 1 CS=1;
72 1 SL=0;
73 1 }
74
75 uint8 get_keycount(uint8 keylen)
76 {
77 1 uint8 i,cnt=0;
78 1 CS=1;
79 1 SL=0;
80 1 SL=1;
81 1 CLK=1;
82 1 CS=0;
83 1 for (i=0;i<keylen*8;i++)
84 1 {
85 2 CLK=1;
86 2 CLK=0;
87 2 if (!OUT) cnt++;
88 2
89 2 }
90 1 CS=1;
91 1 SL=0;
92 1 return cnt;
93 1 }
94 /*
95 void main()
96 {
97 uint8 *keys;
98 keys=(uint8*)malloc(2*sizeof(uint8));
99 get_keycode(keys,2);
100 P2=keys[0];
101 }*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 322 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 16
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -