📄 key.lst
字号:
C51 COMPILER V7.06 KEY 10/15/2007 16:28:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN KEY.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE KEY.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //one key detect
2 #include<reg51.h>
3 #include<stdio.h>
4
5 unsigned int KEY1,KEY2;
6 unsigned int KEY3,KEY4;
7 unsigned int KEY5,KEY6;
8 unsigned int KEY7,KEY8;
9
10 unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
11 unsigned int keytmp,tmp;
12
13 void delay(unsigned int i)
14 {
15 1 for (;i>0;i--);
16 1 }
17 //main()
18 void KEY_Scaning(void)
19 { // unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
20 1 unsigned int keytmp,tmp;
21 1 //unsigned int i;
22 1 P1=0x00;
23 1
24 1 //while(1)
25 1 {
26 2 P3=0xff;
27 2 P3=0xfe; //第一行置零
28 2 tmp=P3;
29 2 keytmp=tmp&0xf0;
30 2
31 2 if(keytmp!=0xf0)
32 2 {
33 3 delay(10);
34 3 tmp=P3;
35 3 keytmp=tmp&0xf0;
36 3 if(keytmp!=0xf0)
37 3 {
38 4 switch(keytmp)
39 4 {
40 5 case 0xe0:
41 5 KEY1=1; break;
42 5 case 0xd0:
43 5 KEY2=1; break;
44 5 case 0xb0:
45 5 KEY3=1; break;
46 5 case 0x70:
47 5 KEY4=1; break;
48 5 default :
49 5 break;
50 5 }
51 4 //tmp=P3;
52 4 // keytmp=tmp&0xf0;
53 4 // while(keytmp!=0xf0)
54 4 // {tmp=P3;
55 4 // keytmp=tmp&0xf0;}
C51 COMPILER V7.06 KEY 10/15/2007 16:28:53 PAGE 2
56 4 }
57 3 }
58 2 P3=0xff;
59 2 P3=0xfd; //第二行置零
60 2 tmp=P3;
61 2 keytmp=tmp&0xf0;
62 2 if(keytmp!=0xf0)
63 2 {
64 3 delay(10);
65 3 tmp=P3;
66 3 keytmp=tmp&0xf0;
67 3 if(keytmp!=0xf0)
68 3 {
69 4 switch(keytmp)
70 4 {
71 5 case 0xe0:
72 5 KEY5=1; break;
73 5 case 0xd0:
74 5 KEY6=1; break;
75 5 case 0xb0:
76 5 KEY7=1; break;
77 5 case 0x70:
78 5 KEY8=1; break;
79 5 default :
80 5 break;
81 5 }
82 4 // tmp=P3;
83 4 //keytmp=tmp&0xf0;
84 4 //while(keytmp!=0xf0)
85 4 //{tmp=P3;
86 4 //keytmp=tmp&0xf0;}
87 4
88 4 }
89 3 }
90 2 }
91 1 }
92 void INT0ISR(void) interrupt 0 using 3
93 { unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
94 1 unsigned int i;
95 1 P1=0x00;
96 1 EX0=0;
97 1 KEY_Scaning();
98 1
99 1 PX0=1;
100 1 P3=0xfc;
101 1
102 1 if(KEY1==1)
103 1 { while(1)
104 2 {
105 3 for (i=0;i<8;i++)
106 3 {
107 4 P1=STEPXY[i];
108 4 delay(5000);
109 4 }
110 3 }
111 2 }
112 1 if(KEY5==1)
113 1 { while(1)
114 2 {
115 3
116 3 P1=0x00;
117 3 }
C51 COMPILER V7.06 KEY 10/15/2007 16:28:53 PAGE 3
118 2 }
119 1
120 1 EX0=1;
121 1 }
122 main()
123 {
124 1
125 1 P1=0x00;
126 1
127 1 IP=0x0b;
128 1 IT0=0;
129 1 EX0=1;
130 1 PX0=1;
131 1 EA=1;
132 1 P3=0xfc;
133 1 // while(1);
134 1 }
135
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 315 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 8
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 + -