Мегаобучалка Главная | О нас | Обратная связь


Методические указания к решению задачи 1



2020-02-04 200 Обсуждений (0)
Методические указания к решению задачи 1 0.00 из 5.00 0 оценок




При разработке программы важным этапом является разработка алгоритма решения задачи. При этом рекомендуется пользоваться правилами структурного (модульного) программирования, которые предполагают проектирование программ сверху вниз с разделением программ на отдельные модули. Каждый модуль содержит одну точку входа и одну точку выхода и представляет собой композицию основных управляющих структур, представленных на рисунке.

а) последовательность  б) разветвление                в) выбор

 


г) цикл "пока"                                д) цикл "до"

 


Пусть необходимо реализовать логические функции:

                                                                              __

Y0 = X1 + X2·X5;    Y1 = X3·X7.

При этом в байтовом регистре Х внутреннего ОЗУ микроконтроллера находятся текущие значения 8 битовых входных переменных, считанные процессором из порта ввода Х.

Необходимо вычислить значения битовых управляющих воздействий Y1, Y0 и записать результаты в байтовый регистр Y.

0
0
Алгоритм реализации логического управления координатой Y0:

 

Будем считать, что модули вычисления Y0 и Y1 оформлены в виде подпрограмм, которые вызываются командами

CАLL CALC_Y0

CАLL CALC_Y1

Для реализации представленного алгоритма можно использовать работу битового процессора (если такой имеется) или специальные команды анализа битов.

Ниже приведена программа для микроконтроллера INTEL MCS – 196 [1,2].

В его составе команд имеются команды тестирования битовых переменных: BBC и BBS (branch bit clear- переход ,если бит очищен и branch bit set-переход, если бит установлен), осуществляющие переход на заданную метку ( трехоперандная команда ) в зависимости от того установлен или сброшен анализируемый бит.

Формат команды:

BBC breg, bitno, cadd

где breg – анализируемый регистр;

 bitno – номер анализируемого бита;

 cadd – точка перехода по условию.

 

;подпрограмма вычисления Y0

CALC_Y0:  BBS X, 1, SET_Y0 ;анализ младшего бита 1 регистра X

BBC X, 2, CLR_Y0 ;анализ бита 2

BBC X, 5, CLR_Y0 ;анализ бита 5

SET_Y0:          ORB Y, #00000001B ;установка в 1 бита Y0

RET

CLR_Y0:      ANDB Y, #11111110B ;очистка бита Y0

RET

;подпрограмма вычисления битовой переменной Y1

CALC_Y1:  BBC X, 3, CLR_Y1

BBS X, 7, CLR_Y1

SET_Y1:           ORB Y, #00000010B ;установка в 1 бита Y1

RET

CLR_Y1:     ANDB Y, #11111101B

RET

При решении задачи язык программирования может быть выбран любым.

 

Задача 2. Составить алгоритм и программу обслуживания аналого-цифрового преобразователя (АЦП), осуществляющего прием и обработку данных (М – число отсчетов) по N-каналу (данные сведены в таблицу 5), если АЦП имеет 16 входных каналов. Выбор конкретного канала осуществляется записью в разряды (от 0 до 3) регистра выбора канала DAR (Data Address Register) соответствующего двоичного кода. После выбора номера канала 7 разряд DAR устанавливается в "1".

Управление запуском АЦП и проверка готовности данных после преобразования осуществляется с использованием регистра управления и статуса CSR (Control and Status Register). При этом пуск АЦП осуществляется записью "1" в нулевой разряд, готовность проверяется по наличию "1" в 10 разряде CSR. Результат преобразования в виде выходного кода АЦП поступает в регистр данных АЦП DR (Data Register).

 

 


Таблица 5

Номер последней цифры шифра Номер канала N Число отсчетов М Размещение в памяти с адреса – G.
0 12 120 10000
1 7 95 5000
2 9 48 6000
3 14 111 4000
4 6 39 3000
5 8 46 7000
6 11 51 3500
7 10 77 5500
8 5 84 6500
9 2 90 7500



2020-02-04 200 Обсуждений (0)
Методические указания к решению задачи 1 0.00 из 5.00 0 оценок









Обсуждение в статье: Методические указания к решению задачи 1

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (200)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)