Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 11:57   #1
nickzzr400cc
 
Регистрация: 05.06.2012
Сообщений: 3
Восклицание задача на ассемблере

ПОМОГИТЕ РЕШИТЬ!!!
Карта опроса 128 датчиков (битовая информация) записана в ячейки 20Н-2FН РПД микроконтроллера МК51. При срабатывании датчика (нулевой уровень), его номер (от 0 до 127) вывести в регистр DPTR в двоично-десятичном коде.
nickzzr400cc вне форума Ответить с цитированием
Старый 05.06.2012, 12:13   #2
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

А вы на каком этапе решения? Какие проблемы есть? Среду для программирования поставили? Если не поставили, то советую Keil C51. В бесплатной версии можно компилировать код до 2К, больше она ни в чём неограниченна.
8Observer8 на форуме Ответить с цитированием
Старый 05.06.2012, 20:57   #3
nickzzr400cc
 
Регистрация: 05.06.2012
Сообщений: 3
Восклицание

Я не имел опыта работы с ассемблером поэтому даже не знаю с чего начать. Алгоритм решения есть а как реализовать его не знаю
nickzzr400cc вне форума Ответить с цитированием
Старый 05.06.2012, 22:45   #4
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от nickzzr400cc Посмотреть сообщение
Алгоритм решения есть а как реализовать его не знаю
Приведите описание алгоритма. Я видел решение вашей задачи в книге Юрия Магды "Микроконтроллеры серии 8051: практический" --> ссылка

Глава "Обработка дискретных сигналов". У него там и код есть и схема (с мультиплексором). Программа написана в среде Keil C51 на языке ассемблера A51.

Я сейчас не могу сообразить, как подцепить к микроконтроллеру 127 датчиков. Вариант с мультиплексированием конечно. Но вот как эти мультиплексоры организовать на 127 входов? Я подумаю...

А вы тем временем поставьте Keil C51.

Вот вам рабочая заготовка:

Код:
NAME    PROCS                   ; beginning of program
MAIN    SEGMENT CODE            ; declare a segment of code

CSEG    AT    0                 ; absolute address of code segment
USING   0                       ; use general-purpose registers (GPR): R0-R7

jmp     start
RSEG    MAIN                    ; beginning a segment of code

start:

    // ...
    // code
    // ...

    sjmp $                      ; infinite loop
END                             ; end of program
8Observer8 на форуме Ответить с цитированием
Старый 06.06.2012, 10:16   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Но вот как эти мультиплексоры организовать на 127 входов? Я подумаю...
можно очень даже просто: поставить перед мультиплексором счётчик и последовательно их опрашивать... т.е. при появлении сигнала чтения линии от процессора снимаем состояние с мультиплексора и увеличиваем счётчик, а при сбросе устанавливаем мультиплексор на новое значение счётчика. а конкретная схема мультиплексора будет зависеть от элементной базы)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 07.06.2012, 08:44   #6
nickzzr400cc
 
Регистрация: 05.06.2012
Сообщений: 3
Восклицание

ВОТ ПРОГРАММА ВЫДАЕТ ОШИБКИ ПОМОГИТЕ ИСПРАВИТЬ



ORG 00H
MOV R0,#20H
M1: MOV A,#0FFH
CJNE A,@R0,M2
MOV R3,R0
LYMP EXIT1
M2: INC R0
DJNZ R2,M1
LYMP NETDAT:END
EXIT1: CLR C
MOV A,R3
SUBB A,#20
MOV R3,A
MOV A,@R0
MOV R2,#7
M3: RLC A
INC R3
JNC M4
DJNZ R2,M3
M4: MOV A#0
ADD A,R3
DA A
JNC M5
MOV R3,#1
MOV DPH,R3
M5: MOV DPL,A
Вложения
Тип файла: doc ORG 00H.doc (25.5 Кб, 14 просмотров)
nickzzr400cc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на ассемблере katyali73 Помощь студентам 0 10.04.2012 22:21
Задача на ассемблере Evgen2010 Помощь студентам 0 27.12.2011 11:26
задача на ассемблере aida_happy Помощь студентам 0 07.12.2011 20:01