0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
1

Как програмировать регистры МК51 на С++

23.12.2011, 16:38. Показов 13082. Ответов 18
Метки нет (Все метки)

Есть больщой вопрос по поводу регистров на АТ89С51. На ясемблере есть такой регистр Movx он работает всё хорошо. Он предназнасен для передачи информации по шине данных и шине адреса. А как этот регистр звучит на С++ и с чем его едят? Может быть какието примеры в С++ имеются?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2011, 16:38
Ответы с готовыми решениями:

Как програмировать?
Тут смотрю как америкосы делают разные игры по фильмам и думаю, а как это делают и задают примерно...

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

Как програмировать на с++ под WM6?
Кто-нибудь знает как програмировать на с++ под WM6? что надо сделать что-бы хотябы вот это...

Что такое регистры микропроцессора? Перечислите регистры общего назначения
Помогите пожалуйста решить задания по TASM 1) Что такое регистры микропроцессора? Перечислите...

18
0 / 0 / 0
Регистрация: 11.06.2011
Сообщений: 322
23.12.2011, 18:21 2
Цитата Сообщение от Komoptj2010
На ясемблере есть такой регистр Movx он работает всё хорошо.
... теперь буду знать, что Movx - это регистр
ЗЫ сразу видно спеца по ясемблеру....
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
23.12.2011, 23:43 3
Movx - это комманда ) а пишется Асемблер )
предлогаю изучить еще разок асемблер поучить
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
23.12.2011, 23:47 4
Ну я пожалуй не так вырозилс. Да в асемблере я прафин, да Movx - это не регистр, а команда передачи байта по порту. Меня интересует как по этому порту передавать байт на С++. Проблема в том что есть учебно - отладочный стенд, мы (студенты) учимся передавать этот байт для задания адреса в регистр обшего назначения. Задание перейти с асемблера на С++. А вот как теперь задать этот адрес, вопро хороший. Если не задавать этот адрес никакой регистр общего назначения не работает.
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
23.12.2011, 23:49 5
передачи байт по порту? о.О
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
23.12.2011, 23:51 6
Цитата Сообщение от RyshirD
Movx - это комманда ) а пишется Асемблер )
предлогаю изучить еще разок асемблер поучить
Я пишу с сенсорного телефона и иногда промазываю по кнопкам, извините за орфографию.
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
23.12.2011, 23:53 7
так если вы хотите использовать конкретные РОН и комманды, то используйте асм вставки.
P.S. есть особенности в некоторых компиляторах, т.ч. советую скинуть хоть инфу по компилятору или его самого
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
23.12.2011, 23:55 8
пардон, чушь написал
"предлогаю изучить еще разок асемблер поучить"
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
24.12.2011, 00:01 9
Ну как тот самый порт (ШД И ША), по которому прогамируют МК. С ним можно работать не только для прогамирования но и для передачи данных на внешние устройства. Этот порт занимает 16 выводов (8 выводов данных и 8 выводов адреса).
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
24.12.2011, 00:09 10
MOVC не обязательно по порту в/в.
Жду инфу про компилятор.
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
24.12.2011, 00:13 11
Цитата Сообщение от RyshirD
MOVC не обязательно по порту в/в.
Жду инфу про компилятор.
Компилятор Keil uVision4. Контроллер АТ89С51. А по поводу асемблерных вставок интересно бы послушать.
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
24.12.2011, 00:16 12
вам тогда очень поможет хорошая книга по этому поводу "Магда Ю.Г. (вроде так) Микроконтроллеры серии 8051. Практический подход"
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
24.12.2011, 00:17 13
+ ко всему в кейле есть дизасемблер и отладка. Так что дерзайте
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
24.12.2011, 00:23 14
Цитата Сообщение от RyshirD
+ ко всему в кейле есть дизасемблер и отладка. Так что дерзайте
Ну спосибо за совет.
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
24.12.2011, 00:27 15
по сути можно даже простую подпрограмму прописать на запись и считываение данных.
А еще попробуйте найти в этой книге xdata - вам будет проще понять, что к чему
стр 47~50
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
24.12.2011, 00:52 16
Я источник нашол. Там говорится об прирывании от последовательного порта. меня интересует передать данные по этому порту. Прирывания мне не нужны.
0
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816
24.12.2011, 01:00 17
Пордон, не туда глянул. Да, чтото похожее. То есть передать данные можно приблизительно так;
char xdata text[256] _at_ 0xE000;
где text[256] - это данные, а 0xE000 - это адрес. Или както так.
0
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
24.12.2011, 01:21 18
Не С++, а SDCC.
Код
...
xdata at 0xA000 unsykned char lefti; // left part of indication
xdata at 0xB000 unsykned char righti; // right part of indication
...
lefti=0x12;
righti=0x34;
...
0
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 574
24.12.2011, 08:49 19
поясняю
xdata - это указатель на внешную память
_at_ - это конкретный указатель адреса

Код
int xdata TEMP _at_ 0x2F00;
.
.
.
TEMP = 0b00011100;
пример: переменная TEMP размером (int) размещенна по внешнему адресу 0x2F00.
затем запись во внешнюю память числа 0b00011100 (бинарная система)
Надеюсь пояснил
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2011, 08:49

Как произведение чисел с портов Р0 и Р1 МК51 вывести в порты Р2 и Р3
Здравствуйте, уважаемые форумчане! Делаю индивидку, задание которой звучит так: "Произведение...

МК51 (аналог intel 8051): как добавить бит четности?
Здравствуйте! В массиве 20Н-27Н РПД микроконтроллера МК51 подготовлены для передачи семиразрядные...

Создать класс Account. Задача из книги Дейтелов "Как програмировать на С++"
Начал изучение С++, прочитал главу "Введение в классы и объекты" в книге Дейтелов "Как...

В чем програмировать?
Здравствуйте! Кто скажет в чем лучше программировать в DELPHI 7 или DELPHI 8? Открыл DELPHI 8...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.