Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Среда программирования для AT89c2051

Пн июл 26, 2021 12:33:23

ШИЛ Я ТУТ НЕДАВНА парочку AT89c4051 на своем 866+...кой прикупил нек лет взат после безуспешного поиска тем/схем с простым и доступным прогером под них собраных самиому...
о покупе его ни разу не пожалел... надоп еже переходниками под BGA и соик с микрошагом затаритца... но жаба душит дюжедорогие оне дороже самого прогера выдут..

Re: Среда программирования для AT89c2051

Пн июл 26, 2021 12:57:23

MCS51 "старых выпусков" у меня на самодельных программаторах изначально были.
Да воть бяда - ХР и "старше" лишили и прямого доступа к LPT (а то и совсем от оного материнки избавили) и dbasic на котором консольки делались "почил в бозе"....
Пришлось под "современность" котуинку изобретать.
8)

Re: Среда программирования для AT89c2051

Пн июл 26, 2021 13:07:02

тама не вХрюшке проблема а в отсутсви LPT в новых компах...
проблема прозрачности портоф легко решалась спецдрайвером портоф который тогда лежал в ФРИ везде... а на 98/МЕ работалои без и на хрюшке оно хоть и кривовато порой но работало естествено не надо в фоне запускать тяжелы приложения...
да и в те времена не пролблема загрузится в голый ДОС было -штатный зхагрузчих тех осей ЭТОУМЕЛ...пропало это вдето в висте или хр версии 2к3хр

Re: Среда программирования для AT89c2051

Пн июл 26, 2021 13:15:35

Ну и .... пушистый с оным!
У меня связь только по Rx/Tx и то без всяких дополнительных средств.
Вероятно и через простейший радиоканал (JDY40) удастся когда-нибудь сцепить.
8)
.....
УПС....
Надо таки отчет топикстартера о результатах макетных испытаний дождаться...
:roll:

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 00:34:24

Собрал всё в кучу, чип очистился без проблем. Подскажите как в CVAVR писать в ( читать из ) EEPROM напрямую по адресу ( без переменных) .

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 06:31:45

Си без переменных??
:shock:
Тогда уж лучше ассемблер использовать надо. Там только данные.
8)
Одно замечание...
Общее стирание еще не показатель.
Вопросы начнутся при прошивке данных по конкретным адресам с последующей верификацией этих данных.
:roll:

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 08:15:30

нагуглилось

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 10:27:03

И все же там ПЕРЕМЕННАЯ функции скармливается.
Код:
void EEPROM_write (unsigned int uiAddress, unsigned char ucData)

8)

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 10:47:47

Это называется аргумент функции:
Код:
Определение функции
Каждая функция в языке Си должна быть определена, то есть должны быть указаны:
* тип возвращаемого значения;
* имя функции;
* информация о формальных аргументах;
* тело функции.
 
Определение функции имеет следующий синтаксис:
 
 ТипВозвращаемогоЗначения ИмяФункции(СписокФормальныхАргументов)
{
   ТелоФункции;
  ...
  return(ВозвращаемоеЗначение);
}

но никто и не мешает адрес и данные напрямую задавать:
Код:
    EEAR = 0x0056;
    EEDR = 0x78;

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 15:35:14

Я уж подожду отчета топикстартера на тему как у него на макете проходит следующая последовательность операций:
1 общее стирание
2 контроль чистоты после стирания
3 запись дампа в МК
4 верификация записанного в МК дампа
:tea:

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 19:32:12

А готовой то функции нет? Типа как в PIC C compiler:
vol = read_eeprom (i); // читаем из флеш памяти адрес i в переменную vol (unsigned char)
write_eeprom(i,vol); // запись в память с адресом i из переменной vol (unsigned char)

Добавлено after 4 minutes 59 seconds:
1 общее стирание
2 контроль чистоты после стирания
:tea:

А зачем проверять чистоту после стирания ?

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 20:18:50

Это вобщем-то классика....
:wink:
Всегда вероятность ошибок в ячейках ПЗУ существует.
Посему и проверяем, чтобы удостовериться в качестве результата стирания.
То же касается и записи данных - все должно быть разложено на своих адресах.
Правда там два варианта - сразу за программированием байта его же и считать и второй - программируется массивом, а затем массивом читается.
Ваш вариант питания RST/Vpp во втором случае гарантированно ошибку выдаст.
:tea:

Re: Среда программирования для AT89c2051

Вт июл 27, 2021 22:26:08

