📄 jiaotongdeng.lst
字号:
C51 COMPILER V9.00 JIAOTONGDENG 01/04/2013 08:48:30 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE JIAOTONGDENG
OBJECT MODULE PLACED IN .\jiaotongdeng.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ..\jiaotongdeng.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\jiaotongdeng.obj)
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit sw1=P3^0;
5 sbit sw2=P3^1;
6 sbit sw3=P3^2;
7 sbit key_ew=P3^3;
8 sbit key_sn=P3^4;
9 uchar TH,TL;
10 uchar SN=30,EW=25,NN=60;
11 uint tt,ii,jj,kk;
12 //uchar ii;
13 uchar code DisCode[]
14 ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
15
16 uchar code weide[]={0xfe,0xfd};
17 uchar Disbuff0[2];
18 uchar Disbuff1[2];
19 /*void Delay(uint x)//MS延时
20 {
21 uchar i;
22 while(x--)for(i=0;i<123;i++);
23 } */
24 void init()
25 {
26 1 TMOD=0x01;
27 1 TH=(65536-2500)/256,
28 1 TL=(65536-2500)%256;
29 1 TH0=TH;
30 1 TL0=TL;
31 1 EA=1;
32 1 ET0=1;
33 1 TR0=1;
34 1 }
35 void fenli0()
36 {
37 1 Disbuff0[0]=SN/10;
38 1 Disbuff0[1]=SN%10;
39 1 }
40 void fenli1()
41 {
42 1 Disbuff1[0]=EW/10;
43 1 Disbuff1[1]=EW%10;
44 1 }
45
46 void Display()
47 {
48 1 uchar ii;
49 1 if(ii==0)
50 1 {
51 2 P0=0x80;
52 2 P2=0x80;
53 2 P0=DisCode[Disbuff0[0]]&0x7f;
54 2 P2=DisCode[Disbuff1[0]]|0x80;
55 2
C51 COMPILER V9.00 JIAOTONGDENG 01/04/2013 08:48:30 PAGE 2
56 2
57 2 }
58 1 else
59 1 {
60 2 P0=0x80;
61 2 P2=0x80;
62 2 P0=DisCode[Disbuff0[1]]|0x80;
63 2 P2=DisCode[Disbuff1[1]]&0x7f;
64 2
65 2
66 2 }
67 1 ii=~ii;
68 1
69 1 }
70 void xianshi()
71 {
72 1 if(NN==60)
73 1 {
74 2 SN=30;
75 2 EW=25;
76 2 P1=0xb3;
77 2 }
78 1 if(EW==0&&NN==35)
79 1 {
80 2 EW=5;
81 2 //P1=0xb5;
82 2 }
83 1 if(NN==30)
84 1 {
85 2 SN=25;
86 2 EW=30;
87 2 P1=0x5e;
88 2
89 2 }
90 1 if(SN==0&&NN==5)
91 1 {
92 2 SN=5;
93 2 //P1=0x6e;
94 2 }
95 1 EW--;
96 1 SN--;
97 1 NN--;
98 1 if(NN==0)
99 1 {
100 2 NN=60;
101 2 }
102 1 fenli0();
103 1 fenli1();
104 1
105 1
106 1
107 1 }
108 void LED()
109 {
110 1 if(NN<=35&&NN>30)
111 1 {
112 2 if(ii)
113 2 {
114 3 P1=0xb5;
115 3 }
116 2 else P1=0xf7;
117 2 }
C51 COMPILER V9.00 JIAOTONGDENG 01/04/2013 08:48:30 PAGE 3
118 1 if(NN<=5)
119 1 {
120 2 if(ii)
121 2 {
122 3 P1=0x6e;
123 3 }
124 2 else P1=0xfe;
125 2 }
126 1 }
127
128 void qiangzhi_sw()//强制通行
129 {
130 1 if(key_ew==0)
131 1 {
132 2 TR0=0;
133 2 P0=0x3f;
134 2 P2=0x3f;
135 2 P1=0x5e;
136 2 while(!key_ew);
137 2 TR0=1;
138 2 }
139 1 if(key_sn==0)
140 1 {
141 2 TR0=0;
142 2 P0=0x3f;
143 2 P2=0x3f;
144 2 P1=0xb3;
145 2 while(!key_sn);
146 2 TR0=1;
147 2 }
148 1 }
149 /*void key1()
150 {
151 uchar m=0,num=0,n=0;
152 uchar sw11,sw22=1,sw33=1;
153 if(sw1==0)
154 {
155 Delay(10);
156 if(sw1==0)
157 {
158 while(!sw1);
159 num++;
160 TR0=0;
161 while(!m)
162 {
163 if(n==1)
164 {
165 if(sw11==1&&sw1==0)
166 {
167 Delay(10);
168 if(sw11==1&&sw1==0)
169 {
170 num++;
171 }
172 }
173 if(num==4)
174 {
175 while(!sw1);
176 }
177 sw11=sw1;
178 }
179 n=1;
C51 COMPILER V9.00 JIAOTONGDENG 01/04/2013 08:48:30 PAGE 4
180 Delay(3);
181 switch (num)
182 {
183
184 case 1:
185 {
186 if(sw22==1&&sw2==0)
187 {
188 sec++;
189 if(sec==60)
190 sec=0;
191 Dis_fenli();
192 }
193 sw22=sw2;
194 if(sw33==1&&sw3==0)
195 {
196 sec--;
197 if(sec==255)
198 sec=59;
199 Dis_fenli();
200 }
201 sw33=sw3;
202 SJ_Display_shanshuo(6,7);
203
204 } break;
205 case 2:
206 {
207 if(sw22==1&&sw2==0)
208 {
209 min++;
210 if(min==60)
211 min=0;
212 Dis_fenli();
213 }
214 sw22=sw2;
215 if(sw33==1&&sw3==0)
216 {
217 min--;
218 if(min==255)
219 min=59;
220 Dis_fenli();
221 }
222 sw33=sw3;
223 SJ_Display_shanshuo(3,4);
224 } break;
225 case 3:
226 {
227 if(sw22==1&&sw2==0)
228 {
229 hour++;
230 if(hour==24)
231 hour=0;
232 Dis_fenli();
233 }
234 sw22=sw2;
235 if(sw33==1&&sw3==0)
236 {
237 hour--;
238 if(hour==255)
239 hour=23;
240 Dis_fenli();
241 }
C51 COMPILER V9.00 JIAOTONGDENG 01/04/2013 08:48:30 PAGE 5
242 sw33=sw3;
243 SJ_Display_shanshuo(0,1);
244 } break;
245 case 4:
246 {
247 TR0=1;
248 m=1;
249 while(!sw1);
250 Delay(5);
251 while(!sw1);
252 } break;
253
254 }
255 }
256 }
257 }
258 }*/
259
260 void main()
261 {
262 1 init();
263 1 fenli0();
264 1 fenli1();
265 1 while(1)
266 1 {
267 2 qiangzhi_sw();
268 2 //key1();
269 2 }
270 1
271 1 }
272 void timer0() interrupt 1
273 {
274 1 TH0=TH;
275 1 TL0=TL;
276 1 tt++;
277 1 jj++;
278 1 if(tt==400)
279 1 {
280 2 tt=0;
281 2 xianshi();
282 2 }
283 1 Display();
284 1 LED();
285 1 if(jj==100)
286 1 {
287 2 jj=0;
288 2 ii=~ii;
289 2 }
290 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 369 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 1
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 + -