Например TDA7294

Форум РадиоКот • Просмотр темы - Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пн янв 20, 2020 23:29:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 894 ]  1, , , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Задачка по мк51
СообщениеДобавлено: Вт ноя 15, 2011 21:12:29 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
разработать программу, формирующую в регистре DPTR дополнительный код числа минус 5000 (двухбайтовый формат);

Сделал во такую программку:
MOV DPH,#10H ;
MOV DPL,#00H ;
MOV A,#ECH ;первый байт кода в аккумуляторе
MOVX @DPTR,A ;первый байт кода в памяти программы
MOV A,#78H ;второй байт кода в аккумуляторе
MOVX @DPTR,A ;второй байт кода в памяти
INC DPTR ;наращивание указателя памяти
END

Компилятор ругается вот так:
1 ;начало программы
2 0000 758310 MOV DPH,#10H ;
3 0003 758200 MOV DPL,#00H ;
Error in 4: Undefined label: ECH
MOV A,#ECH ;первый байт кода в аккумуляторе
^
4 0006 7400 MOV A,#ECH ;первый байт кода в аккумуляторе
5 0008 F0 MOVX @DPTR,A ;первый байт кода в памяти программы
6 0009 7478 MOV A,#78H ;второй байт кода в аккумуляторе
7 000B A3 INC DPTR ;наращивание указателя памяти
8 000C F0 MOVX @DPTR,A ;второй байт кода в памяти
9 000D END

Errors: 1 #######
Bytes: 13 # iz2 #
CRC: EFC8 #######

Подскажите возможные ошибки или предложите свою прогу.Заранее спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Вт ноя 15, 2011 21:17:44 
Друг Кота
Аватар пользователя

Карма: 53
Рейтинг сообщений: 379
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 6827
Откуда: Ижевск
Рейтинг сообщения: 0
Щас придет МитяРа и разрулит. Терпение. :)

_________________
Docendo discimus


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Вт ноя 15, 2011 23:29:07 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 28
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
alyarma писал(а):
Подскажите возможные ошибки
Код:
MOV A,#ECH ;первый байт кода в аккумуляторе
Компилятор «законно» ругается, т.к. шестнадцатеричные числа не могут начинаться с буквы - правильно может быть так ( ….в зависимости от компилятора) #0ECH, #0xEC, #$EC
alyarma писал(а):
....предложите свою прогу.
..т.е. сделать все за Вас ? :))


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 03:42:30 
Опытный кот

Карма: 10
Рейтинг сообщений: 26
Зарегистрирован: Вс апр 10, 2011 02:24:06
Сообщений: 758
Откуда: г.Северодонецк
Рейтинг сообщения: 0
Дополнительный код -5000 дес = 0хEC78
Если задание поместить этот код в dptr, то тогда

mov dph,#ech
mov dpl,#78h
и все.

Если у вас задание разместить этот код в памяти по адресу 0х1000 используя dptr , то тогда вы не сильно ошиблись:

mov dph,#10h
mov dpl,#00h
mov a,#ech
movx @dptr,a
inc dptr
mov a,#78h
movx @dptr,a
inc dptr (если надо)
Для компилятора пишите текст программы только маленькими буквами.
Прилагаю архив, там программатор для АТ89с1051(2051,4051) схема+программа на паскале +описание , схема+прошивка+описание часов на АТ89С2051 и проект на асме вместе с компилятором для мк51(и не только). Посмотрите. Есть бета версия прошивки для этой конструкции часов (кое-что переписано и исправлено, добавлены мелодии) - это если понадобится кому-то, выложу


Вложения:
progx051.rar [408.08 KiB]
Скачиваний: 776

_________________
C0FFEE=‭12648430‬
Вернуться наверх
 
Контроль в спящем режиме: повышение КПД батарейного питания с помощью DC/DC MAX17225 nanoPower

В статье описан практический опыт разработчика, применившего повышающий DC/DC-преобразователь MAX17225. В результате ряда практических экспериментов, потребовавших существенного обновления технической базы компании-разработчика, автор убедительно доказывает преимущества выбранного компонента и схемотехнической реализации. Увеличенное на 50% время автономной работы лучше других аргументов говорит об эффективности конвертеров MAX17225, а также о важности предварительной оценки элементной базы.

Читать статьи>>
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 05:51:03 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
Проблема с ECH устранена,действительно нужно было написать 0ECH.
Прога компилируется,но сам ассемблер теперь ругается вот так:
На строчке - MOVX @DPTR,A
Ошибка: Trap:Undefined address:X=1000H
Листинг проги:
mov dph,#10h
mov dpl,#00h
mov a,#0ech
movx @dptr,a
inc dptr
mov a,#78h
movx @dptr,a
end


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 08:56:38 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
Мяу всем..

