ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
1 июля
55314 Топик полностью
alcosar (29.03.2006 06:53, просмотров: 1) ответил Charlie на AT89S8253. Странности программирования и работы с EEPROM
1. Нужно поменять конденсаторы возле кварца с 30 пФ на 5 пФ. 52 -я с 5пФ тоже работает. 2. Посмотрите на сайте atmel что-то Migrating from at89s8252/at89s53 to at89s8253. Но суть такая, переед опросом бита установления готовности - окончаня записис в EEPROM нужно сначала подождать пока он утановится, т. е, так делалось в at89s8252: void eeprom_putc(unsigned char c, unsigned char addr) { unsigned char xdata *eed = addr; ET0 = 0; WMCON |= WEMASK; *eed = c; while (!(WMCON & 0x02)) ; if (*eed != c) { lcd_puts_p(1, 1, "EEPROM ERROR"); for (;;); } WMCON ^= EEMEN; ET0 = 1; } а в at89s8253 надо делать так: void eeprom_putc(unsigned char c, unsigned char addr) { unsigned char xdata *eed = addr; ET0 = 0; WMCON |= WEMASK; *eed = c; while ((WMCON & 0x02)) ; while (!(WMCON & 0x02)) ; if (*eed != c) { lcd_puts_p(1, 1, "EEPROM ERROR"); for (;;); } WMCON ^= EEMEN; ET0 = 1; } Последний вариант работает и с at89s8252.