📄 qiang da.lst
字号:
C51 COMPILER V8.02 QIANG_DA 01/16/2007 15:16:49 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE QIANG_DA
OBJECT MODULE PLACED IN qiang da.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE qiang da.c DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
-
5 sbit P2_7=P2^7;
6 sbit P3_3=P0^0;
7 sbit P2_0=P2^0;
8 uchar temp;
9 uchar k;
10 uchar code_h;
11 bit rst;
12
13 void keyc(void);
14 //延时函数
15 void mDelay(uchar Delay)
16 { // 延时子程序
17 1 uchar i;
18 1 while(Delay--)
19 1 {
20 2 for(i = 0; i< 120; i++);
21 2 }
22 1 }
23
24 void interrupt1(void) interrupt 0 using 1
25 {
26 1 rst=1;
27 1 P2=255;
28 1 P2_7=0;
29 1 }
30 //主函数
31 void main(void)
32 {
33 1 EA=1;
34 1 IT0=1;
35 1 EX0=1;
36 1 rst=0;
37 1 while(1)
38 1 {
39 2 code_h=0xef;
40 2 P1=code_h;
41 2 temp=P1;
42 2 while(temp==code_h)//检测键盘是否有按键按下
43 2 {
44 3 code_h=(code_h<<1)|0x01;
45 3 if(code_h==0xff)
46 3 {code_h=0xef;}
47 3 P1=code_h;
48 3 temp=P1;
49 3 }
50 2 mDelay(5); //延时去抖
51 2 if(P1==temp)
52 2 {
53 3 keyc();
54 3 while(temp==P1) //等待按键放开
C51 COMPILER V8.02 QIANG_DA 01/16/2007 15:16:49 PAGE 2
55 3 {;}
56 3 }
57 2 }
58 1 }
59 //键盘操作
60 void keyc(void)
61 {
62 1 uchar key,i;
63 1 switch(temp)
64 1 {
65 2 case 0xee:
66 2 key=12;
67 2 break;
68 2 case 0xed:
69 2 key=13;
70 2 break;
71 2 case 0xeb:
72 2 key=14;
73 2 break;
74 2 case 0xe7:
75 2 key=15;
76 2 break;
77 2 case 0xde:
78 2 key=8;
79 2 break;
80 2 case 0xdd:
81 2 key=9;
82 2 break;
83 2 case 0xdb:
84 2 key=10;
85 2 break;
86 2 case 0xd7:
87 2 key=11;
88 2 break;
89 2 case 0xbe:
90 2 key=4;
91 2 break;
92 2 case 0xbd:
93 2 key=5;
94 2 break;
95 2 case 0xbb:
96 2 key=6;
97 2 break;
98 2 case 0xb7:
99 2 key=7;
100 2 break;
101 2 case 0x7e:
102 2 key=0;
103 2 break;
104 2 case 0x7d:
105 2 key=1;
106 2 break;
107 2 case 0x7b:
108 2 key=2;
109 2 break;
110 2 case 0x77:
111 2 key=3;
112 2 break;
113 2 }
114 1 if(rst)
115 1 {
116 2 P2=table[key];
C51 COMPILER V8.02 QIANG_DA 01/16/2007 15:16:49 PAGE 3
117 2 rst=0;
118 2 P3_3=0;
119 2 mDelay(100);
120 2 P3_3=1;
121 2 for(i=0;i<40;i++)
122 2 {
123 3 mDelay(250);
124 3 if(rst)
125 3 break;
126 3 }
127 2 }
128 1 else
129 1 {
130 2 rst=0;
131 2 for(i=0;i<4;i++)
132 2 {
133 3 P2=table[key];
134 3 P3_3=0;
135 3 mDelay(200);
136 3 P3_3=1;
137 3 P2=255;
138 3 mDelay(200);
139 3 if(rst)
140 3 break;
141 3 }
142 2 }
143 1 }
144
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 307 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 2
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -