📄 gongcheng28.lst
字号:
C51 COMPILER V9.05 GONGCHENG28 04/01/2012 18:06:48 PAGE 4
180 1 }
181
182 void time_pros(void) //存入数组
183 {
184 1
185 1 //年
186 1 disp[0]=nian1+'0'; //十位
187 1 disp[1]=nian2+'0'; //个位
188 1 disp[2]='-';
189 1 //月
190 1 disp[3]=yue1+'0'; //十位
191 1 disp[4]=yue2+'0'; //个位
192 1 disp[5]='-';
193 1
194 1 disp[6]=ri1+'0'; //日
195 1 disp[7]=ri2+'0';
196 1 disp[8]='-';
197 1
198 1 disp[9]='D';
199 1 disp[10]='a';
200 1 disp[11]='y';
201 1 //disp[12]=zhou1+'0'; //星期
202 1 disp[12]=zhou2+'0';
203 1 //disp[11]='-';
204 1
205 1 dispb[0]=shi1+'0'; //时
206 1 dispb[1]=shi2+'0';
207 1 dispb[2]=':';
208 1
209 1 dispb[3]=fen1+'0'; //fen
210 1 dispb[4]=fen2+'0';
211 1 dispb[5]=':';
212 1
213 1 //------> disp[6]=time_date[6]/16+'0'; //miao 这是我写程序时的错误,
214 1 //------> disp[7]=time_date[6]%16+'0'; //被网友电之子发现的,太粗心了我
215 1 //------> disp[8]='-';
216 1
217 1 dispb[6]=time_date[6]/16+'0'; //miao
218 1 dispb[7]=time_date[6]%16+'0';
219 1 //dispb[8]='-';
220 1
221 1 }
222
223 void display1(void)
224 {
225 1 uchar i;
226 1 //init();
227 1 write_cmd(0x80);
228 1 for(i=0;i<13;i++)
229 1 {
230 2 write_date(disp[i]);
231 2 delay(5);
232 2 }
233 1 write_cmd(0x80+0x40);
234 1 for(i=0;i<8;i++)
235 1 {
236 2 write_date(dispb[i]);
237 2 delay(5);
238 2 }
239 1 delay(210);
240 1
241 1
C51 COMPILER V9.05 GONGCHENG28 04/01/2012 18:06:48 PAGE 5
242 1 }
243
244
245 //按键检测
246 void keyscan()
247 {
248 1 if(key0==0)
249 1 {
250 2 delay(10);
251 2 if(key0==0)
252 2 {
253 3 beep=0;
254 3 delay(40);
255 3 beep=1;
256 3 an_num++;
257 3 if(an_num==1) // fen
258 3 {
259 4 write_cmd(0x80+0x40+4);
260 4 write_cmd(0x0f);
261 4 }
262 3 if(an_num==2) // shi
263 3 {
264 4 write_cmd(0x80+0x40+1);
265 4 write_cmd(0x0f);
266 4 }
267 3 if(an_num==3) //zhou
268 3 {
269 4 write_cmd(0x80+12);
270 4 write_cmd(0x0f);
271 4 }
272 3 if(an_num==4) //ri
273 3 {
274 4 write_cmd(0x80+7);
275 4 write_cmd(0x0f);
276 4 }
277 3 if(an_num==5) //yue
278 3 {
279 4 write_cmd(0x80+4);
280 4 write_cmd(0x0f);
281 4 }
282 3 if(an_num==6) //nian
283 3 {
284 4 write_cmd(0x80+1);
285 4 write_cmd(0x0f);
286 4 }
287 3 if(an_num==7)
288 3 {
289 4 an_num=0;
290 4 write_cmd(0x0c);
291 4 }
292 3 while(!key0);
293 3 write_cmd(0x0c);
294 3
295 3 }
296 2 }//第一个if结束
297 1 if(an_num!=0)
298 1 {
299 2 if(key1==0) //增判断
300 2 {
301 3 delay(10);
302 3 if(key1==0)
303 3 {
C51 COMPILER V9.05 GONGCHENG28 04/01/2012 18:06:48 PAGE 6
304 4 beep=0;
305 4 delay(40);
306 4 beep=1;
307 4 while(!key1);
308 4 switch(an_num)
309 4 {
310 5 case 1:{ write_cmd(0x80+0x40+4);
311 6 write_cmd(0x0f);
312 6 fen2++;
313 6 if(fen2>9)
314 6 {
315 7 fen2=0;
316 7 fen1++;
317 7 if(fen1>5)
318 7 fen1=0;
319 7 }
320 6 time_date[5]=fen2+fen1*16;
321 6 write_ds1302(0x8e,0x00); //去除写保护
322 6 write_ds1302(write_add[5],time_date[5]);
323 6 write_ds1302(0x8e,0x80); //加写保护
324 6 }
325 5
326 5 break;
327 5 case 2:{write_cmd(0x80+0x40+1); //时
328 6 write_cmd(0x0f);
329 6 shi++;
330 6 if(shi>23)
331 6 {
332 7 shi=0;
333 7 }
334 6 shi1=shi/10;
335 6 shi2=shi%10;
336 6 time_date[4]=shi2+shi1*16;
337 6 write_ds1302(0x8e,0x00); //去除写保护
338 6 write_ds1302(write_add[4],time_date[4]);
339 6 write_ds1302(0x8e,0x80); //加写保护
340 6 }
341 5 break;
342 5 case 3:{write_cmd(0x80+12); //周
343 6 write_cmd(0x0f);
344 6 zhou2++;
345 6 if(zhou2>7)
346 6 {
347 7 zhou2=1;
348 7 }
349 6 time_date[3]=zhou2+zhou1*16;
350 6 write_ds1302(0x8e,0x00); //去除写保护
351 6 write_ds1302(write_add[3],time_date[3]);
352 6 write_ds1302(0x8e,0x80); //加写保护
353 6
354 6 }
355 5 break;
356 5 case 4:{write_cmd(0x80+7); //日
357 6 write_cmd(0x0f);
358 6 ri++;
359 6 if(ri>31)
360 6 {
361 7 ri=1;
362 7 }
363 6 ri1=ri/10;
364 6 ri2=ri%10;
365 6 time_date[2]=ri2+ri1*16;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -