Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ ЦТ и МК для стенда 2013.doc
Скачиваний:
20
Добавлен:
01.05.2015
Размер:
3.21 Mб
Скачать

7.3 Выполнение задания

Используя приведенный фрагмент, подготовьте программу по варианту из таблицы 7.2. Результаты занесите в таблицу 7.1.

Т а б л и ц а 7.1– Сумма массива и среднее массива

Вариант

Индекс регистра

Адрес регистра массива, указываемый в FSR

Число в регистре массива

Сумма в регистре W

Форма h

Форма D

Форма В

-

-

-

00

00000000

11

1

40h

D ‘11’

11

00001011

11

2

41h

D ‘13’

24

00011000

11

3

42h

D ‘15’

39

00100111

11

4

43h

D ‘17’

56

00111000

56 делим на 2

28

00011100

28 делим на 2 получаем среднее

14

00001110

Т а б л и ц а 7.2 – Варианты заданий

Вариант

Значение первого регистра

Адреса регистров массива

Вариант

Значение первого регистра

Адреса регистров массива

1

D’21’

21h – 24h

6

D’26’

26h – 29h

2

D’22’

22h – 25h

7

D’27’

27h – 30h

3

D’23’

23h -26h

8

D’28’

28h – 31h

4

D’24’

24h -27h

9

D’29’

29h – 32h

5

D’25’

25h -28h

10

D’30’

30h – 33h

Примечание. Шаг заполнения массива примите равным двум.

Создайте окно наблюдения для всех регистров в необходимом формате чисел и внесите в отчет по лабораторной работе. Для данной программы необходимые регистры показаны на рисунке 7.2. Чтобы быстро получить данные в окне наблюдения запустите составленную программу в автоматическом режиме и затем нажмите кнопку F5.

Рисунок 7.2 – Окно наблюдения

7.4 Контрольные вопросы

  1. Биты Statusменяющие свои значения при операциях вычислений?

  2. Поясните команду условного перехода BTFSSSTATUS,Z.

  3. Поясните команду XORWFIND_EL_MAS,W.

  4. Как можно определить равенство чисел?

  5. Какие способы адресации вы знаете?

  6. Как контролируется в цикле выход за пределы массива?

  7. Назначение регистра FSR.

  8. Назначение регистра INDF.

  9. Как находится среднее четырех регистров?

  10. Как выполняется деление на четыре?

  11. Зачем очищается регистр IND_EL_MASперед циклом сложения?

  12. Какое участие принимает бит CрегистраStatus в операции сдвига?

8 Автоматизация окрасочной камеры. Организация подпрограмм

Цель работы: разработка и исследование подпрограмм выдержки времени. Автоматизация работы окрасочной камеры

8.1 Теоретические сведения

Подпрограммы применяют в тех случаях, когда в нескольких местах алгоритма требуется выполнить идентичные действия с разными данными. Отсчет времени можно организовать с помощью подпрограмм со счетчиками, что и реализовано в алгоритме, показанном на рисунке 8.1. Часто программу разбивают на подпрограммы, чтобы упростить её чтение.

Рассмотрим сначала работу внутреннего цикла подпрограммы Timer. Сначала счетчику внутреннего циклаSch_inзадаем какое-то значениеN. Затем значение счетчикаSch_inуменьшается на 1 и проверяется: не стало ли оно нулевым. Если значение счетчика не равно нулю, то выполняется инструкция переходаGOTO M_in, повторяющая цикл. Если счетчик обнулился, программа выходит из цикла. Длительность задержки времени определяется начальной величиной счетчикаSch_inи временем выполнения инструкций подпрограммы в МК. Поскольку микропроцессор работает с высокой частотой, то часто приходится создавать внешний цикл со счетчикомSch_outдля увеличения времени задержки. Его работа аналогична. Сначала задаем значениеSch_out=W.На каждый цикл уменьшенияSch_outна единицу, внутренний цикл сработаетNраз. Время задержки будет определяться произведениемSch_outSch_inи частой работы генератора МК.

Подпрограммы пишут после инструкции GOTO$основной программы. Подпрограмма всегда начинается с имени, которое должно быть написано без пробела. Заканчивается подпрограмма инструкцией возврата в основную программуRETURN. Подпрограмма из основной программы вызывается по имени инструкцией CALL ИМЯ, например CALL Timer.Значение аккумулятораWявляется аргументом для подпрограммыTimer, определяющим длительность её работы. После завершения ее работы управление передается в главную программу на следующую инструкцию после инструкцииCALL Timer.