Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВБА_МК метода.doc
Скачиваний:
83
Добавлен:
13.04.2015
Размер:
1.45 Mб
Скачать

3 Изучение принципов программного управления внешними устройствами на примере вывода информации на цифровой индикатор

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

3.1 Указания по организации самостоятельной работы

Перед работой необходимо проработать теоретический материал по литературе [1,2] и конспект лекций, ознакомиться с принципами функционирования и возможностями программного управления выводом символов на экран 10 позиционного цифрового ЖК-индикатора LCM-10 с использованием микроконтроллера AVR АТMEGA128.

Принципы программного управления выводом символов на экран цифрового индикатора с помощью микроконтроллера AVR АТMEGA128. В лабораторной работе используется 10-ти позиционный жидкокристаллический (LED) цифровой индикатор на базе контроллера НТ1613 фирмы Holtek (см. рисунок 3.1), для подключения которого используется порт ввода/вывода B (адреса регистров порта приводятся в таблице 1.1). Выходной сигнал с 0-го бита порта B (PORTB.0) управляет тактовым входом SK цифрового индикатора, а сигнал с 1-го бита порта B (PORTB.1) – входом данных DI (см. рисунок 3.2).

Рисунок 3.1 – Схематическое изображение передней панели

10-позиционного цифрового индикатора

Рисунок 3.2 – Схема подключения информационных

входов цифрового индикатора к лабораторному макету

ЖК-индикатор позволяет осуществлять вывод цифровых и специальных символов, кодируемых 4-мя разрядами (см. таблицу 3.1). Код символа передается последовательно в виде пакета, состоящего из 4-х битов b3, b2, b1, b0 (первым – старший, последним – младший биты). Сигналы данных в пакете подаются на вход DI цифрового индикатора и защелкиваются по заднему фронту тактирующих импульсов на тактовом входе SK. При этом временной интервал Та с момента установки стабильного уровня сигнала данных до появления заднего фронта тактирующего сигнала не должен быть меньше 50 нс, временной интервал Тb между задним и передним фронтами тактирующих импульсов должен быть не менее 60 нс, а временной интервал Тс между пакетами данных – не менее 80 нс при длительности пакета порядка 500 нс (cм. рисунок 3.3).

Символы выводятся в крайнюю правую позицию экрана индикатора. При загрузке следующего символа остальные сдвигаются на одну позицию влево, при этом крайний слева символ стирается.

Таблица 3.1 – Кодировка символов, выводимых на экран

цифрового индикатора

Биты данных

Символ

b3

b2

b1

b0

0

0

0

0

табуляция

0

0

0

1

1

0

0

1

0

2

0

0

1

1

3

0

1

0

0

4

0

1

0

1

5

0

1

1

0

6

0

1

1

1

7

1

0

0

0

8

1

0

0

1

9

1

0

1

0

0

1

0

1

1

F

1

1

0

0

1

1

0

1

1

1

1

0

P

1

1

1

1

Рисунок 3.3 – Временные диаграммы пакетного цикла передачи

кода символа для вывода на экран цифрового индикатора

В качестве примера рассмотрим фрагмент программы вывода на экран цифрового индикатора символа 6, 4-х битовый код которого (0110) приведен в 7-й строке таблицы 3.1.

. . .

#asm

ldi R18,0xFF настроить порт В на вывод данных;

out 0x17, R18

cbi 0x18,1 вывести значение 3-го бита данных в 1-й разряд порта В;

sbi 0x18,0 установить в 1 уровень тактирующего сигнала;

cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;

sbi 0x18,1 вывести значение 2-го бита данных в 1-й разряд порта В;

sbi 0x18,0 установить в 1 уровень тактирующего сигнала;

cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;

sbi 0x18,1 вывести значение 1-го бита данных в 1-й разряд порта В;

sbi 0x18,0 установить в 1 уровень тактирующего сигнала;

cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;

cbi 0x18,1 вывести значение 0-го бита данных в 1-й разряд порта В;

sbi 0x18,0 установить в 1 уровень тактирующего сигнала;

cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;

#endasm

. . .

Приведенный фрагмент программы показывает, что при выводе символа на экран цифрового индикатора необходимо выполнить передачу битов данных по линии, подключенной к 1-му разряду порта В, при подаче тактирузщих сигналов по линии, подключенной к 0-му разряду порта В. Так, как тактовая частота микроконтроллера ATMEGA 128, входящего в состав лабораторного макета, равна 11 МГц, то длительность цикла команды, выполняемой за один такт, равна 90 нс, что позволяет выполнять передачу данных без введения дополнительных задержек.