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

ОТЧЕТ по лабораторной работе №3 " Реализация и использование функций времени с помощью микроконтроллера семейства MCS-51" по дисциплине "Проектирование микропроцессорных систем" Вариант 2.

 

Цель: ознакомиться с методами реализации функций времени с помощью микроконтроллера семейства MCS-51 и наиболее распространенными задачами, требующими реализации функций времени, получить навыки программирования микроконтроллеров.

Задание1. Цифровой генератор

К порту Р1 контроллера подключены цифровые входы ЦАП. Разработать генератор, вырабатывающий на выходе (порт P1) заданную цифровую последовательность, с максимальным значением амплитуды A и значением временного интервала t в зависимости от цифровой комбинации, подаваемой на вход (порт P2). Значения параметров приведены в таблице. Временные интервалы задавать программно (при помощи циклов). Вид цифровой последовательности изображен на рисунке.

 

 

P2

t, с

A

1

2

3

0,02

0,002

0,0006

255

64

32

Задание 2. Генератор импульсов

Разработать программу генерации импульсной последовательности с параметрами t1=0,02 и t2=0,2 на выходе микроконтроллера (P1.0). Задержки формировать аппаратно (с использованием таймера). Форма импульсной последовательности представлена на рисунке.

Ход работы:

А) Решение первого задания можно разделить на отдельные этапы:

·  Главный цикл – выбор значений амплитуды и задержки;

·  Подпрограммы для реализации конкретных амплитуд;

·  Подпрограммы задержки и уточнения задержки.

Расчет времени для каждой из задержек:

Цикл состоит из 21 м. ц., т. е. из 21 мкс. Подпрограмма задержки состоит из 203Х+2 мкс, где Х – задается в вызывающей программе. Подпрограмма точной подстройки состоит из 2Х+2 мкс. Значит:

1)  Задержка – 20 000 мкс. Для подпрограммы задержки Х=98, для точной подстройки Х=51;

2)  Задержка – 2 000 мкс. Для подпрограммы задержки Х=8, для точной подстройки Х=186

3)  Задержка – 600 мкс. Для подпрограммы задержки Х=2, для точной подстройки Х=190

Алгоритмы решения поставленных этапов и текст программы приведены в приложении.

Б) Для решение второго задания будем использовать Т/С0. Т. к. время, за которое выполняется подготовка таймера очень мало по сравнению с требуемой задержкой (~0.005%), то этим временем можно пренебречь. Время t2 – невозможно получить только с помощью таймера, поэтому необходимо сделать цикл, в котором несколько раз переустанавливать таймер. Текст программы приведен в приложении.

Вывод:

На данной лабораторной работе были изучены методы реализаций функций времени с помощью МК-51, как путем использования таймеров-счетчиков, так и программными методами.

Приложение.

Алгоритмы подпрограмм, для решения первого задания:

Текст программы (первое задание):

START: MOV A, P2

CJNE A,#4,VER

JMP START

VER: JNC START

CJNE A,#3,VER2

CALL V3

JMP START

VER2: CJNE A,#2,VER3

CALL V2

JMP START

VER3: CJNE A,#1,START

CALL V1

JMP START

;точная подстройка

ACCC: DJNZ R4,ACCC

RET

;задержка

DELAY: MOV R4,#100

M1: DJNZ R4,M1

DJNZ R2,DELAY

RET

;при 1 на входе

V1: MOV R1,#64 ;init

MOV R3,1 ;direction flag

VS1: MOV A, P2

CJNE A,#1,ENDV1 ;if change enter

MOV R2,#98

CALL DELAY

MOV R2,#51

CALL ACCC

CJNE R1,#255,ZER1

MOV R3,#0

NOP

NOP

JMP RABB1

ZER1: CJNE R1,#0,RAB1

MOV R3,#1

JMP RABB1

RAB1: NOP

NOP

NOP

RABB1: CJNE R3,#1,DECC1

INC R1

JMP VS1

DECC1: DEC R1

JMP VS1

ENDV1: RET

;при 2 на входе

V2: MOV R1,#32 ;init

MOV R3,1 ;direction flag

VS2: MOV A, P2

CJNE A,#1,ENDV2 ;if change enter

MOV R2,#8

CALL DELAY

MOV R2,#186

CALL ACCC

CJNE R1,#127,ZER2

MOV R3,#0

NOP

NOP

JMP RABB2

ZER2: CJNE R1,#0,RAB2

MOV R3,#1

JMP RABB2

RAB2: NOP

NOP

NOP

RABB2: CJNE R3,#1,DECC2

INC R1

JMP VS2

DECC2: DEC R1

JMP VS2

ENDV2: RET

;при 3 на входе

V3: MOV R1,#32 ;init

MOV R3,1 ;direction flag

VS3: MOV A, P2

CJNE A,#1,ENDV3 ;if change enter

MOV R2,#2

CALL DELAY

MOV R2,#95

CALL ACCC

CJNE R1,#63,ZER3

MOV R3,#0

NOP

NOP

JMP RABB3

ZER3: CJNE R1,#0,RAB3

MOV R3,#1

JMP RABB3

RAB3: NOP

NOP

NOP

RABB3: CJNE R3,#1,DECC3

INC R1

JMP VS3

DECC3: DEC R1

JMP VS3

ENDV3: RET

END

Текст программы (второе задание):

MOV TMOD,#01h

PULSE: SETB P1.0

MOV TL0,#LOW(NOT(20000-1))

MOV TH0,#HIGH(NOT(20000-1))

SETB TCON.4

M1: JNB TCON.5,M1

CLR TCON.5

CLR P1.0

MOV A,#10

M2: MOV TL0,#LOW(NOT(20000-1))

MOV TH0,#HIGH(NOT(20000-1))

M3: JNB TCON.5,M3

CLR TCON.5

DJNZ A, M2

JMP PULSE

END

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


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

По темам:

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

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

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

Информатика

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

Статистика

География

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

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

Генетика

Разное

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

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

Филология

Философия

Химия

Экология

Социология

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

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

Педагогика

История

Психология

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

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

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

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

Маркетинг

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

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

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

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

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

Творчество

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