Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.96/89: Рейтинг темы: голосов - 89, средняя оценка - 4.96
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580

Usbasp и Atmel AT89C51ED2

05.01.2016, 11:29. Показов 19591. Ответов 189
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, подскажите пожалуйста на работу коллега принес usbasp заказанный в китае https://encrypted-tbn0.gstatic... NCR1lFBZkQ И принес списанный прибор, на борту которого чип Atmel AT89C51ED2, можно ли через данный программатор залить прошивку в данный чип ? если можно то подскажите как и чем ? потому как программатор не видит кристалл. Использовал программу avrdudeprog и SinaProg в списке данного кристалла не наблюдаю. Помогите пожалуйста разобраться с этим чудом. Всем спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.01.2016, 11:29
Ответы с готовыми решениями:

Чем программировать AT89C51ED2
У деда жены откопал на антресолях кучу AT89C51ED2. Хочу применить это чудо по назначению, но не знаю чем его программировать и какой...

Выполнение кода из внешней EEPROM (ASM, AT89C51ED2)
Задача: Необходимо в память (EEPROM) записать исполняющий код (не важно что он делает),который будет выполняться при включении...

Реверсинг "Эталон-01" на базе AT89C51ED2... или вопросы компетентности и степени жадности
Доброго времени суток. Моя проблема заключается в следующем. Работаю программистом ПЛК(только начинаю, только устроился). Дали задание: ...

189
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 18:43
Студворк — интернет-сервис помощи студентам
а если почитать 52 страницу мануала которую предоставил уважаемый ValeryS, то у меня вот так прокатило, даже при увеличение размерности массива программа растет.
C
1
__ixdata const unsigned char Test[10]@0x0000={1,2,3};
У меня смутное чувство, что я в скрипте линкера тогда секции для строк добавлял.
Надо смотреть в ассемблерном коде куда что пихает, кстати секций там дофига.
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
10.01.2016, 18:43
вот еще цитата
__code
Syntax Follows the generic syntax rules for memory type attributes that can be used on data
objects, see Type attributes, page 287.
Description The __code memory attribute overrides the default storage of variables given by the
selected data model and places individual constants and strings in code memory. You
can also use the __code attribute to create a pointer explicitly pointing to an object
located in the code memory.
Storage information ● Memory space: Code memory space
● Address range: 0x0–0xFFFF
● Maximum object size: 64 Kbytes
● Pointer size: 2 bytes
Example __code int x;
See also Memory types, page 50.
295 страница
обрати внимание на пример
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 18:45  [ТС]
при таком обьявлении :
C
1
__code char sin_tab[256]= {...}
Warning[Pe167]: argument of type "char *" is incompatible with parameter of type "unsigned char *" C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 22
Error[Be009]: memory attributes not allowed on auto variables or parameters C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 30
Error while running C/C++ Compiler
такая ошибка

Добавлено через 1 минуту
Цитата Сообщение от Витальич Посмотреть сообщение
а если почитать 52 страницу мануала которую предоставил уважаемый ValeryS, то у меня вот так прокатило, даже при увеличение размерности массива программа растет.
Вот что получил :
Warning[Pe167]: argument of type "char *" is incompatible with parameter of type "unsigned char *" C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 22
Error[Be009]: memory attributes not allowed on auto variables or parameters C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 30
Error while running C/C++ Compiler
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
10.01.2016, 18:50
Цитата Сообщение от Dostik Посмотреть сообщение
Warning[Pe167]: argument of type "char *" is incompatible with parameter of type "unsigned char *" C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 22
не совпадение типов нужен unsigned char
C
1
__code unsigned char sin_tab[256]= {...}
Цитата Сообщение от Dostik Посмотреть сообщение
Error[Be009]: memory attributes not allowed on auto variables or parameters C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 30
не может быть применен к автоматическим переменным, сиречь переменные в стеке
у массив глобально объявлен?
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 18:56  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int main (void)
{
  
 /**/ __code unsigned char  sin_tab[256] = {127,130,133,136,139,142, 145,148,151,154,157,160,164,
 166,169,172,175,178,181,184,187,189,192,195,197,200,202,205,207,210,212,214,217,
 219,221,223,225,227,229,231,232,234,236,237,239,240,242,243,244,245,246,247,248,
 249, 250,251,251,252,252,253,253,253,253,253,254,253,253,253,253,252,252,251,251,
 250,249,249,248,247,246,245,243,242,241,239,238,236,235,233,231,230, 228,226,224,
 222,220,218,215,213,211,209,206,204,201,199,196,193,191,188,185,182,180,177,174,
 171,168,165,162,159,156,153,150,147,144,141,137,134,131,128,125,122,119,116,112,
 109,106,103,100,97,94,91,88,85,82,79,76, 73,71,68,65,62,60,57,54,52,49,47,44,42,
 40,38,35,33,31,29,27,25,23,22,20,18,17,15,14,12,11,10,8,7,6,5,4,4,3,2,2,1,1,0,0,
 0,0,0,0,0,0,0,0,1,1,2,2,3,4,5,6,7,8,9,10,11,13,14,16,17,19,21,22,24,26,28,30,32,
 34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,81,84,87,89,93,96,99,102,
 105,108,111,114,117,120,123,127};/**/
 
 
  
 Lcd_init();
 Lcd_Cmd(0x01);
Display_Name();
for (int i=0;i<256;i++) {
 // P2_bit.P2_4 =sin_tab[i];
 Delay(75);
}
while (1);
}
Warning[Pe167]: argument of type "char *" is incompatible with parameter of type "unsigned char *" C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 22
Error[Be009]: memory attributes not allowed on auto variables or parameters C:\Users\User\Desktop\tetst\Prot\prob2\m ain.c 30
Error while running C/C++ Compiler
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 19:12
Не видел последние Ваш пост, но все равно выложу
Миниатюры
Usbasp и Atmel AT89C51ED2   Usbasp и Atmel AT89C51ED2  
1
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 19:13
Dostik, массив из майн перенесите
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 19:22  [ТС]
Витальич, спасибо большое, так проект собрался, объясните пожалуйста почему в таком виде проект собрался а если расположить массив в main сыпит ошибками ? Большое спасибо.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 19:27
Вот смотрю на код и возникают у меня смутные сомнения в правильности, помню, что вносил правки в файл линкёра и сам адресовал строки, хотя IAR был то ли 2 толи 3 версии

Добавлено через 3 минуты
до майн переменные глобальные, в майн локальные. Локальные переменные принято компилятору размещать в стеке, а он не резиновый и в ОЗУ вот компилятор и не понимает как _code запихнуть в стек, но как то запихивает зараза сейчас гляну.
а ни фига не работает
Миниатюры
Usbasp и Atmel AT89C51ED2  
1
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 19:30
Dostik, рекомендую пользоваться окном ассемблера, можно многое узнать и понять.
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 19:37  [ТС]
Цитата Сообщение от Витальич Посмотреть сообщение
рекомендую пользоваться окном ассемблера, можно многое узнать и понять.
справа которое при отладке ? или каким именно ?

Добавлено через 15 секунд
а как теперь на экран вывести ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 unsigned char c;
//============================================================
 __code const unsigned char  sin_tab[256] = {127,130,133,136,139,142, 145,148,151,154,157,160,164,
 166,169,172,175,178,181,184,187,189,192,195,197,200,202,205,207,210,212,214,217,
 219,221,223,225,227,229,231,232,234,236,237,239,240,242,243,244,245,246,247,248,
 249, 250,251,251,252,252,253,253,253,253,253,254,253,253,253,253,252,252,251,251,
 250,249,249,248,247,246,245,243,242,241,239,238,236,235,233,231,230, 228,226,224,
 222,220,218,215,213,211,209,206,204,201,199,196,193,191,188,185,182,180,177,174,
 171,168,165,162,159,156,153,150,147,144,141,137,134,131,128,125,122,119,116,112,
 109,106,103,100,97,94,91,88,85,82,79,76, 73,71,68,65,62,60,57,54,52,49,47,44,42,
 40,38,35,33,31,29,27,25,23,22,20,18,17,15,14,12,11,10,8,7,6,5,4,4,3,2,2,1,1,0,0,
 0,0,0,0,0,0,0,0,1,1,2,2,3,4,5,6,7,8,9,10,11,13,14,16,17,19,21,22,24,26,28,30,32,
 34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,81,84,87,89,93,96,99,102,
 105,108,111,114,117,120,123,127};
 
void Display_Name()
{
 // int a=15;
 // char buf[16];
  for (int i=0;i<256;i++) {
    c = sin_tab[i];
 Delay(75);
  
  sprintf_P(sin_tab,"%d",c);
  Lcd_Disp (0x80, с);
  Lcd_Disp (0xC1, "Test");}
}
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 19:47
Судя по отладчику, с ним можно работать как с обычным массивом. Только писать нельзя.
Да то что светлоооо зелененькое.
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 20:17  [ТС]
Витальич, Понял принял, вот так работает, цифарки бегают, доволен
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 unsigned char c;
//============================================================
 __code const unsigned char  sin_tab[256] = {127,130,133,136,139,142, 145,148,151,154,157,160,164,
 166,169,172,175,178,181,184,187,189,192,195,197,200,202,205,207,210,212,214,217,
 219,221,223,225,227,229,231,232,234,236,237,239,240,242,243,244,245,246,247,248,
 249, 250,251,251,252,252,253,253,253,253,253,254,253,253,253,253,252,252,251,251,
 250,249,249,248,247,246,245,243,242,241,239,238,236,235,233,231,230, 228,226,224,
 222,220,218,215,213,211,209,206,204,201,199,196,193,191,188,185,182,180,177,174,
 171,168,165,162,159,156,153,150,147,144,141,137,134,131,128,125,122,119,116,112,
 109,106,103,100,97,94,91,88,85,82,79,76, 73,71,68,65,62,60,57,54,52,49,47,44,42,
 40,38,35,33,31,29,27,25,23,22,20,18,17,15,14,12,11,10,8,7,6,5,4,4,3,2,2,1,1,0,0,
 0,0,0,0,0,0,0,0,1,1,2,2,3,4,5,6,7,8,9,10,11,13,14,16,17,19,21,22,24,26,28,30,32,
 34,36,39,41,43,46,48,51,53,56,58,61,64,66,69,72,75,78,81,84,87,89,93,96,99,102,
 105,108,111,114,117,120,123,127};
 
