📄 1.lst
字号:
C51 COMPILER V7.08 1 06/01/2007 13:43:32 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE 1
OBJECT MODULE PLACED IN 1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3 sbit flag = P3^2;
4 unsigned char key_code = 10;
5
6 void delay() //延时函数;
7 {
8 1 unsigned char a,b;
9 1 for(a=0;a<20;a++)
10 1 for(b=0;b<100;b++);
11 1
12 1 }
13
14 key() //按键处理函数;
15 {
16 1 unsigned char k =0xfe, column = 0;
17 1 while(1)
18 1 {
19 2 SBUF = k;
20 2 while(TI !=1);
21 2 TI = 0;
22 2 if(flag != 0)
23 2 {
24 3 column++;
25 3 if(column >= 8) column = 0;
26 3 k = k<<1;
27 3
28 3 }
29 2 else
30 2 {
31 3 key_code = column;
32 3
33 3 SBUF = 0x00;
34 3 while(TI == 0);
35 3 TI = 0;
36 3 return(key_code);
37 3 break;
38 3 }
39 2 }
40 1
41 1
42 1 }
43
44
45
46
47
48 main()
49 {
50 1 SCON = 0x00;
51 1 EA = 0;
52 1 ES = 0;
53 1 SBUF = 0x00;
54 1 while(TI !=1);
55 1 TI = 0;
C51 COMPILER V7.08 1 06/01/2007 13:43:32 PAGE 2
56 1
57 1 while(1)
58 1 {
59 2 if(flag == 0)
60 2 {
61 3 delay();
62 3 if(flag == 0) key();
63 3 }
64 2
65 2 switch(key_code)
66 2 {
67 3 case 0:
68 3 P1 = 0x01;
69 3 break;
70 3 case 1:
71 3 P1 = 0x02;
72 3 break;
73 3 case 2:
74 3 P1 = 0x04;
75 3 break;
76 3 case 3:
77 3 P1 = 0x08;
78 3 break;
79 3 case 4:
80 3 P1 = 0x10;
81 3 break;
82 3 case 5:
83 3 P1 = 0x20;
84 3 break;
85 3 case 6:
86 3 P1 = 0x40;
87 3 break;
88 3 case 7:
89 3 P1 = 0x80;
90 3 break;
91 3 default:
92 3 P1 = 0x00;
93 3 break;
94 3 }
95 2 }
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 166 ----
CONSTANT SIZE = ---- ----
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 + -