?? keybscan.lst
字號:
C51 COMPILER V8.09 KEYBSCAN 05/09/2009 09:29:55 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE KEYBSCAN
OBJECT MODULE PLACED IN keybscan.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keybscan.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <stdarg.h>
3 #include <stdio.h>
4 #include <math.h>
5
6 #define ulong unsigned long
7 #define uint unsigned int
8 #define uchar unsigned char
9 /*********************************************************************
10 **** Keyboard Scanner ****
11 *************************/
12 extern void delay()// 延時函數
13 {
14 1 unsigned int i,j;
15 1 for(i=30;i>0;i--)
16 1 for(j=256;j>0;j--);
17 1
18 1 }
19
20 uchar scankeypad ()
21 { unsigned char key=16,temp;
22 1 P1=0xef;//掃描第一行
23 1 temp=P1;
24 1 if((temp&0x0f)!=0x0f)
25 1 {
26 2 delay();
27 2 temp=P1;
28 2 if ((temp&0x0f)!=0x0f)
29 2 {
30 3 switch(temp)
31 3 {
32 4 case 0xee:key=3;break;
33 4 case 0xed:key=2;break;
34 4 case 0xeb:key=1;break;
35 4 case 0xe7:key=0;break;
36 4 }
37 3 }
38 2 }
39 1
40 1 P1=0xdf;//掃描第二行
41 1 temp=P1;
42 1 if((temp&0x0f)!=0x0f)
43 1 {
44 2 delay();
45 2 temp=P1;
46 2 if ((temp&0x0f)!=0x0f)
47 2 {
48 3 switch(temp)
49 3 {
50 4 case 0xde:key=7;break;
51 4 case 0xdd:key=6;break;
52 4 case 0xdb:key=5;break;
53 4 case 0xd7:key=4;break;
54 4 }
55 3
C51 COMPILER V8.09 KEYBSCAN 05/09/2009 09:29:55 PAGE 2
56 3 }
57 2 }
58 1
59 1 P1=0xbf;//掃描第三行
60 1 temp=P1;
61 1 if((temp&0x0f)!=0x0f)
62 1 {
63 2 delay();
64 2 temp=P1;
65 2 if ((temp&0x0f)!=0x0f){
66 3 switch(temp)
67 3 {
68 4 case 0xbe:key=11;break;
69 4 case 0xbd:key=10;break;
70 4 case 0xbb:key=9;break;
71 4 case 0xb7:key=8;break;
72 4 }
73 3
74 3 }
75 2
76 2 }
77 1
78 1 P1=0x7f;//掃描第四行
79 1 temp=P1;
80 1 if((temp&0x0f)!=0x0f)
81 1 {
82 2 delay();
83 2 temp=P1;
84 2 if ((temp&0x0f)!=0x0f){
85 3 switch(temp)
86 3 {
87 4 case 0x7e:key=15;break;
88 4 case 0x7d:key=14;break;
89 4 case 0x7b:key=13;break;
90 4 case 0x77:key=12;break;
91 4 }
92 3
93 3 }
94 2 }
95 1 return key;
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 340 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -