📄 multiplekey7led01.lst
字号:
C51 COMPILER V6.23a MULTIPLEKEY7LED01 03/16/2006 11:42:30 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MULTIPLEKEY7LED01
OBJECT MODULE PLACED IN .\MultipleKey7Led01.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\SCR\MultipleKey7Led01.c BROWSE DEBUG OBJECTEXTEND PRINT(.\MultipleKey7Le
-d01.lst) OBJECT(.\MultipleKey7Led01.obj)
stmt level source
1
2
3
4
5 //c语言 行列键盘数码管加发光二级管
6
7 #include"at89x52.h"
8 sbit Lamp=P3^7;
9 unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
10 unsigned char i; //全局变量
11 void delay(unsigned char j)
12 {
13 1 unsigned char m,k;
14 1 for(m=0;m<j;m++)
15 1 for(k=0;k<5;k++);
16 1 }
17 void Key()
18 {
19 1 unsigned char circleL,circleR,j,L,keycheckL,keycheckR,key;
20 1 circleL=253;
21 1 circleR=129;
22 1 for(j=0;j<3;j++)
23 1 {
24 2 P2=circleL;
25 2 keycheckL=P2;
26 2 keycheckL=keycheckL&240;
27 2 for(L=0;L<4;L++)
28 2 {
29 3 P2=~circleR;
30 3 keycheckR=P2;
31 3 keycheckR=keycheckR&14;
32 3 key=keycheckR|keycheckL;
33 3 if(key==254) return;
34 3 Lamp=1;
35 3 delay(1);
36 3 switch(key)
37 3 {
38 4 case 236: i=3; break;
39 4 case 234: i=2; break;
40 4 case 230: i=1; break;
41 4
42 4 case 220: i=6; break;
43 4 case 218: i=5; break;
44 4 case 214: i=4; break;
45 4
46 4 case 188: i=9; break;
47 4 case 186: i=8; break;
48 4 case 182: i=7; break;
49 4
50 4 case 124: i=0; break;
51 4 case 122: i=11; break;
52 4 case 118: i=10; break;
53 4 }
54 3 circleR=circleR>>1;
C51 COMPILER V6.23a MULTIPLEKEY7LED01 03/16/2006 11:42:30 PAGE 2
55 3 circleR++;
56 3 if((circleR&8)==8) circleR=129;
57 3 }
58 2 circleL=circleL<<1;
59 2 circleL++;
60 2 if((circleL&240)==240) circleL=253;
61 2 }
62 1 }
63 void display(void) //显示函数
64 {
65 1 P0=a[i];
66 1 }
67 main()
68 {
69 1 Lamp=0;
70 1 while(1)
71 1 {
72 2 Key();
73 2 display();
74 2 Lamp=0;
75 2 }
76 1 }
77
78
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 249 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 5
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 + -