Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к цифрам.doc
Скачиваний:
28
Добавлен:
06.05.2019
Размер:
2.08 Mб
Скачать

2. Задание на выполнение работы.

Предлагается два варианта работы по выбору:

1 вариант: обеспечить увеличение числа на единицу при каждом нажатии кнопки SW15 и уменьшение числа на единицу при нажатии кнопки SW15. Результат отобразить на левых знакоместах динамического индикатора HL2.

2 вариант: обеспечить перемещение светящейся точки по контуру знакосинтезирующего индикатора HG1 при нажатии кнопки SW15.

Сведения о сооответствующих адресах устройств лабораторного стенда приведены в методических указаниях к лабораторным работам стенда EV8031 (V3.2).

3. Отчет по работе.

Отчет по работе должен содержать:

1. Цель работы;

2. Краткие теоретические сведения о системе прерываний микроконтроллера

MCS-51 и способах их программирования;

3. Листинг работающей в соответствии с индивидуальным заданием программы;

4. Выводы по работе.

Лабораторная работа № 11

Изучение способов программирования преобразования в двоично-десяичный код и программирования прерываний таймеров микроконтроллера mcs-51

Цель работы

Изучение способов программирования преобразования в двоично-десятичный код и прерываний таймеров микроконтроллеров MCS-51.

Приборы и оборудование

1. Компьютер с программой – транслятором ASM51.EXE (x8051.EXE) в объектный модуль, программой – редактора связей (преобразования объектного модуля в исполняемый) rl51.EXE и программой преобразования исполняемого модуля в загрузочный OH.EXE или программы fd51.EXE, совмещающей возможности программ rl51.EXE и OH.EXE (при использовании x8051.EXE возможна замена программ rl51.EXE и OH.EXE, необходимых для получения загрузочного модуля, программой LINK.EXE), программой загрузки исполняемого модуля в стенд EVAL32.EXE.

2. Учебно-отладочный стенд EV8031/AVR (V3.2).

1. Краткие теоретические сведения

Подпрограммы преобразования в двоично-десятичный код широко используется в микроконтроллерах при выводе данных на индикацию и в некоторых других приложениях. Микроконтроллеры семейства MCS-51 имеют CISC систему команд. Поэтому в состав команд включены и команды умножения mul и деления div, что несколько упрощает и ускоряет алгоритм преобразования в двоично-десятичный код. Один из возможных вариантов алгоритма преобразования однобайтового двоичного числа в упакованный двоично-десятичный формат (BCD) представлен на рис. 11.1.

Рис. 11.1. Упрощенный алгоритм преобразования в упакованный двоично-десятичный формат восьми разрядного числа с использованием команды деления.

Учитывая, что RISC контроллеры не имеют команд деления и умножения целесообразно рассмотреть и другой способ преобразования с использованием простой команды вычитания с заемом. Под заемом понимается формирование специального флага переноса CY, если результат отрицательный. Упрощенная схема алгоритма для преобразования двоичного числа в двоично-десятичный упакованный формат при условии что величина числа не превышает 255 , использующего операцию вычитания, представлена на рис. 11.2.

Рис. 11.2. Упрощенный алгоритм преобразования в BCD формат с использованием команды вычитания

В этом алгоритме с целью упрощения не показаны команды по упаковке десятков и единиц в один регистр. Эти действия выполняются аналогично рис. 11.1.

В большинстве измерительных устройств, использующих микроконтроллеры вывод на индикацию возможен только в динамическом режиме, т. к. число внешних выходов микроконтроллера ограничено. Алгоритмы динамической индикации занимают основное время контроллера, а реализацию процедур подготовки данных для индикации можно реализовать лишь с использованием механизма прерывания. Рассмотрим этот вопрос подробнее. Микроконтроллеры серий MCS-51 имеют возможность осуществлять прерывания при появлении следующих четырех событий:

- переполнения таймера Т0;

- переполнения таймера Т1;

- появления низкого уровня или среза (программируется отдельным регистром) на входе ;

- появления низкого уровня или среза (программируется отдельным регистром) на входе ;

Выбор того или иного источника прерываний осуществляется с помощью специального регистра масок IE (Interrupt Enable), имеющего следующую структуру:

- появления низкого уровня или среза (программируется отдельным регистром) на входе ;

Назначение разрядов регистра IE представлено в табл. 11.1