Странно, у мя не ругается:
Код:
                       1    $NOMOD
                       2    $NOLIST
                     174    $LIST
                     175    $TITLE(Encoder_mini)
                     176    $PAGEWIDTH(132)         
                     177    $NOPAGING
                     178    ;----------
                     179    ; Начало программы.
                     180    ;----------
0000                 181            org     0h
                     182            ;
0000 758310          183            mov     dph,#10h
0003 758200          184            mov     dpl,#00h
0006 74EC            185            mov     a,#0ECh
0008 F0              186            movx    @dptr,a
0009 A3              187            inc     dptr
000A 7478            188            mov     a,#78h
000C F0              189            movx    @dptr,a
                     190            ;
                     191            end

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND


Может у тя ассемблек "кривой" или хочет что-бы перед программой ему что-то определили, адреса или прочее..
Попробуй написать в начале директиву ORG, как у мя написано..
Пользуюсь Металинк-асмом..

P.S. pyzh_man, благодарю за протекцию.. :))

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 09:04:01 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
МитяРа писал(а):
Мяу всем..

Странно, у мя не ругается:
Код:
                       1    $NOMOD
                       2    $NOLIST
                     174    $LIST
                     175    $TITLE(Encoder_mini)
                     176    $PAGEWIDTH(132)         
                     177    $NOPAGING
                     178    ;----------
                     179    ; Начало программы.
                     180    ;----------
0000                 181            org     0h
                     182            ;
0000 758310          183            mov     dph,#10h
0003 758200          184            mov     dpl,#00h
0006 74EC            185            mov     a,#0ECh
0008 F0              186            movx    @dptr,a
0009 A3              187            inc     dptr
000A 7478            188            mov     a,#78h
000C F0              189            movx    @dptr,a
                     190            ;
                     191            end

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND


Может у тя ассемблек "кривой" или хочет что-бы перед программой ему что-то определили, адреса или прочее..
Попробуй написать в начале директиву ORG, как у мя написано..
Пользуюсь Металинк-асмом..

P.S. pyzh_man, благодарю за протекцию.. :))

Поставил,без изменений.
Компиляция и у меня проходит без ошибок.Ругается именно ассемблер,когда пытаешься запустить прогу.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 09:43:43 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
alyarma писал(а):
Компиляция и у меня проходит без ошибок.Ругается именно ассемблер,когда пытаешься запустить прогу.
Давай в начале с терминологией разберёмся..
Компилятор и есть ассемблер..
Запустить программу ты можешь в симуляторе или в отладчике..

После компиляции программы в машинный код ты что запускаешь?

P.S. не цитируй предыдущий пост если сразу за ним отвечаешь, или цитируй только часть, на которую отвечаешь..

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 10:34:05 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 829
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 9956
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
скорее всего латиница-кирилица где-то прермешались
"Error in 4: Undefined label: ECH
MOV A,#ECH ;первый байт кода в аккумуляторе"
в данном случае #ech воспиринято как имя метки (сгенерирован по ошибке почему-то код 7400), при том,
что в других случаях компилятор отработал верно (MOV A,#78H = 7478)
перепиши внимательно заново текст исходника :beer:
брр... оффтоп... :oops:
пользуйтесь компиляторами с хорошо изученными иописаниями...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Ср ноя 16, 2011 11:58:34 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Вт фев 16, 2010 12:10:38
Сообщений: 274
Откуда: Воронеж, Россия
Рейтинг сообщения: 0
Что-то мне подсказывает, что у топик-стартера задача заключается не в подсчете на калькуляторе дополнительного кода числа 5000 и отправке его (зачем?) в ячейку внешней памяти по адресу 1000h. А именно в том, чтобы вычислить программно этот код и поместить в dptr:
alyarma писал(а):
разработать программу, формирующую в регистре DPTR дополнительный код числа минус 5000 (двухбайтовый формат);
Это может выглядеть так, вариант:
Код:
org 0
   jmp      start


start:
   mov    dptr, #5000         ; помещаем 5000 в dptr временно
   mov    a, dpl             ; мл. байт числа в аккумулятор
   cpl   a                    ; инвертируем акк.
   mov    dpl, a             ; отправляем обратно
   mov    a, dph             ; ст. байт числа в аккумулятор
   cpl      a            ; инвертируем акк.
   mov    dph, a             ; отправляем обратно
   inc   dptr                    ; добавляем 1

; все, у нас в dptr дополнительный код числа 5000, что и означает -5000  или 0ec78h

end
Проверено в Keil µVision4:
Код:
Build target 'Target 1'
linking...
Program Size: data=8.0 xdata=0 code=16
"irr1" - 0 Error(s), 0 Warning(s).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51
СообщениеДобавлено: Пн ноя 21, 2011 10:54:14 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Вт фев 16, 2010 12:10:38
Сообщений: 274
Откуда: Воронеж, Россия
Рейтинг сообщения: 0
alyarma писал(а):
разработать программу, формирующую в регистре DPTR дополнительный код числа минус 5000 (двухбайтовый формат);
Осмелюсь поинтересоваться, а что у Вас с программой? Столько народу советы давали, получилось запустить (сдать)?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 13:38:44 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
Задача:Карта опроса 16 датчиков (массив однобайтовых чисел без знака) записана в ОЗУ МП серии МК51 начиная с ячейки 20H. Начиная с ячейки 30Н сформировать копию массива, изменив порядок следования чисел на обратный, а минимальное значение вывести на светодиоды порта вывода Р1.
Первая часть задачки реализована, а вот вторая (выделенная большим шрифтом) что-то не получается.
Подскажите в чём проблема.Заранее спасибо.
Код:
   ORG 0
   MOV R0,#2FH   
   MOV R1,#30H
   MOV R3,#10H
   MOV P1,#0FFH
M1:    MOV A,@R0
   MOV @R1,A
   DEC R0
   INC R1
   DJNZ R3,M1
M2:   MOV R3,#10H
   MOV A,P1
   SUBB A,@R0
   JC M3
M3:   MOV P1,A
   INC R0
   DJNZ R3,M2
   END   

Скриншот ошибки.
Вложение:
111.JPG [94.74 KiB]
Скачиваний: 1167


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:03:16 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
Очень смущает вот эти строчки:
Код:
   JC M3
M3:   MOV P1,A

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:05:12 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 227
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3803
Откуда: Москва
Рейтинг сообщения: 0
Во-первых: второй цикл сделан не правильно - R3 забыли уменьшать, и метка M2 должна быть на следующей строке после присвоения R3 количества проходов.
Во-вторых МитяРа написал.

PS: И лучше не хранить информацию в P1, а использовать регистр, и в конце программы вывести его значение в порт.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:13:18 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
Engineer_Keen писал(а):
информацию в P1, а использовать регистр,
Например B..

P.S. alyarma, а чё, с виндовыми симуляторами напряг?

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:14:56 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
P.P.S. Только щас вспомнил, alyarma, ты зачем ещё одну тему создал? У тя-же уже есть одна: viewtopic.php?t=58472

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:20:34 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
МитяРа писал(а):
P.P.S. Только щас вспомнил, alyarma, ты зачем ещё одну тему создал? У тя-же уже есть одна: viewtopic.php?t=58472

Ту тему забыл закрыть,сейчас закрою.
Просто эта тема про мк51)Вот и создал новую)

Поправил,теперь код выглядит вот так,но всё равно не записывает минимальное значение в порт P1:
Код:
   ORG 0
   MOV R0,#2FH   
   MOV R1,#30H
   MOV R3,#10H
   MOV B,#0FFH
M1:    MOV A,@R0
   MOV @R1,A
   DEC R0
   INC R1
   DJNZ R3,M1
   MOV R3,#10H
M2:   MOV A,B
   SUBB A,@R0
   JC M3
M3:   INC R0
   DJNZ R3,M2
   MOV P1,B
   END   


Вложения:
222.JPG [94.66 KiB]
Скачиваний: 912


Последний раз редактировалось alyarma Чт ноя 24, 2011 14:25:39, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:24:37 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
alyarma писал(а):
Просто эта тема про мк51
А там про што была? Про мк52 что-ли? :)))

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:26:11 
Родился

Зарегистрирован: Вт ноя 15, 2011 21:05:56
Сообщений: 12
Рейтинг сообщения: 0
МитяРа писал(а):
alyarma писал(а):
Просто эта тема про мк51
А там про што была? Про мк52 что-ли? :)))

мк48:)
И R3 я не забыл уменьшать.Оно уменьшается в метке M3,где происходит зацикливание.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Задачка по мк51.Требуется помощ магистров!
СообщениеДобавлено: Чт ноя 24, 2011 14:33:26 
Модератор
Аватар пользователя

Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26
Сообщений: 11490
Откуда: град Нижний
Рейтинг сообщения: 0
alyarma писал(а):
Поправил,теперь код выглядит вот так
:cry:
Повторю: поясни назначение вот этих двух строчек:
Код:
   JC M3
M3:   INC R0


alyarma писал(а):
мк48:)
Мя понимаю, что у них мнемоника команд практически одинакова, но название темы-то было про МК51.. :))

_________________
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 894 ]  1, , , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y