Easyelectronics.ru

Электроника для всех
Текущее время: 13 апр 2021, 09:06

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



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 16:25 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
Есть больщой вопрос по поводу регистров на АТ89С51. На ясемблере есть такой регистр Movx он работает всё хорошо. Он предназнасен для передачи информации по шине данных и шине адреса. А как этот регистр звучит на С++ и с чем его едят? Может быть какието примеры в С++ имеются?

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 18:08 
Старожил
Аватара пользователя

Зарегистрирован: 14 июн 2011, 14:22
Сообщения: 335
Konoplj2010 писал(а):
На ясемблере есть такой регистр Movx он работает всё хорошо.
... теперь буду знать, что Movx - это регистр
ЗЫ сразу видно спеца по ясемблеру....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:30 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
Movx - это комманда ) а пишется Асемблер )
предлогаю изучить еще разок асемблер поучить

_________________
С миру по нитке


Последний раз редактировалось RicherD 24 дек 2011, 23:35, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:34 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
Ну я пожалуй не так вырозилс. Да в асемблере я профан, да Movx - это не регистр, а команда передачи байта по порту. Меня интересует как по этому порту передавать байт на С++. Проблема в том что есть учебно - отладочный стенд, мы (студенты) учимся передавать этот байт для задания адреса в регистр обшего назначения. Задание перейти с асемблера на С++. А вот как теперь задать этот адрес, вопро хороший. Если не задавать этот адрес никакой регистр общего назначения не работает.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:36 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
передачи байт по порту? о.О

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:38 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
RicherD писал(а):
Movx - это комманда ) а пишется Асемблер )
предлогаю изучить еще разок асемблер поучить

Я пишу с сенсорного телефона и иногда промазываю по кнопкам, извините за орфографию.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:40 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
так если вы хотите использовать конкретные РОН и комманды, то используйте асм вставки.
P.S. есть особенности в некоторых компиляторах, т.ч. советую скинуть хоть инфу по компилятору или его самого

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:42 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
пардон, чушь написал
"предлогаю изучить еще разок асемблер поучить"

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:48 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
Ну как тот самый порт (ШД И ША), по которому прогамируют МК. С ним можно работать не только для прогамирования но и для передачи данных на внешние устройства. Этот порт занимает 16 выводов (8 выводов данных и 8 выводов адреса).

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 24 дек 2011, 23:56 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
MOVC не обязательно по порту в/в.
Жду инфу про компилятор.

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:00 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
RicherD писал(а):
MOVC не обязательно по порту в/в.
Жду инфу про компилятор.

Компилятор Keil uVision4. Контроллер АТ89С51. А по поводу асемблерных вставок интересно бы послушать.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:03 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
вам тогда очень поможет хорошая книга по этому поводу "Магда Ю.Г. (вроде так) Микроконтроллеры серии 8051. Практический подход"

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:04 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
+ ко всему в кейле есть дизасемблер и отладка. Так что дерзайте

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:10 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
RicherD писал(а):
+ ко всему в кейле есть дизасемблер и отладка. Так что дерзайте

Ну спосибо за совет.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:14 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
по сути можно даже простую подпрограмму прописать на запись и считываение данных.
А еще попробуйте найти в этой книге xdata - вам будет проще понять, что к чему
стр 47~50

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:39 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
Я источник нашол. Там говорится об прирывании от последовательного порта. меня интересует передать данные по этому порту. Прирывания мне не нужны.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 00:47 
Старожил
Аватара пользователя

Зарегистрирован: 30 ноя 2011, 21:12
Сообщения: 1002
Откуда: Ясиноватая, Донецк, Новороссия
Пордон, не туда глянул. Да, чтото похожее. То есть передать данные можно приблизительно так;
char xdata text[256] _at_ 0xE000;
где text[256] - это данные, а 0xE000 - это адрес. Или както так.

_________________
Привет из Донбасса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 01:08 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2010, 01:03
Сообщения: 650
Откуда: Херсон
Не С++, а SDCC.
Код:
...
xdata at 0xA000 unsigned char lefti; // left part of indication
xdata at 0xB000 unsigned char righti; // right part of indication
...
  lefti=0x12;
  righti=0x34;
...

_________________
Если руки золотые, то не важно с какого места они растут.
Изображение
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как програмировать регистры МК51 на С++
СообщениеДобавлено: 25 дек 2011, 08:36 
Старожил
Аватара пользователя

Зарегистрирован: 11 дек 2010, 13:08
Сообщения: 644
Откуда: ... Из далекой, далекой галактики
поясняю
xdata - это указатель на внешную память
_at_ - это конкретный указатель адреса

Код:
int xdata TEMP _at_ 0x2F00;
.
.
.
TEMP = 0b00011100;

пример: переменная TEMP размером (int) размещенна по внешнему адресу 0x2F00.
затем запись во внешнюю память числа 0b00011100 (бинарная система)
Надеюсь пояснил

_________________
С миру по нитке


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 


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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB