Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подредактировать код программы (MCS-51) 
:(
    Опции темы
Jead
Дата 27.11.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Ребят, подмогите пожалуйста. Что-то у меня идеи совсем закончились.. В общем у нас имеется микроконтроллер серии MCS-51, который нужно запрограммировать.
Задание
Используя модуль ввода-вывода первого типа, обеспечить 
при отпущенных кнопках S1, S2 и S3 свечение светодиода VD1.
 При нажатии любой (одной) из кнопок свечение светодиода VD2. 
При нажатии любой пары кнопок свечение светодиода VD3.
 В случае одновременного нажатия трех кнопок должен гореть
 светодиод VD4.



 Так же имеется модуль ввода-вывода вот с такой структурной схемой
user posted image
Я сделал для нее структурную схему подсистемы
user posted image
В итоге разработал алгоритм.
user posted image
Извиняюсь за корявость, делал на скорую руку.

В общем я по нему написал программу на Ассемблере, но с кучей ошибок. Ну не очень силен я в нем =(
Код

SJMP BEGIN
BEGIN:       MOV                  P1,#00001000b
                  M4:
                  PERM                 equ 03h
                  MOV                  A,P1.0
                  JZ                      M1
                  INC                   PERM
                  M1:
                  MOV                  A,P1.1
                  JZ                      M2
                  INC                   PERM
                  M2:
                  MOV                  A,P1.2
                  JZ                      M3
                  INC                   PERM
                  M3:
                  MOV                  A,PERM
                  JZ                      M4
                  MOV                  P1,#00000000b
                  CMP                  PERM,1
                  JE                      M5
                  JNE                    M6
                  M5:
                  MOV                  P1,#00010000b
                  JMP                   M4
                  M6:
                  CMP                  PERM,2
                  JE                      M7
                  JNE                    M8
                  M7:
                  MOV                  P1,#00100000b
                  JMP                   M4
                  M8:
                  MOV                  P1#01000000b
                  JMP                   M4


В общем пара ошибок в том, что я не знаю как считать значение порта Р1.1 (н-р) и поэтому в коде написал просто  Р1.1 ( Р1.2), естественно в аккумулятор ничего не копируется. Еще проблема в том что для мк серии МЦС-51 нету таких команд как CMP, JNE,JE и я не знаю чем их заменить... не подскажете?


Цитата




Это сообщение отредактировал(а) Jead - 27.11.2011, 15:26
PM MAIL   Вверх
Jead
Дата 27.11.2011, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Никто не подскажет? Тут же для понимающих людей три минуты потратить...
PM MAIL   Вверх
xvr
Дата 28.11.2011, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(Jead @  27.11.2011,  20:43 Найти цитируемый пост)
Тут же для понимающих людей три минуты потратить... 

'Понимающие люди' пишут на С, а на ассемблере пишут любители головоломок. Ждите, пока они сюда заглянут  smile 

PM MAIL   Вверх
Kuka555
Дата 4.11.2012, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.4.2012

Репутация: нет
Всего: нет



Jead, я сама только начала программировать на ассемблере, но попробую помочь: напрямую с портом P1 у меня тоже не получилось работать, поэтому я забила значение порта в регистр (например  R0) и дальше работала уже с ним
PM MAIL   Вверх
irina8317
Дата 4.11.2012, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.11.2012

Репутация: нет
Всего: нет



Добрый вечер. Очень нужна помощь по Архитектуре ЭВМ, а точнее необходимо исправить ошибки в уже готовой семестровой работе. 
ООООООООООЧЕНЬ НУЖНО. ПОМОГИТЕ. 
Пишите в личку [email protected]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.