void Display_Name()
{
 // int a=15;
  char buf[4];
  for (int i=0;i<256;i++) {
    c = sin_tab[i];
 //Delay(75);
  
  sprintf(buf,"%d",c);
  Lcd_Disp (0x80, buf);
  Delay(5);
  Lcd_Disp (0xC1, "Test");}
}
Добавлено через 24 минуты
Упростил немного :
C
1
2
3
4
5
6
7
8
9
10
void Display_Name()
{
  char buf[4];
  for (int i=0;i<256;i++) {
  P2_bit.P2_4 = sin_tab[i];
  sprintf(buf,"%d",sin_tab[i]);
  Lcd_Disp (0x80, buf);
 
  Lcd_Disp (0xC1, "Test");}
}
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
10.01.2016, 20:26
Что хоть за девайс реинжинерите, а то я по внешнему виду не очень понял.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
10.01.2016, 21:07
Цитата Сообщение от Витальич Посмотреть сообщение
не понимает как _code запихнуть в стек, но как то запихивает зараза
а элементарно
объяви статик, статик по сути та же глобальная только видна не ото всюду
C
1
2
3
4
5
int main (void)
{
  
 /**/ __code static unsigned char  sin_tab[256] = {127,130,133,136,139,142, 145,148,151,154,157,160,164,
 166,169,172,175,178,181,184,187,189,192,195,197,200,202,205,207,210,212,214,217,
0
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 21:09  [ТС]
а можно ли на данном мк сделать красивую синусоиду в 50гц на выходе ??
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
10.01.2016, 21:14
Цитата Сообщение от Dostik Посмотреть сообщение
а можно ли на данном мк сделать красивую синусоиду в 50гц на выходе ??
А у него ЦАП(DAC) есть на борту? если нет придется внешний лепить
или делать ШИМ с ФНЧ
1
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 21:16  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
А у него ЦАП(DAC) есть на борту?
У него вообще нет ЦАП
Цитата Сообщение от ValeryS Посмотреть сообщение
делать ШИМ
Пойду тогда для начала поищу как делать на данном мк.
Спасибо за ответ
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
10.01.2016, 21:27
Цитата Сообщение от Dostik Посмотреть сообщение
Пойду тогда для начала поищу как делать на данном мк.
да очень просто
программируешь таймер, очень шустрый
далее в обработчике таймера примерно так (256 уровней)
C
1
2
3
4
5
6
7
8
{
static unsigned char tmp=0;
if(tmp>level)
 //порт =0;
else
//порт =1;
tmp++;
}
второй таймер программируешь на 50 Гц
и обработчик типа
C
1
2
3
4
{
static unsigned char tmp=0;
level=arr[tmp++];
}
0
 Аватар для Dostik
38 / 38 / 4
Регистрация: 31.05.2011
Сообщений: 580
10.01.2016, 21:35  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
программируешь таймер
я до этого тоже пока не дошел.
Цитата Сообщение от ValeryS Посмотреть сообщение
да очень просто
программируешь таймер, очень шустрый
далее в обработчике таймера примерно так (256 уровней)
Спасибо большое

Добавлено через 1 минуту
Витальич, Показал как задержки делать самому, пока что.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2016, 21:35
Помогаю со студенческими работами здесь

USBAsp
Вот собственно... Купил себе нетбук и появилась необходимость в USB программаторе. Делал по печатке DY HOTTa. Сторону с пайкой стыдно...

USBAsp
Всем привет. Собрал программатор USBAsp. Подключил к USB, по идее должен же загореться светодиод что питание поступило а он у меня...

tiny85 & USBasp
Попробовал сейчас залить програмку в тини85 при помощи усбаспа, программа заливается корректно, а фьюзы не читаются. Пользуюсь оболочкой...

Проблемы с USBASP
Здравствуйте. Начал изучение микроконтроллеров. Приобрел usb программатор USBASP. Пытаюсь прошить тини2313. Скачал проги eXtreme Burner...

Обновление USBasp
Добрый день. Некоторое время занимался arduino, решил вылазить из пеленок и самостоятельно травить платы, прошивать контроллеры... ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru