42 сообщения в этой теме

1 минуту назад, SDD39 сказал:

MOV A  , 57

Тут еще H в конце так ведь.

1 минуту назад, SDD39 сказал:

MOV R7 , A

А вот это как бы конечная команда? 

5 часов назад, Elite_Knight сказал:

Составить двоичный и шестнадцатеричный код каждой команды.

А что с этим делать? Только будут менять числа, разные системы счисления или еще что-то? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
SDD39    125
1 час назад, Elite_Knight сказал:

Тут еще H в конце так ведь.

Либо н  либо 0х57

2 часа назад, Elite_Knight сказал:

А вот это как бы конечная команда?

Да . Но нужно ещё команды переключения банков регистров вставить  перед выполнением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612
6 минут назад, SDD39 сказал:

Через аккумулятор надо

Не надо!


 

9 минут назад, Elite_Knight сказал:

mov R6, 36h

Запись не верна! Перед числом, нужно указать, что это именно число mov R6, #36h .
 

4 минуты назад, SDD39 сказал:

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

Не надо! Можно обращаться к регистрам теневых банков по аппаратному адресу! Они доступны.
 

9 минут назад, Elite_Knight сказал:

А что с этим делать?

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


   18:	  0040			 beg:
   19:	  0040	75 C8 FF	 mov T2CON, #0FFh
   20:	  0043	C2 C9		  clr T2CON.1
   21:	  0045	75 C9 FF	   mov T2MOD, #0FFh
   22:
   23:	  0048	75 CA EA	   mov RCAP2L,  #0EAh
   24:	  004B	75 CB FF	   mov RCAP2H,  #0FFh
   25:


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    125
2 часа назад, o_l_e_g сказал:

Не надо!

Как говорится , лучше переб... чем  недоб...))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612
1 минуту назад, SDD39 сказал:

лучше переб

Б(з)деть не надо! 51 допускает прямое обращение ко всей периферии. :)
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    125
2 часа назад, Elite_Knight сказал:

А где указывать адресацию в другой банк? Какая команда будет? 

Цитата

. Переключение банков регистров производится при помощи двух особых бит регистра слова состояния программы PSW (RS0 и RS1). Если организация нескольких параллельных потоков обработки данных не нужна, то можно пользоваться только нулевым банком регистров, включающимся автоматически после включения питания и сброса микроконтроллера, остальные ячейки памяти использовать как обычное ОЗУ.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612
3 минуты назад, Elite_Knight сказал:

адресацию в другой банк? Какая команда будет?

Таже MOV, адрес берется из таблицы адресов, что приведена ранее. Только теперь, решетку перед не ставим- это аппаратный адрес!
 

Так делается, чтобы не морочится с переключением банков.
 

29 минут назад, Elite_Knight сказал:

mov R6, 36h

mov R7, 57h

anl A, R7

Пропущена команда MOV A, R6
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612
5 минут назад, Elite_Knight сказал:

mov A, 1fh

1f- это третий банк 17h -второй

Только MOV 17h, A
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    125
2 часа назад, o_l_e_g сказал:

Б(з)деть не надо! 51 допускает прямое обращение ко всей периферии.

Я ориентируюсь на знакомый мне Z80 ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612

Да еще, программа начинается прыжком через вектора.

jmp beg
 
 
 org 02Bh ;вектор от прерывания Т2 
 CLR T2CON.7
 jmp odrab


 

 org 40h
 beg:    ;начало главного цикла.


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кому верить, тогда вот так?

mov R6, #36h

mov A, R6

mov R7, #57h

anl A, R7

mov 17h, A

Значит в конце я закинул число 5416 и 8716 в R7 второго банка и при этом сделал логическую операцию И, все? Дополнительно ничего, программа знает что 17h будет нужный банк и регистр?

Подскажите сразу в какой еще программе я смогу листинг увидеть? 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    125

Программа не знает , она просто запишет значение по адресу 17н .

А то что это адрес R7''  видно из таблицы памяти.

r7.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
o_l_e_g    1 612

Привожу листинг, название компилятора, там указано. И результат выполнения, все работает.
 

new.zip

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Гость Влад
      Автор: Гость Влад

       
    • Автор: Ruslan95
      Помогите решить задачу. В в условии дано параметры транзистора h11e, h21e, h22e и Rk, R,  C. Нужно найти возбудится ли автогенератор

    • Автор: SergeyKa
      и так имеется микроконтроллер Atmega8 с тактовой частотой внешнего кварцевого резонатора 16 МГц
      допустим мы имеем переменную PLUS с бесконечным возможным числом.
      while(1) { plus++; } какое будет значение переменной PLUS за 1 микросекунду.
    • Автор: Speed Fighter
      Здарова, инженеры. 
      Не подсобите студню с заданием? 
      Задание, если кому интересно:
      Я подчитнул некоторую теорию, про индикацию, матричную клавиатуру и её опрос. Но вот возникли след. вопросы/трудности:
      1. В случае использования только двух кнопок, целесообразно ли подключать кнопку непосредственно к выводу микроконтроллера? Насколько сильно это упростит решение задачи?
      2. Можно ли где-то посмотреть пример реализации таких клавиатур именно на PIC18? (Уж очень у меня не хватает практики по программированию устройств, всегда на уровне любителя работал на крестах и ему подобных языках для решения мелких проблем и забав)
      3. Можно ли где-то смоделировать моё творение, т.е. посмотреть работоспособность? (MPLAB, proteus, xlinx)
      4. На чем в данном случае рациональнее "кодить" - язык ассемблера или сишка?
      Есть некоторый алгоритм для обработки дребезка контактов:
      https://pp.userapi.com/c840123/v840123038/23a0/IjXofwjEmuc.jpg
      Есть некоторая схемка, которую я в инете откопал:
      https://pp.userapi.com/c840123/v840123038/23a7/-rD4tgCfvLs.jpg
      Так же нашел небольшой код на просторах интернета (увы, он для AVR) :
       
      Благодарю за каждый пендель в нужном направлении, тема-то хорошая.
       
    • Автор: Александр Дрей
      Помогите со скетчем для инкубатора имеется ардуино уно lcd keypad shiled датчик 
      dht22 блок на 4 реле часы ds1302 планируется измерение температуры коррекция работы нагревателя через реле вывод температуры на дисплей измерение влажности коррекция через реле вывод на дисплей переворот лотка по времени через реле вентиляция по времени через реле отображение времяни инкубации дни часы и авварийный сигнал при превышении температуры если можно с коментариями в скетче
      Сам я нуб в программировании пытался копировать и вставлять скейтч с интернета а он даже не проходит проверку в среде ардуино пишет ошибку