Файл: Тема Способы кодирования информации.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 100

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица 8.2. Режимы работы Таймера 2

RCLK или TCLK

CAP2

TR2

Режим

0

0

1

16-разрядный таймер-счетчик с перезагрузкой

0

1

1

16-разрядный таймер-счетчик с захватом

1

Х

1

генератор частоты приемопередатчика

Х

х

0

отключен

8.2. Режимы работы Таймера 2 микроконтроллера
Схема работы T/C 2 в режиме автоперезагрузки приведена на рисунке 8.2.



Рисунок 8.2 – Схема работы T/C 2 в режиме автоперезагрузки
16-битное значение перезагрузки записывается в регистры RCAP2L (младшая часть) и RCAP2H (старшая часть). В регистры TL2 и TH2 перед началом работы записываются те же значения. После окончания счета устанавливается флаг прерывания TF2, который вызывает перезагрузку регистров TL2 и TH2 значениями из регистров RCAP2L и RCAP2H. Перезагрузка может быть вызвана также переходом 1 → 0 внешнего сигнала, поступающего на вывод T2EX микросхемы. При этом бит EXEN2 должен быть установлен.

Этот режим напоминает аналогичные режимы для таймеров 0 и 1 с той разницей, что там используется максимум 8 разрядов, что ограничивает диапазон 256 значениями, в то время как Таймер 2 использует 16-разрядные значения. Режим автоперезагрузки Таймера 2 часто применяется при использовании его в качестве генератора синхронизации при обмене через последовательный порт.

Схема работы Таймера 2 в режиме захвата приведена на рисунке 8.3.



Рисунок 8.3 – Схема работы T/C 2 в режиме захвата

Захват (capture) производится переходом 1 → 0 внешнего сигнала, поступающего на вывод T2EX микросхемы, если бит EXEN2 установлен. При этом значения регистров счетчика запоминаются в регистрах захвата RCAP2x. Одновременно в регистре T2CON устанавливается внешний флаг таймера EXF2, который может быть использован для генерирования прерывания так же, как и флаг переполнения TF2.

Режим захвата очень эффективен при измерениях временных параметров входных сигналов.

Таймер 2 используется
как генератор частоты приема/передачи в случае, если в регистре T2CON установлен хотя бы один из битов – RCLK или TCLK. В этом случае частота приема/передачи для режимов 0 и 2 рассчитываются по формуле

f = (f T/16)xf OV,

где fT – частота сигнала с делителя внутреннего тактового генератора микроконтроллера, f OV – частота переполнения таймера.

Для режимов 1 и 3 частота приема/передачи рассчитывается по формуле

f = f T/(16x(65536 – RCAP2)).

Здесь RCAP2 – 16-разрядное значение, записанное в регистрах RCAP2L и RCAP2H.

Благодаря тому, что Таймер 2 использует 16-битовые значения, с его помощью можно получить больший диапазон частот приема/передачи.

Логика работы Таймера 2 в режиме генератора частоты приведена на рисунке 8.4.


Рисунок 8.4 – Логика работы Таймера 2 в режиме генератора частоты

Тема 9. Жидкокристаллический индикатор


    1. Общие сведения


Часто микропроцессорные системы в качестве устройства отображения информации используют жидкокристаллические индикаторы (ЖКИ) или дисплеи (Liquid Crystal Display, LCD). Они являются программируемыми устройствами с встроенной памятью и встроенными схемами управления. Длина строки индикатора обычно составляет 8, 16, 20 или 40 символов. Число строк может меняться от 1 до 4. В целом ЖКИ представляет собой печатную плату, на которой смонтирован сам дисплей, контроллер и необходимые дополнительные электронные компоненты. Подключаются к системе такие индикаторы, как правило, через стандартный 14-контактный разъем. Через этот разъем индикатор получает команды управления и коды отображаемых символов. Индикатор также может посылать информацию о своем состоянии и данные из своих внутренних блоков памяти. Обозначения выводов представлены на рисунке 9.1.



Рисунок 9.1 – Обозначение выводов ЖКИ

Выводы устройства имеют следующие функциональные назначения:

  • D0 – D7 – линии данных. По этим линиям в дисплей передаются коды команд и данных.

  • EN (Enable) – линия управления, фиксирующая начало/окончание передачи команды/данных в дисплей или приема данных из устройства. Линия должна быть установлена в высокий уровень перед отправкой дисплею команды или данных, после чего она сбрасывается в низкий уровень. После установки EN в высокий уровень должны быть установлены соответствующим образом линии RW, RS и D0…D7. Установка линии EN в низкий уровень завершает выполнение команды или посылки/приема данных.

  • RS (Register Select) устанавливается в «0», если данные на линиях D0…D7 должны интерпретироваться как команда. Если RS устанавливается в «1», то данные на линиях D0…D7 должны отображаться на экране.

  • RW (Read/Write) – управляющая линия для задания направления передачи информации. Низкий уровень означает запись. Если RW=1, то данные читаются с LCD.

Таким образом, последовательность операций при посылке команды или данных на дисплей следующая:

  1. установить сигнал на линии EN в «1»,

  2. установить линию RS либо в «0» (если посылается команда), либо в «1» (данные),

  3. выставить на линиях D0…D7 код команды или данных,

  4. установить сигнал на линии EN в «0»,

  5. дождаться сброса бита D7, который свидетельствует о готовности дисплея принимать следующую команду/данные.


9.2. Жидкокристаллический индикатор учебного стенда SDK-1.1
Рассмотрим структуру и организацию работы с ЖКИ WH1602B-YGK-CP, входящего в состав учебного стенда SDK-1.1.

ЖКИ работает в текстовом режиме (2 строки по 16 символов), имеет подсветку (цвет желто-зеленый). Структурная схема ЖКИ представлена на рисунке 9.2.


Рисунок 9.2 – Структурная схема ЖКИ
Жидкокристаллический дисплей представляет собой матрицу, состоящую из 32 знакомест (2 строки по 16 символов) размером 5 точек по горизонтали и 8 точек по вертикали. Матрица имеет 80 входов по горизонтали и 16 входов по вертикали. Контроллер формирует необходимые напряжения на входах матрицы.

В состав контроллера ЖКИ входят три вида памяти: CGROM, CGRAM, DDRAM. Когда микроконтроллер передает в контроллер ЖКИ коды символов (наиболее распространенным считается введенный в 1963 году в США американский стандартный код обмена информацией ASCII (American Standard Code for Information Interchange), то они записываются в DDRAM (Display data RAM – ОЗУ ASCII-кодов отображаемых символов), такую память называют видеопамятью или видеобуфером.

Матрицы начертания символов хранятся в памяти знакогенератора. Память знакогенератора включает в себя CGROM (Character generator ROM – ПЗУ знакогенератора), в которую на заводе-изготовителе загружены начертания символов таблицы ASCII. Содержимое CGROM изменить нельзя. Для того, чтобы пользователь смог самостоятельно задать начертание нужных ему символов, в знакогенераторе имеется специальное ОЗУ – CGRAM (Character generator RAM). Под ячейки CGRAM отведены первые (младшие) 16 адресов таблицы кодов.

Для соединения индикатора с микроконтроллером используется 11 линий — восемь для передачи данных/команд (DB0 - DB7) и три линии управления. Линия RS служит для сообщения контроллеру индикатора о том, что именно передается по шине: команда или данные (RS = 1 — данные, RS = 0 — команда). По линии Е передается строб-сигнал, сопровождающий запись или чтение данных: по переходу сигнала на линии E из 1 в 0 осуществляется запись данных во входной буфер микроконтроллера индикатора. Запись информации в ЖКИ происходит по спаду этого сигнала. Потенциал на управляющем выводе R/W (Read/Write) задает направление передачи информации
, при R/W = 0 осуществляется запись в память индикатора, при R/W = 1 – чтение из нее. Еще три линии предназначены для подачи питающего напряжения (VDD, GND) и напряжения смещения, которое управляет контрастностью дисплея.

Семибитный счетчик адреса назначает адреса в памяти данных DDRAM и в генераторе символов CGRAM.

Соответствие адресов DDRAM позициям экрана представлено на рисунке 9.3.


Рисунок 9.3 – Соответствие адресов DDRAM позициям экрана
Жидкокристаллический индикатор в стенде SDK-1.1 подключен к микроконтроллеру не напрямую, а через расширитель портов ввода-вывода, выполненный на базе программируемой логической интегральной схемы (ПЛИС). В ее составе имеется два регистра, отвечающие за связь с ЖКИ:

  1. DATA_IND (адрес 0х080001) отвечает за выдачу информации на шину данных (через этот регистр можно передавать команды контроллеру и данные),

  2. C_IND (адрес 0х080006) отвечает за формирование сигналов E, R/W и RS, позволяющих регулировать обмен на шине между расширителем портов и контроллером ЖКИ.

На рисунке 9.4 регистры ПЛИС изображены слева, регистры контроллера ЖКИ – справа.

Рисунок 9.4 – Регистры, необходимые для работы с ЖКИ
Формат регистра управления C_IND и функции его отдельных битов приведены на рисунок 9.5.


Рисунок 9.5 – Формат и функции бит регистра управления C_IND
В состав контроллера ЖКИ входят регистр команд IR (Instruction Register) и регистр данных DR (Data Register). Регистр команд предназначен для записи в него таких операций, как очистка дисплея, перемещение курсора, включение⁄выключение дисплея, а также установка адреса памяти DDRAM и CGRAM для последующего их выполнения. Регистр данных временно хранит данные, предназначенные для записи или чтения из DDRAM или CGRAM (символы). Эти два регистра можно выбрать с помощью регистрового переключателя RS (Register Select).

Работа с индикатором сводится к выполнению следующих операций:

  1. Записать команду или данные (коды выводимых символов) в регистр DATA_IND расширителя портов. При этом содержимое этого регистра появляется на шине данных контроллера ЖКИ (DB0…DB7). Контроллер на эти данные пока не реагирует, так как сигнал Е (Enable) еще не выставлен в активный уровень (логическая «1»).

  2. Разрешить работу с шиной с помощью сигнала Е (логическая «1»), выставить сигнал записи (логический «0» на линии W) и указать тип используемого в контроллере ЖКИ регистра на линии RS. При передаче данных на линию RS надо подать «1», при передаче команды – «0».