📄 at2402.lst
字号:
245 9 if(--eeprom_data[4]==0xff)
246 9 eeprom_data[4]=0x00;
247 9 }
248 8 else if((key_s&0x01)==0x00)
249 8 {
250 9 for(i=0;i<8;i++)
251 9 write_byte(i, eeprom_data[i]);
252 9 flash_bit=1;
253 9 key_number=0x00;
254 9 }
255 8 }
256 7 }
257 6 }while(key_number==0x05);
258 5 do
259 5 {
260 6 key_s=key_scan();
261 6 if(key_s^key_v)
262 6 {
263 7 delay_1ms(10);
264 7 key_s=key_scan();
265 7 if(key_s^key_v)
266 7 {
267 8 key_v=key_s;
268 8 if((key_s&0x08)==0x00)
269 8 {
270 9 key_number=0x07;
271 9 flash_number_bit=0x07;
272 9 }
273 8 else if((key_s&0x04)==0x00)
274 8 {
275 9 if(++eeprom_data[5]==0x0a)
276 9 eeprom_data[5]=0x00;
277 9 }
278 8 else if((key_s&0x02)==0x00)
279 8 {
280 9 if(--eeprom_data[5]==0xff)
281 9 eeprom_data[5]=0x00;
282 9 }
283 8 else if((key_s&0x01)==0x00)
284 8 {
285 9 for(i=0;i<8;i++)
286 9 write_byte(i, eeprom_data[i]);
287 9 flash_bit=1;
288 9 key_number=0x00;
289 9 }
290 8 }
291 7 }
292 6 }while(key_number==0x06);
293 5 do
294 5 {
295 6 key_s=key_scan();
296 6 if(key_s^key_v)
297 6 {
298 7 delay_1ms(10);
299 7 key_s=key_scan();
300 7 if(key_s^key_v)
301 7 {
302 8 key_v=key_s;
303 8 if((key_s&0x08)==0x00)
C51 COMPILER V8.02 AT2402 03/02/2009 16:30:29 PAGE 6
304 8 {
305 9 key_number=0x07;
306 9 flash_number_bit=0x07;
307 9 }
308 8 else if((key_s&0x04)==0x00)
309 8 {
310 9 if(++eeprom_data[5]==0x0a)
311 9 eeprom_data[5]=0x00;
312 9 }
313 8 else if((key_s&0x02)==0x00)
314 8 {
315 9 if(--eeprom_data[5]==0xff)
316 9 eeprom_data[5]=0x00;
317 9 }
318 8 else if((key_s&0x01)==0x00)
319 8 {
320 9 for(i=0;i<8;i++)
321 9 write_byte(i, eeprom_data[i]);
322 9 flash_bit=1;
323 9 key_number=0x00;
324 9 }
325 8 }
326 7 }
327 6 }while(key_number==0x06);
328 5 do
329 5 {
330 6 key_s=key_scan();
331 6 if(key_s^key_v)
332 6 {
333 7 delay_1ms(10);
334 7 key_s=key_scan();
335 7 if(key_s^key_v)
336 7 {
337 8 key_v=key_s;
338 8 if((key_s&0x08)==0x00)
339 8 {
340 9 key_number=0x07;
341 9 flash_number_bit=0x07;
342 9 }
343 8 else if((key_s&0x04)==0x00)
344 8 {
345 9 if(++eeprom_data[6]==0x0a)
346 9 eeprom_data[6]=0x00;
347 9 }
348 8 else if((key_s&0x02)==0x00)
349 8 {
350 9 if(--eeprom_data[6]==0xff)
351 9 eeprom_data[6]=0x00;
352 9 }
353 8 else if((key_s&0x01)==0x00)
354 8 {
355 9 for(i=0;i<8;i++)
356 9 write_byte(i, eeprom_data[i]);
357 9 flash_bit=1;
358 9 key_number=0x00;
359 9 }
360 8 }
361 7 }
362 6 }while(key_number==0x06);
363 5 do
364 5 {
365 6 key_s=key_scan();
C51 COMPILER V8.02 AT2402 03/02/2009 16:30:29 PAGE 7
366 6 if(key_s^key_v)
367 6 {
368 7 delay_1ms(10);
369 7 key_s=key_scan();
370 7 if(key_s^key_v)
371 7 {
372 8 key_v=key_s;
373 8 if((key_s&0x08)==0x00)
374 8 {
375 9 key_number=0x08;
376 9 flash_number_bit=0x08;
377 9 }
378 8 else if((key_s&0x04)==0x00)
379 8 {
380 9 if(++eeprom_data[6]==0x0a)
381 9 eeprom_data[6]=0x00;
382 9 }
383 8 else if((key_s&0x02)==0x00)
384 8 {
385 9 if(--eeprom_data[6]==0xff)
386 9 eeprom_data[6]=0x00;
387 9 }
388 8 else if((key_s&0x01)==0x00)
389 8 {
390 9 for(i=0;i<8;i++)
391 9 write_byte(i, eeprom_data[i]);
392 9 flash_bit=1;
393 9 key_number=0x00;
394 9 }
395 8 }
396 7 }
397 6 }while(key_number==0x07);
398 5 do
399 5 {
400 6 key_s=key_scan();
401 6 if(key_s^key_v)
402 6 {
403 7 delay_1ms(10);
404 7 key_s=key_scan();
405 7 if(key_s^key_v)
406 7 {
407 8 key_v=key_s;
408 8 if((key_s&0x08)==0x00)
409 8 {
410 9 key_number=0x00;
411 9 flash_number_bit=0x00;
412 9 }
413 8 else if((key_s&0x04)==0x00)
414 8 {
415 9 if(++eeprom_data[7]==0x0a)
416 9 eeprom_data[7]=0x00;
417 9 }
418 8 else if((key_s&0x02)==0x00)
419 8 {
420 9 if(--eeprom_data[7]==0xff)
421 9 eeprom_data[7]=0x00;
422 9 }
423 8 else if((key_s&0x01)==0x00)
424 8 {
425 9 for(i=0;i<8;i++)
426 9 write_byte(i,eeprom_data[i]);
427 9 flash_bit=1;
C51 COMPILER V8.02 AT2402 03/02/2009 16:30:29 PAGE 8
428 9 key_number=0x00;
429 9 }
430 8 }
431 7 }
432 6 }while(key_number==0x08);
433 5 flash_bit=1;
434 5 }
435 4 }
436 3 }
437 2 }
438 1 }
439
440 void start()
441 // 开始位
442 {
443 1 SDA = 1;
444 1 SCL = 1;
445 1 _nop_();
446 1 _nop_();
447 1 _nop_();
448 1 _nop_();
449 1 SDA = 0;
450 1 _nop_();
451 1 _nop_();
452 1 _nop_();
453 1 _nop_();
454 1 SCL = 0;
455 1 }
456
457 void stop()
458 // 停止位
459 {
460 1 SDA = 0;
461 1 _nop_();
462 1 _nop_();
463 1 SCL = 1;
464 1 _nop_();
465 1 _nop_();
466 1 _nop_();
467 1 _nop_();
468 1 SDA = 1;
469 1 }
470
471 unsigned char shin()
472 // 从AT24Cxx移入数据到MCU
473 {
474 1 unsigned char i,read_data;
475 1 for(i = 0; i < 8; i++)
476 1 {
477 2 SCL = 1;
478 2 read_data <<= 1;
479 2 read_data |= (unsigned char)SDA;
480 2 SCL = 0;
481 2 }
482 1 return(read_data);
483 1 }
484 bit shout(unsigned char write_data)
485 // 从MCU移出数据到AT24Cxx
486 {
487 1 unsigned char i;
488 1 bit ack_bit;
489 1 for(i = 0; i < 8; i++) // 循环移入8个位
C51 COMPILER V8.02 AT2402 03/02/2009 16:30:29 PAGE 9
490 1 {
491 2 SDA = (bit)(write_data & 0x80);
492 2 _nop_();
493 2 _nop_();
494 2 SCL = 1;
495 2 _nop_();
496 2 _nop_();
497 2 _nop_();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -