📄 ken.lst
字号:
C51 COMPILER V8.02 KEN 04/01/2007 22:32:37 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE KEN
OBJECT MODULE PLACED IN ken.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ken.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<stdio.h>
2 #include<reg52.h>
3 int tdelay;
4 char key;
5 void display(void);
6 void delay(int t)
7 { int i;
8 1 while(t--)
9 1 { for(i=0;i<125;i++)
10 2 {}
11 2 }
12 1 }
13 void keyscan(void)
14 { char scancode,tempcode;
15 1 display();
16 1 P2=0X00;
17 1 P1=0XFF;
18 1 delay(50);
19 1 P1=0X0F;
20 1 if((P1&0X0F)!=0X0F)
21 1 { delay(50);/*xiaodou yanshi*/
22 2 scancode=0X0E;
23 2 P1=0X0F;
24 2 switch(P1)
25 2 {
26 3 case 0x0e:tempcode=0x00;break;
27 3 case 0x0d:tempcode=0x01;break;
28 3 case 0x0b:tempcode=0x02;break;
29 3 case 0x07:tempcode=0x03;break;
30 3 default: break;
31 3 }
32 2 scancode=0X0d;
33 2 P1=0X0F;
34 2 switch(P1)
35 2 {
36 3 case 0x0e:tempcode=0x04;break;
37 3 case 0x0d:tempcode=0x05;break;
38 3 case 0x0b:tempcode=0x06;break;
39 3 case 0x07:tempcode=0x07;break;
40 3 default: break;
41 3 }
42 2 scancode=0X0b;
43 2 P1=0X0F;
44 2 switch(P1)
45 2 {
46 3 case 0x0e:tempcode=0x08;break;
47 3 case 0x0d:tempcode=0x09;break;
48 3 case 0x0b:tempcode=0x0a;break;
49 3 case 0x07:tempcode=0x0b;break;
50 3 default: break;
51 3 }
52 2 scancode=0X07;
53 2 P1=0X0F;
54 2 switch(P1)
55 2 {
C51 COMPILER V8.02 KEN 04/01/2007 22:32:37 PAGE 2
56 3 case 0x0e:tempcode=0x0c;break;
57 3 case 0x0d:tempcode=0x0d;break;
58 3 case 0x0b:tempcode=0x0e;break;
59 3 case 0x07:tempcode=0x0f;break;
60 3 default: break;
61 3 }
62 2 key=tempcode;
63 2 display();
64 2
65 2 }
66 1 }
67 void display(void)
68 { switch(key)
69 1 {case 0x00: P3=0xc0;break;
70 2 case 0x01: P3=0xf9;break;
71 2 case 0x02: P3=0xa4;break;
72 2 case 0x03: P3=0xb0;break;
73 2 case 0x04: P3=0x99;break;
74 2 case 0x05: P3=0x92;break;
75 2 case 0x06: P3=0x82;break;
76 2 case 0x07: P3=0xf8;break;
77 2 case 0x08: P3=0x80;break;
78 2 case 0x09: P3=0x98;break;
79 2 case 0x0a: P3=0x08;break;
80 2 case 0x0b: P3=0x03;break;
81 2 case 0x0c: P3=0xA7;break;
82 2 case 0x0d: P3=0xA1;break;
83 2 case 0x0e: P3=0x06;break;
84 2 case 0x0f: P3=0x8E;break;
85 2 default: P3=0xFF;break;
86 2 }
87 1 }
88 void mov(void)
89 { switch(key)
90 1 {
91 2 case 0x00: tdelay=170;break;
92 2 case 0x01: tdelay=160;break;
93 2 case 0x02: tdelay=150;break;
94 2 case 0x03: tdelay=140;break;
95 2 case 0x04: tdelay=130;break;
96 2 case 0x05: tdelay=120;break;
97 2 case 0x06: tdelay=110;break;
98 2 case 0x07: tdelay=100;break;
99 2 case 0x08: tdelay=90;break;
100 2 case 0x09: tdelay=80;break;
101 2 case 0x0a: tdelay=70;break;
102 2 case 0x0b: tdelay=60;break;
103 2 case 0x0c: tdelay=50;break;
104 2 case 0x0d: tdelay=40;break;
105 2 case 0x0e: tdelay=30;break;
106 2 case 0x0f: tdelay=20;break;
107 2 default: tdelay=10;break;
108 2 }
109 1 P0=0X01;
110 1 delay(tdelay);
111 1 delay(tdelay);
112 1 P0=0x00;
113 1 delay(tdelay);
114 1 delay(tdelay);
115 1 }
116 main()
117 { keyscan();
C51 COMPILER V8.02 KEN 04/01/2007 22:32:37 PAGE 3
118 1 display();
119 1 mov();
120 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 595 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 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 + -