📄 +
字号:
C51 COMPILER V8.05a __阵检测 03/20/2012 18:08:52 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE __阵检测
OBJECT MODULE PLACED IN 矩阵检测.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE 矩阵检测.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /* 广州手之创电子科技有限公司
2 公司网址首页:http://www.soochange.com
3 http://www.sochange.cn
4 公司淘宝网店:http://sochange.taobao.com/
5 联系电话(传真):020-62199826
6 联系电话:020-28991152
7 公司官方qq(添加好友者请写上贵公司名称,本q只对企业客户开发):779827265
8 技术qq1:956626567
9 技术qq2:974205767
10 */
11 #include<reg52.h>
12 #define uint unsigned int
13 #define uchar unsigned char
14 sbit duan=P1^0; //数码管端码使能端
15 sbit wei=P1^1;//数码管位码使能端
16 sbit Leden=P1^2;//LED灯控制端
17 sbit Line=P1^3;//点阵行控制端
18
19
20 uchar code table[]= {
21 0x80,0x3f,0x76,0x5e,
22 0x07,0x7f,0x6f,0x39,
23 0x66,0x6d,0x7d,0x7c,
24 0x06,0x5b,0x4f,0x77,0
25 };
26
27
28 uchar num,temp,num1;
29
30
31 void delay(uint z)
32 {
33 1 uint x,y;
34 1 for(x=z;x>0;x--)
35 1 for(y=110;y>0;y--);
36 1 }
37 uchar keyscan();
38 void display(uchar aa);
39 void main()
40 {
41 1 P0=0X00; //关闭点阵
42 1 Line=0;
43 1 P0=0XFF; //关闭LED灯
44 1 Leden=0;
45 1 num=17;
46 1 duan=1;
47 1 P0=0;
48 1 duan=0;
49 1 wei=1;
50 1 P0=0x00;
51 1 wei=0;
52 1
53 1 while(1)
54 1 {
55 2 display(keyscan());
C51 COMPILER V8.05a __阵检测 03/20/2012 18:08:52 PAGE 2
56 2 }
57 1 }
58 void display(uchar aa)
59 {
60 1 duan=1;
61 1 P0=table[aa-1];
62 1 duan=0;
63 1 }
64 uchar keyscan()
65 {
66 1 P2=0xfe;
67 1 temp=P2;
68 1 temp=temp&0xf0;
69 1 while(temp!=0xf0)
70 1 {
71 2 delay(5);
72 2 temp=P2;
73 2 temp=temp&0xf0;
74 2 while(temp!=0xf0)
75 2 {
76 3 temp=P2;
77 3 switch(temp)
78 3 {
79 4 case 0xee:num=1;
80 4 break;
81 4 case 0xde:num=2;
82 4 break;
83 4 case 0xbe:num=3;
84 4 break;
85 4 case 0x7e:num=4;
86 4 break;
87 4 }
88 3 while(temp!=0xf0)
89 3 {
90 4 temp=P2;
91 4 temp=temp&0xf0;
92 4 }
93 3 }
94 2 }
95 1
96 1 P2=0xfd;
97 1 temp=P2;
98 1 temp=temp&0xf0;
99 1 while(temp!=0xf0)
100 1 {
101 2 delay(5);
102 2 temp=P2;
103 2 temp=temp&0xf0;
104 2 while(temp!=0xf0)
105 2 {
106 3 temp=P2;
107 3 switch(temp)
108 3 {
109 4 case 0xed:num=5;
110 4 break;
111 4 case 0xdd:num=6;
112 4 break;
113 4 case 0xbd:num=7;
114 4 break;
115 4 case 0x7d:num=8;
116 4 break;
117 4 }
C51 COMPILER V8.05a __阵检测 03/20/2012 18:08:52 PAGE 3
118 3 while(temp!=0xf0)
119 3 {
120 4 temp=P2;
121 4 temp=temp&0xf0;
122 4 }
123 3 }
124 2 }
125 1
126 1
127 1 P2=0xfb;
128 1 temp=P2;
129 1 temp=temp&0xf0;
130 1 while(temp!=0xf0)
131 1 {
132 2 delay(5);
133 2 temp=P2;
134 2 temp=temp&0xf0;
135 2 while(temp!=0xf0)
136 2 {
137 3 temp=P2;
138 3 switch(temp)
139 3 {
140 4 case 0xeb:num=9;
141 4 break;
142 4 case 0xdb:num=10;
143 4 break;
144 4 case 0xbb:num=11;
145 4 break;
146 4 case 0x7b:num=12;
147 4 break;
148 4 }
149 3 while(temp!=0xf0)
150 3 {
151 4 temp=P2;
152 4 temp=temp&0xf0;
153 4 }
154 3 }
155 2 }
156 1
157 1
158 1 P2=0xf7;
159 1 temp=P2;
160 1 temp=temp&0xf0;
161 1 while(temp!=0xf0)
162 1 {
163 2 delay(5);
164 2 temp=P2;
165 2 temp=temp&0xf0;
166 2 while(temp!=0xf0)
167 2 {
168 3 temp=P2;
169 3 switch(temp)
170 3 {
171 4 case 0xe7:num=13;
172 4 break;
173 4 case 0xd7:num=14;
174 4 break;
175 4 case 0xb7:num=15;
176 4 break;
177 4 case 0x77:num=16;
178 4 break;
179 4 }
C51 COMPILER V8.05a __阵检测 03/20/2012 18:08:52 PAGE 4
180 3 while(temp!=0xf0)
181 3 {
182 4 temp=P2;
183 4 temp=temp&0xf0;
184 4 }
185 3 }
186 2 }
187 1 return num;
188 1
189 1 }
190
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 414 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -