?? 4x4+
字號:
C51 COMPILER V7.10 4X4鍵臺 08/20/2006 16:29:19 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE 4X4鍵臺
OBJECT MODULE PLACED IN 4X4鍵盤.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4X4鍵盤.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 void delay(void);
3 unsigned char checkkey(void);
4 unsigned char key(void);
5
6 void main()
7 {
8 1 unsigned char code table[]={0x28,0xeb,0x32,0x62,0xe1,0x64,0x24,0xea,0x20,0x60,0xA0,0x25,0x3C,0x23,0x34,0x
-B4}; //0 to F
9 1 unsigned char m;
10 1
11 1 m=0;
12 1 P2=0xff;
13 1 while(1)
14 1 {
15 2 if(checkkey()!=0)
16 2 {
17 3 delay();
18 3 if(checkkey()!=0)
19 3 {
20 4 m=key();
21 4 }
22 3 }
23 2 P0=table[m];
24 2 }
25 1 }
26
27
28 unsigned char checkkey(void)
29 {
30 1 unsigned char n;
31 1 P3=0xf0;
32 1 n=P3;
33 1 return(~n&0xf0);
34 1 }
35
36
37 unsigned char key(void)
38 {
39 1 unsigned char i;
40 1 unsigned char k;
41 1 unsigned char n;
42 1 unsigned char temp;
43 1
44 1 i=0xfe;
45 1 n=5;
46 1 do
47 1 {
48 2 P3=i;
49 2 temp=~P3&0xf0;
50 2 i=(i<<1)|0x01;
51 2 }
52 1 while((--n!=0)&&(temp==0));
53 1
54 1 if(temp!=0)
C51 COMPILER V7.10 4X4鍵臺 08/20/2006 16:29:19 PAGE 2
55 1 {
56 2 if(~P3&0x80)k=16-4*n;
57 2 if(~P3&0x40)k=16-4*n+1;
58 2 if(~P3&0x20)k=16-4*n+2;
59 2 if(~P3&0x10)k=16-4*n+3;
60 2 P3=0xf0;
61 2
62 2 do
63 2 {
64 3 ;
65 3 }while(~P3&0xf0);
66 2 }
67 1 return(k);
68 1 }
69
70 void delay(void)
71 {
72 1 unsigned char j;
73 1 unsigned char k;
74 1
75 1 for(j=20;j>0;j--)
76 1 for(k=250;k>0;k--);
77 1 }
78
79
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 163 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -