Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/70: Рейтинг темы: голосов - 70, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 816

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

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

Студворк — интернет-сервис помощи студентам
Есть больщой вопрос по поводу регистров на АТ89С51. На ясемблере есть такой регистр Movx он работает всё хорошо. Он предназнасен для передачи информации по шине данных и шине адреса. А как этот регистр звучит на С++ и с чем его едят? Может быть какието примеры в С++ имеются?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2011, 16:38
Ответы с готовыми решениями:

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

Как програмировать на планшете?
Как програмировать на планшете? Какой выбрать планшет и чем руководствоваться для этого. Планшет какой системы использовать (Android, iOS...

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

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

Code
1
2
3
4
5
int xdata TEMP _at_ 0x2F00;
.
.
.
TEMP = 0b00011100;
пример: переменная TEMP размером (int) размещенна по внешнему адресу 0x2F00.
затем запись во внешнюю память числа 0b00011100 (бинарная система)
Надеюсь пояснил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2011, 08:49
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru