📄 text1.lst
字号:
C51 COMPILER V8.05a TEXT1 08/12/2008 14:21:09 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /* ----------------------- 版权声明 ----------------------------------
2 ------------------------------ 创新科技 2007/01/05 --------------------------
3
4 -------------- Mobile:13433018379 (陶志学) ----------------------------------
5 ------ Email:taozhixue123@163.com --------
6 未经东莞市创新科技书面同意, 不得将本程序泄露、公开给第三方。
7 不得将本程序(或修改后的程序)使用在非东莞市创新科技销售的产品上。
8 客户产品上使用本程序时,客户产品的源程序中必须注明使用了东莞市创新科技的程序,
9 并保留如下内容:
10
11 ------------------------------*/
12 #include <REG51.H>
13 #include <stdio.h>
14 #define uchar unsigned char
15 #define uint unsigned int
16
17 unsigned int a;
18 unsigned char ceshi1,ceshi2,ceshi3,ceshi4;
19
20
21 uint jishu;
22 uint jishu_a;
23 uint jishu_b;
24 uint jishu_c;
25 uint jishu_d1;
26 uint jishu_d2;
27
28
29
30
31 unsigned int count_down; //1秒钟计时用
32 sbit M_green = P0^7;
33 sbit A_green = P0^6;
34 sbit B_green = P0^5;
35 sbit C_green = P0^4;
36 sbit D_green = P0^3;
37
38 sbit M_red = P2^7;
39 sbit A_red = P2^6;
40 sbit B_red = P2^5;
41 sbit C_red = P2^4;
42 sbit D_red = P2^3;
43
44
45 sbit M1 = P1^4;
46 sbit M2 = P1^3;
47 sbit M_B = P3^5;
48 sbit M_A = P3^2;
49 sbit M_AB = P1^0;
50
51 sbit T_1 = P1^7;
52 sbit T_2 = P1^6;
53 sbit T_3 = P1^5;
54
55
C51 COMPILER V8.05a TEXT1 08/12/2008 14:21:09 PAGE 2
56
57
58
59
60
61
62
63 void Delay1ms(unsigned int count) //延迟函数,参数为毫秒数
64 {unsigned int i,j;
65 1 for(i=0;i<count;i++)
66 1 for(j=0;j<240;j++) ;
67 1 }
68 void send_char(unsigned char txd)
69 // 传送一个字符
70 {
71 1 SBUF = txd;
72 1 while(!TI); // 等特数据传送
73 1 TI = 0; // 清除数据传送标志
74 1 }
75
76
77
78
79
80 void Timer1ISR(void) interrupt 1 using 3 //定时器1中断,用于按键扫描
81 {
82 1
83 1 TH0=0xCB; TL0=0xEA; //
84 1
85 1 jishu++;
86 1
87 1
88 1 }
89
90
91 void main(void)
92 {
93 1 P0=0XFF;
94 1 P1=0XFF;
95 1 P2=0XFF;
96 1 P3=0XFF;
97 1 Delay1ms(100);
98 1 count_down=8000;
99 1 jishu=0;
100 1
101 1
102 1
103 1
104 1 TMOD = 0x21; // 定时器1工作于8位自动重载模式, 用于产生波特率
105 1 SCON = 0x40; // 设定串行口工作方式
106 1 PCON &= 0xef; // 波特率不倍增
107 1 TH1 = 0xF7; // 波特率9600
108 1 TL1 = 0xF7;
109 1
110 1 TH0=0xCB;
111 1 TL0=0xEA;
112 1 TR0= 0;
113 1 TR1= 1; // 启动定时器1
114 1
115 1 ET0=1;
116 1 EA=1;
117 1
C51 COMPILER V8.05a TEXT1 08/12/2008 14:21:09 PAGE 3
118 1
119 1
120 1
121 1
122 1 T_1=1; //a
123 1 T_2=0;
124 1 T_3=0;
125 1
126 1 while( M_A==1 );
127 1 TR0=1;
128 1 Delay1ms(100);
129 1
130 1 while( M_A==0 )A_red=0;
131 1
132 1
133 1 TR0=0;
134 1 jishu_a=jishu;
135 1 A_green=0;
136 1 jishu=0;
137 1
138 1
139 1 T_1=1; //b
140 1 T_2=1;
141 1 T_3=0;
142 1 while( M_B==1);
143 1 TR0=1;
144 1 Delay1ms(100);
145 1 while( M_B==0 ) B_red=0;
146 1 TR0=0;
147 1 jishu_b=jishu;
148 1 B_green=0;
149 1 jishu=0;
150 1
151 1
152 1 T_1=0; //c
153 1 T_2=0;
154 1 T_3=1;
155 1 while( M_A==1);
156 1 TR0=1;
157 1 Delay1ms(100);
158 1 while( M_A==0 ) C_red=0;
159 1 TR0=0;
160 1 jishu_c=jishu;
161 1 C_green=0;
162 1 jishu=0;
163 1
164 1
165 1 T_1=1; //d
166 1 T_2=0;
167 1 T_3=1;
168 1
169 1 while( M_A==1);
170 1 TR0=1;
171 1 Delay1ms(100);
172 1 while( M_A==0 ) D_red=0;
173 1 TR0=0;
174 1 jishu_d1=jishu;
175 1 jishu=0;
176 1
177 1 while( M_B==1);
178 1 TR0=1;
179 1 Delay1ms(100);
C51 COMPILER V8.05a TEXT1 08/12/2008 14:21:09 PAGE 4
180 1 while( M_B==0 ) D_red=0;
181 1 TR0=0;
182 1 jishu_d2=jishu;
183 1 D_green=0;
184 1 jishu=0;
185 1 EA=0;
186 1 while(1)
187 1 {
188 2
189 2 a=jishu_a;
190 2 ceshi1=a/1000;
191 2 ceshi2= (a-=ceshi1*1000)/100;
192 2 ceshi3= (a-=ceshi2*100)/10;
193 2 ceshi4= a-=ceshi3*10;
194 2 Delay1ms(10);
195 2 send_char(ceshi1);
196 2 Delay1ms(10);
197 2 send_char(ceshi2);
198 2 Delay1ms(10);
199 2 send_char(ceshi3);
200 2 Delay1ms(10);
201 2 send_char(ceshi4);
202 2 Delay1ms(10);
203 2 a=jishu_b;
204 2 ceshi1=a/1000;
205 2 ceshi2= (a-=ceshi1*1000)/100;
206 2 ceshi3= (a-=ceshi2*100)/10;
207 2 ceshi4= a-=ceshi3*10;
208 2 Delay1ms(10);
209 2 send_char(ceshi1);
210 2 Delay1ms(10);
211 2 send_char(ceshi2);
212 2 Delay1ms(10);
213 2 send_char(ceshi3);
214 2 Delay1ms(10);
215 2 send_char(ceshi4);
216 2 Delay1ms(10);
217 2 a=jishu_c;
218 2 ceshi1=a/1000;
219 2 ceshi2= (a-=ceshi1*1000)/100;
220 2 ceshi3= (a-=ceshi2*100)/10;
221 2 ceshi4= a-=ceshi3*10;
222 2 Delay1ms(10);
223 2 send_char(ceshi1);
224 2 Delay1ms(10);
225 2 send_char(ceshi2);
226 2 Delay1ms(10);
227 2 send_char(ceshi3);
228 2 Delay1ms(10);
229 2 send_char(ceshi4);
230 2 Delay1ms(10);
231 2
232 2 a=jishu_d1;
233 2 ceshi1=a/1000;
234 2 ceshi2= (a-=ceshi1*1000)/100;
235 2 ceshi3= (a-=ceshi2*100)/10;
236 2 ceshi4= a-=ceshi3*10;
237 2 Delay1ms(10);
238 2 send_char(ceshi1);
239 2 Delay1ms(10);
240 2 send_char(ceshi2);
241 2 Delay1ms(10);
C51 COMPILER V8.05a TEXT1 08/12/2008 14:21:09 PAGE 5
242 2 send_char(ceshi3);
243 2 Delay1ms(10);
244 2 send_char(ceshi4);
245 2 Delay1ms(10);
246 2
247 2 a=jishu_d2;
248 2 ceshi1=a/1000;
249 2 ceshi2= (a-=ceshi1*1000)/100;
250 2 ceshi3= (a-=ceshi2*100)/10;
251 2 ceshi4= a-=ceshi3*10;
252 2 Delay1ms(10);
253 2 send_char(ceshi1);
254 2 Delay1ms(10);
255 2 send_char(ceshi2);
256 2 Delay1ms(10);
257 2 send_char(ceshi3);
258 2 Delay1ms(10);
259 2 send_char(ceshi4);
260 2 Delay1ms(10);
261 2
262 2 Delay1ms(10000);
263 2 }
264 1
265 1
266 1
267 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 505 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 ----
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 + -