Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
paskal
Нашел транзистор. Понюхал.
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение paskal »

Jack_A писал(а): Давно это было, еще когда STM был Thomson'ом - на ST6265 .

Понятно. Но меня интересует 89S8253. А ST6265 совсем другой контроллер. Если б еще 8252, или AVR в крайнем случае...
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение BOB51 »

IM1 писал(а):Я ленивый, привык чтобы пакет был полный: ассемблер, транслятор, компоновщик, отладчик-симулятор и т.д., IDE одним словом.


так в с51asm все в кучке, конечно не IDE - нет редактора и запускющих команд, да и симулятор не прилагается - но это компенсирует универсальность применения :)
как редактор хорош dpad 4.7.0.4, симуляция сложных вариантов кода ядра на старенькой fd51rus2.01 и/или макет, обработка запуска - dos-окно с bat файлом запуска - пока лапы не отваливаются :)))
avr studio19 и mplab8.80 не в счет - это не mcs51! (хоша тоже с ними играюсь - до mplab8.83 лапы пока не дошли - надоело обновления ставить)
если интересно- могу скинуть на почту флешковый вариант того комплекта, которым пользуюсь (под win_xp) :beer:
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение IM1 »

BOB51 писал(а):если интересно- могу скинуть на почту флешковый вариант того комплекта, которым пользуюсь (под win_xp) :beer:
Спасибо, пока не хочу перестраиваться :beer: . Может потом когда созрею...
Strayker
Родился
Сообщения: 1
Зарегистрирован: Вт мар 20, 2012 14:58:35

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Strayker »

Есть кто-нибудь кто может написать программу для микроконтроллера DS87C520.
Очень надо, в долгу не останусь!!!!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение BOB51 »

а чем его прошивать имеется?
в принципе ядро стандартное, даташит тоже достать можно... но учить влом (в наших краях таких ИС нету) :beer:
Аватара пользователя
paskal
Нашел транзистор. Понюхал.
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение paskal »

Strayker писал(а):Есть кто-нибудь кто может написать программу для микроконтроллера DS87C520.
Очень надо, в долгу не останусь!!!!

Если действительно надо, опишите задание, а то браться неизвестно за что совсем не хочется
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Chip115 »

всем привет! пишу в keil под 8051 на ассемблере. Но не могу понять как получить рабочий hex?
скачал прогу bin2hex, но какая то фигня получается. В протеус подгружаю то, кто она выдает, но там какой то бред, которого я не писал О_о (в отладчике протеуса глянул). юзал 80С51 .
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение BOB51 »

по настройкам keil, к сожалению, не в курсе... :cry:
пользуюсь атмеловским с51asm - синтаксис весьма похож, но запуск bat-файлом, содержащим опции настроек, с командной строки в DOS-окне.
выходной файл или *.bin или *.hex (предусмотрено той же настройкой опций в *.bat) :beer:
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Gudd-Head »

Chip115 писал(а):пишу в keil под 8051 на ассемблере. Но не могу понять как получить рабочий hex?

Эх... В понедельник на работе гляну чего-как.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
semato
Родился
Сообщения: 1
Зарегистрирован: Вс апр 01, 2012 18:27:22

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение semato »

Открыть проект (Project) или создать новый. В МЕНЮ Project --> Options for Target "" -->Вкладка "Output --> ставим галочку "Create HEX file".
Можно в левом окне правой кнопкой мыша (вкладка "Project") на папке проекта и далее как --^
Вроде было так.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Gudd-Head »

Да. А точнее:
Project - Target Build Configuration - Галка "Generate hex file"
У меня в шпротеусе нет СиЛабов...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
zenek
Встал на лапы
Сообщения: 116
Зарегистрирован: Ср апр 28, 2010 17:49:14

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение zenek »

Почему на две строчки с коомандой cjne компилятор ругается
lab16.asm(195): error A51: TARGET OUT OF RANGE
lab16.asm(197): error A51: TARGET OUT OF RANGE

вот кусок кода, причем если его вставить в начале программы то все компилируется

