📄 test.lst
字号:
C51 COMPILER V8.02 TEST 09/04/2008 22:42:00 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE test.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************************************
2 名 称:“test.c”
3
4 Copyright:鸵鸟电子工作室 hrbeu P.R.C.
5
6 功 能:在MINI实验板上,开机自检测程序,
7 1. P0口驱动8个led 循环显示 ,蜂鸣器鸣叫
8 2. 数码管显示
9 3. 按键测试
10 4. DAC0932测试
11 5. ADC0804测试
12
13
14
15 作 者:彪哥&东方未晞
16
17 日 期:2008年9月1日
18
19 *****************************************************************************/
20 #include<reg52.h>
21 #include<intrins.h>
22 #define uchar unsigned char
23 #define uint unsigned int
24
25 sbit beep=P2^7;
26 unsigned int a,b,c;
27 unsigned char d;
28 int i;
29
30 sbit dula=P2^4;
31 sbit wela=P2^6;
32 sbit P23=P2^3;
33 sbit P25=P2^5;
34
35 uchar code table[]={
36 0x3f,0x06,0x5b,0x4f,
37 0x66,0x6d,0x7d,0x07,
38 0x7f,0x6f,0x77,0x7c,
39 0x39,0x5e,0x79,0x71};
40 uchar temp,num;
41
42 void led();
43 void shumaguan();
44 delay(int);
45 display(uchar);
46
47 void main()
48 {
49 1 while(1)
50 1 {
51 2 P1=0xfe;
52 2 temp=P1;
53 2 temp=temp&0xf0;
54 2 if(temp!=0xf0)
55 2 {
C51 COMPILER V8.02 TEST 09/04/2008 22:42:00 PAGE 2
56 3 delay(50);
57 3 if(temp!=0xf0)
58 3 {
59 4 switch(temp)
60 4 {
61 5 case 0xe0: led();
62 5 break;
63 5 case 0xd0: shumaguan();
64 5 break;
65 5 case 0xb0: num=2;
66 5 break;
67 5 case 0x70: num=3;
68 5 break;
69 5
70 5 }
71 4 }
72 3 }
73 2
74 2 P1=0xfd;
75 2 temp=P1;
76 2 temp=temp&0xf0;
77 2 if(temp!=0xf0)
78 2 {
79 3 delay(50);
80 3 if(temp!=0xf0)
81 3 {
82 4 switch(temp)
83 4 {
84 5 case 0xe0: num=4;
85 5 break;
86 5 case 0xd0: num=5;
87 5 break;
88 5 case 0xb0: num=6;
89 5 break;
90 5 case 0x70: num=7;
91 5 break;
92 5
93 5 }
94 4 }
95 3 }
96 2
97 2 P1=0xfb;
98 2 temp=P1;
99 2 temp=temp&0xf0;
100 2 if(temp!=0xf0)
101 2 {
102 3 delay(50);
103 3 if(temp!=0xf0)
104 3 {
105 4 switch(temp)
106 4 {
107 5 case 0xe0: num=8;
108 5 break;
109 5 case 0xd0: num=9;
110 5 break;
111 5 case 0xb0: num=10;
112 5 break;
113 5 case 0x70: num=11;
114 5 break;
115 5
116 5 }
117 4 }
C51 COMPILER V8.02 TEST 09/04/2008 22:42:00 PAGE 3
118 3 }
119 2
120 2 P1=0xf7;
121 2 temp=P1;
122 2 temp=temp&0xf0;
123 2 if(temp!=0xf0)
124 2 {
125 3 delay(50);
126 3 if(temp!=0xf0)
127 3 {
128 4 switch(temp)
129 4 {
130 5 case 0xe0: num=12;
131 5 break;
132 5 case 0xd0: num=13;
133 5 break;
134 5 case 0xb0: num=14;
135 5 break;
136 5 case 0x70: num=15;
137 5 break;
138 5
139 5 }
140 4 }
141 3 }
142 2 // display(num);
143 2 }
144 1 }
145
146 void led()
147 {
148 1 i=5;
149 1 while(i--)
150 1 {
151 2 d=0xfe;
152 2 for(c=8;c>0;c--)
153 2 {
154 3 P0=d;
155 3 beep=0;
156 3 delay(50);
157 3 beep=1;
158 3 delay(50);
159 3 d=_crol_(d,1);
160 3 }
161 2 d=0x7f;
162 2 for(c=8;c>0;c--)
163 2 {
164 3 P0=d;
165 3 beep=0;
166 3 delay(50);
167 3 beep=1;
168 3 delay(50);
169 3 d=_cror_(d,1);
170 3 }
171 2
172 2 }
173 1
174 1
175 1
176 1
177 1
178 1 }
179
C51 COMPILER V8.02 TEST 09/04/2008 22:42:00 PAGE 4
180 void shumaguan()
181 {
182 1 i=5;
183 1 while(i--)
184 1 {
185 2 for(num=0;num<16;num++)
186 2 {
187 3 P23=0;
188 3 P25=0;
189 3 P0=table[num+1];
190 3 dula=1;
191 3 dula=0;
192 3 P0=0x00;//00000000 修改这里可以改变显示的位数 0:显示; 1:不显示
193 3 wela=1;
194 3 wela=0;
195 3 delay(500);
196 3 }
197 2 }
198 1
199 1 }
200 delay(int x)
201 {
202 1 int a,b;
203 1 for(a=x;a>0;a--)
204 1 for(b=200;b>0;b--);
205 1 }
206 display(uchar num1)
207 {
208 1 P23=0;
209 1 P25=0;
210 1 P0=table[num1];
211 1 dula=1;
212 1 dula=0;
213 1 P0=0x00;
214 1 wela=1;
215 1 wela=0;
216 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 503 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 ----
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 + -