Ну посмотрим. Сейчас всё упёрлось в процедуру прямой адресации ( чтения записи ) епром, ну если она есть в PIC C compiler, то по любому есть и в CVAVR ! Надо искать . Ну если нет , то это будет эпичный обсер CVAVR, ну... тогда будем искать пути решения , написанием процедур предложенных выше . Кстати всем спасибо за желание помочь !

Добавлено after 1 hour 43 minutes 1 second:
Схему немного доработал , потому как транзистора не хватало кт315-го ! А куда же без него ? Ну и немного делитель изменил для микросхемы кр1156еу5!

Добавлено after 2 minutes 37 seconds:
Ну вот так вот !
Вложения
схема.jpg
(87.16 KiB) Скачиваний: 122

Re: Среда программирования для AT89c2051

Ср июл 28, 2021 08:29:32

В Кодевижн с еепром по своему сделали (аналогично и в ИАР АВР):
3.14 Accessing the EEPROM
Accessing the AVR internal EEPROM is accomplished using global variables, preceded by the
keyword eeprom.
Example:


Pointers to the EEPROM always use 16 bits.

Re: Среда программирования для AT89c2051

Ср июл 28, 2021 09:41:08

Похоже по схеме питания rst/vpp икакого заметного прогресса и понимания вопроса пока не наблюдается...
Касательно Си ...
Я б на адуринке быстрее сгородил... Да смысла не вижу...
Разве что вот... "одноразовый прошивальщик" биоса (b52m1 версии) для котуинки (под АТ89S52 заточен) а сам дамп массивом в ПЗУ сидит. Без той железяки "с нуля" котуинку не запустить - а далее уже с помощью кнструкций на ее базе продвигаем расширения.
В сооющении
https://radiokot.ru/forum/viewtopic.php ... 4#p4065564
конкретно вот этот архив
https://radiokot.ru/forum/download/file.php?id=368183
:sleep:

Re: Среда программирования для AT89c2051

Ср июл 28, 2021 23:32:48

Ну что то пока не получается, но работаем !

Добавлено after 34 minutes 35 seconds:
Действительно ( изучив даташит на CAVR ) , я понял что прямой адресации на EEPROM у него нет ! И это было бы очень смешно , если бы не было грустно (((

Re: Среда программирования для AT89c2051

Чт июл 29, 2021 08:27:11

в Кодевижн можно через укзатель:
Код:
char eeprom *ptr_to_eeprom;
char *ptr_to_ram;

while (*ptr_to_eeprom)
      *ptr_to_ram++=*ptr_to_eeprom++;


имхо лучше AVR GCC - там в <avr/eeprom.h> много вариаций:
https://www.nongnu.org/avr-libc/user-ma ... eprom.html
типа:
В качестве параметров нужно передавать: void-указатель на адрес в RAM, void-указатель на адрес в EEPROM и количество байт. Для начала, попробуем прочесть 10 байт из EEPROM, начинающиеся с адреса 12, в строку.
Код:
    uint8_t StringOfData[10];
    eeprom_read_block((void*)&StringOfData, (const void*)12, 10);

• (void*)&StringOfData – это указатель на RAM. Функция записывает прочитанные данные сюда. Он имеет тип unit8_t, поэтому добавляем явное преобразование – (void*)
• (const void*)12 – это указатель на EEPROM. Функция чтения его не изменяет. Мы используем постоянный адрес (константу), поэтому преобразуем его к const void*
• 10 – количество байт, которое мы читаем. Функцию записи надо использовать так же, только первым аргументом посылаем данные, которые хотим записать, а вторым – место в EEPROM, куда данные будут записаны.

Re: Среда программирования для AT89c2051

Чт июл 29, 2021 23:45:09

Пока работаю с массивами , для установления связи с МК ! То есть считать, записать не из файлов, а из массивов программы ... Ну и массив из 10 байт записать , а потом считать . И это будет комильфо. А да ... По питанию схему немного переработал , там когда не нужно подавать 12 вольт на Vpp то нужно подавать 5 вольт .

Добавлено after 8 minutes 8 seconds:
Вот так будет правильно
Вложения
схема.jpg
(88.42 KiB) Скачиваний: 95

Re: Среда программирования для AT89c2051

Пт июл 30, 2021 11:19:48

Так может достаточно одного массива размером в ПЗУ 2051?
У 128й меги вполне места хватит.
А образец программки сортировщика я уже давал - переделываем под Си и АВРку и грузим хекс сразу в массив ОЗУ меги.
8)

Re: Среда программирования для AT89c2051

Чт авг 05, 2021 23:12:22

Пока совсем некогда.
Ответить