Код: Выделить всё

   mov A, cnt_send_H 
   cjne A,cnt_H,susa
   mov A, cnt_send_L
   cjne A,cnt_L,susa


Среда разработки Keil uVision4
Вложения
recurente.asm
(4.24 КБ) 314 скачиваний
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение pyzhman »

Команда CJNE использует при переходе 8-и разрядное смещение. У вас видимо длинный прыжок. Используйте LJMP по условию.
Docendo discimus
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Chip115 »

Всем привет! Пишу на асме. После 10-ого прогона в отладчике кеил выдает сообщение
*** error 65: access violation at C:0x0104 : no 'execute/read' permission
Не могу понять в чем дело . Пишу для Intel 8051 AH (его выбрал во вкладке Device).
Подскажите где собака зарыта:) Кажется что дело в настройках кеила. Но не уверен На всякий случай кину исходник.
Ругается при попытке вызвать scan в десятый раз.
Вложения
temp.asm
(2.89 КБ) 590 скачиваний
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение pyzhman »

Стесняюсь спросить глупость - а стек-то где? :)
Docendo discimus
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Gudd-Head »

Лол. Сам долго допирал :)
pyzhman имеет в виду, что вы используете команды вызова процедур, которые задействуют стэк - в нём сохраняется адрес того места, из которого процедура была вызвана (2 байта). Но в тексте программы не видно, где вы этот стэк инициализируете. Что там после ресета загружается в указатель стэка, я не знаю.
Надеюсь, у вас под рукой такой ДШ: http://www.keil.com/dd/docs/datashts/at ... c51ism.pdf ?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение BOB51 »

по умолчанию указатель стека всегда установлен на 0х07 (RB0 R7) и далее он ползет вверх по мере потребления 8)
а ежли его надо побольше пользовать - переустановить лапками куды надобно самому требуется :)))
скорее всего подпрограммы "наехали" на область рабочих регистров :beer:
бегло глянул на программку - шерсть дыбом... :shock:
я хош и на с51asm текстовки царапаю, но он с кейлом подобен...
надо хоть иногда анализ в мозгах включать...
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение Chip115 »

Что то не понял. Какой стек? В плане я знаю что такое стек и зачем он нужен. Так же мне известно (если ошибаюсь - поправьте) что тут он сам определяется. У меня всего две подпрограммы, которые не являются вложенными. Так как стек переполняется, если я всегда делаю RET и он тут должен очищаться?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение pyzhman »

А если раскрыть п/п scan?

Код: Выделить всё

;=====
; Главный цикл программы
;=====
Main:   
;************
scan:   MOV   PSW,BANK1      ; Переключились на бакнк 1
   clr   C      ; Так, на всякий случай :)
   mov   A,P1      ; Скопировали состояние порта в аккум. ИЗМЕНИТЬ ПОРТ И В ИНИЦИАЛИЗАЦИИ ТОЖЕ(!)
   ANL   A,#0F0h      ; Вырубили младшую тетраду
   cjne   A,#80h,next
   jmp   reload
next:   clr   C
   jz   reload      ; Перезагрузили порт, если в нём был нуль
   rlc   A      ; сдвинули аакум
   mov   P1,A      ; передали в порт состояние аккумулятора
   inc   YCount      ; Указали, что перешли на следующий столбец
   mov   A,YCount
   MUL   AB
   mov   YCode,A
   mov   B,#04h
sout:   MOV   PSW,BANK0      ; Вернулись в банк0
   jmp      exit
reload:   mov   P1,#10h
   mov   YCode,#00h
   mov   R4,#00h
   jmp   sout
exit:
;************
   call read
   jmp   Main
Docendo discimus
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..

Сообщение BOB51 »

:)))
программа использует для работы RB0 и RB1
а указатель стека адресует тот же RB1...
когда-нибудь да "наедет" с затиркой данных
кроме того, зачем весь psw уродовать?! :shock:
для переключения банков требуется или маска или банальное setb rs0 / clr rs0 8)
Ответить

Вернуться в «Разные вопросы по МК»