Отчеты по лабораторным работам
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 (0 Голоса)

Отчёт по лабораторной работе по дисциплине: "Проектирование микропроцессорных систем" на тему: «Моделирование вычислительно-управляющих систем, разработанных на однокристальной микро-ЭВМ семейства MCS-51»

Цель работы : приобретение навыков в проектировании и отладке микропроцессорных устройств (МПУ) методом моделирования с использованием полноэкранного отладчика ассемблерных программ для однокристальной микро-ЭВМ КР1816ВЕ51.

Постановка задачи.

Необходимо разработать микропроцессорное устройство на основе ОЭВМ КМ1816ВЕ31 для специализированной автомобильной ЭВМ, которое определяло бы число оборотов двигателя. Входная информация поступает от датчиков (число оборотов (об/с)), полученные значения параметров выдаются на индикаторное устройство. Управление индикаторным устройством осуществляется портами P1, P2.

Алгоритм.

1) Ввод таблицы семисегментных кодов.

2) Настройка таймеров-счетчиков (определение режима работы и интервала времени счета для таймера).

3) Запуск счетчика.

4) Пока таймер не переполнен, счетчик считает, иначе переход к п.5 .

5) Перевод двоичного кода в двоично-десятичный для вывода на индикаторы

6) Пока не все цифры выведены делать

- выбрать знакоместо (соответствующий индикатор) с помощью порта1;

- погасить индикатор (стереть предыдущее значение);

- подать семисегментный код через порт0

Структурная схема.

 Структурная схема.

Программа на языке ассемблер.

;Таблица семисегментных кодов

MOV 020H,#11111100B

MOV 021H,#01100000B

MOV 022H,#11011010B

MOV 023H,#11110010B

MOV 024H,#01100110B

MOV 025H,#10110110B

MOV 026H,#10111110B

MOV 027H,#11100000B

MOV 028H,#11111110B

MOV 029H,#11110110B

TIME: MOV TMOD,#00100110B ;Настройка т/с; 8 бит; 0-счетчик; 1-таймер;

CLR A ; Сброс аккумулятора

MOV TH0,A ; Сброс

MOV TL0,A ; счетчика

MOV TH1,#01100101B ; Начальное значение таймера

MOV TL1,#00000000B

ORL TCON,#50H ;Запуск счетчика

WAIT: JBC TCON.7,EXIT ;Проверка переполнения

SJMP WAIT ; таймера

EXIT: MOV A, TL0 ; Количество импульсов за100 мкс в А

;Преобразование кода

BD: CALL DIV10 ;Деление на 10

MOV R7,A ;Сохранение остатка

MOV A, R1 ;Загрузка частного в А

CALL DIV10

SWAP A ;Передача остатка в старшую тетраду А

ORL A, R7 ;Передача R7 в младшую тетраду А

JMP IND ;

DIV10: MOV R1,#0 ;Подпрограмма деления на 10 А

SUB10: ADD A,#11110110B;(NOT(10)+1) ;Вычитание 10 из остатка

INC R1 ;инкремент частного

JC SUB10

DEC R1 ;Восстановление частного

ADD A,#10 ;Восстановление остатка

RET

;Выбор знакоместа :В R1-сотни, в А-десятки и единицы

IND: MOV 90H,#255

MOV 90H,#11111110B

PUSH A ; Сотни в R1

CALL INIT

POP A

MOV 90H,#255

MOV 90H,#11111101B

MOV R2,A

SWAP A

ANL A,#00001111B

MOV R1,A ; Десятки

CALL INIT

MOV 90H,#255

MOV 90H,#11111011B

MOV A, R2

ANL A,#00001111B

MOV R1,A ; Единицы

CALL INIT

JMP EXIT1

INIT: ORL P0,#255 ;Гашение индикаторов

MOV A, R1

SYMB: ADD A,#20H ;Статическая индикация символа

MOV R0,A

MOV A,@R0

MOV 80H, A

RET

EXIT1: END

Выводы:

В результате выполнения лабораторной работы были получены навыки работы с таймерами-счетчиками, портами. Была разработана программа для подсчета импульсов (оборотов) за определенный интервал времени и для вывода количества импульсов на индикаторы. Трассировка программы с помощью отладчика FD51 подтвердила правильность ее работы

Добавить комментарий


Защитный код
Обновить

По темам:

История Украины

Культурология

Высшая математика

Информатика

Охотоведение

Статистика

География

Военная наука

Английский язык

Генетика

Разное

Технологиеские темы

Украинский язык

Филология

Философия

Химия

Экология

Социология

Физическое воспитание

Растениевосдство

Педагогика

История

Психология

Религиоведение

Плодоводство

Экономические темы

Бухгалтерские темы

Маркетинг

Иностранные языки

Ветеринарная медицина

Технические темы

Землеустройство

Медицинские темы

Творчество

Лесное и парковое хозяйство

Агрономия

Преподавателям

Юридические темы

Google