Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Принципиальная схема

Читайте также:
  1. V Схема взаимодействия семьи и школы (Приложение 16)
  2. Блок – схема.
  3. Восхитительная туника , Схема от Юлии Поповой
  4. Выбор электродвигателя к оборудованию. Схема управления электроприводом.
  5. Данная схема наглядно описывает важность устройства дренажа.
  6. Какую логическую операцию реализует схема ИЛИ?
  7. Конструктивная схема монолитного перекрытия.

Введение

Семейства микроконтроллеров

Стандартные семейства:

* tinyAVR (ATtinyxxx):

o Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;

o Число линий ввода-вывода 4-18 (общее количество выводов 6-32);

o Ограниченный набор периферийных устройств.

* megaAVR (ATmegaxxx):

o Флеш-память до 256 Кб; SRAM до 16 Кб; EEPROM до 4 Кб;

o Число линий ввода-вывода 23-86 (общее количество выводов 28-100);

o Аппаратный умножитель;

o Расширенная система команд и периферийных устройств.

* XMEGA AVR (ATxmegaxxx):

o Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;

o Четырёхканальный DMA-контроллер;

o Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно, максимальная степень двойки, следующая за префиксом обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).

На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:

* со встроенными интерфейсами USB, CAN, контроллером LCD;

* со встроенным радиоприёмопередатчиком — серии ATAхxxx, ATAMxxx;

* для управления электродвигателями — серия AT90PWMxxxx;

* для автомобильной электроники;

* для осветительной техники.

Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).

 

Цель: Разработка и внедрение универсального шилда для LCD дисплеев на онснове контроллера

(79 S) для подключения к отладочной плате.

 

Задача

Решение

Описание

 

БИС SED1520 управления растровыми ЖКИ предназначена для отображения символов и графики. Она генерирует сигналы управления ЖКИ, основываясь на битовом представлении данных изображения, полученных с 8- или 16-разрядного микроконтроллера и хранящихся во внутрикристальном ОЗУ данных изображения.

 

SED1520 содержит передовые схемные решения, гарантирующие низкие потери тока в широком диапазоне питающих напряжений. При таких характеристиках, SED1520 позволяет пользователю реализовывать высокопроизводительные портативные системы работающие от миниатюрных батарей.

 

Для того, чтобы пользователь мог гибко конфигурировать систему, семейство SED1520 предлагает два возможных типа приложений. Первый тип реализует ЖКИ с изображением 12 символов x 2 строки с единственной микросхемой. Другой предназначен для управления до 80 сегментов, формируя изображение среднего размера с помощью минимального количества управляющих микросхем.

 

1.2 Особенности

 

Прямое отображение данных, читаемых из ОЗУ данных изображения.

Бит данных ОЗУ: '0' – выкл. ЖКИ;

'1' – вкл. ЖКИ.

Быстрый 8-битовый интерфейс с микропроцессором (МПУ); прямой интерфейс с 80- или 68-семействами микрокомпьютеров.

Внутренние цепи управления ЖКИ – 80 (сегмент + общий) линий управления. Коэффициенты рабочего цикла (скважность) выбираются посредством:

команды настройки

(SED1520F); 1/16, 1/32

входа внешней синхронизации

(SED1521F) от 1/8 до 1/32

Множество командных функций, включающих:

Прочитать/Записать данные изображения, Изображение ВКЛ./ВЫКЛ., Задать Адрес, Задать Начальную Строку Изображения, Задать Адрес Столбца, Прочитать Состояние, Статическое Управление ВКЛ./ВЫКЛ., Выбрать Рабочий Цикл, Прочитать Изменить Записать, Выбрать Управление Сегментом, Хранить Энергию и т.д.

Очень низкое рассеяние мощности – 30 мкВт максимум (Внешний генератор работает на 2 кГц).

Широкий спектр питающих напряжений:

VDD – VSS от –2.4В до –7.0В

VDD – V5 от –3.5В до –13.0В

 

Цель

Подключение LCD дисплеев на основе контроллера 79S к отладочной плате

 

Если в каком-либо проекте на микроконтроллере необходим LCD дисплей, то проще всего применить символьные дисплеи на основе контроллера HD44780. О подключении таких дисплеев к микроконтроллеру AVR и пойдёт речь в этой статье.

Дисплеев на основе контроллера HD44780 существует много. О том, какой контроллер стоит в том или ином дисплее можно посмотреть в даташите на дисплей. Я использую дисплеи фирмы Winstar. Различаются эти дисплеи в основном количеством символов в строке, количеством самих строк и наличием подсветки. Определить сколько строк и по сколько символов имеет дисплей можно по названию. Например, дисплей WH0802A имеет 2 строки по 8 символов, а WH1602 – 2 строки по 16 символов.

Подключение к микроконтроллеру. Интерфейс у таких дисплеев параллельный, но есть возможность сократить количество используемых выводов микроконтроллера, подключив дисплей не по 8-ми битной, а по 4-х битной шине. При этом, кроме 4-х выводов данных нужно будет подключить ещё сигнал E и RS. Вывод RW нужен для того, чтобы контроллер дисплея мог определить, записываем или считываем мы с него данные. Если на нём 0 – значит запись, а 1 – чтение. Поскольку читать какие-либо данные из дисплея нам вряд ли придётся, его можно просто соединить с землёй. В общем, вот схема включения:

Потенциометром R2 задаётся контрастность дисплея. Выводы А и К – Анод и Катод светодиодной подсветки соответственно. Катод нужно подключить к земле, а анод либо через резистор 100 Ом к питанию, либо подключить его к ШИМ выводу микроконтроллера – тогда можно будет менять яркость подсветки прямо из программы. Также нужно сказать, что подсветка есть не у всех дисплеев. О том, есть ли подсветка в дисплее и какая у него распиновка можно посмотреть в даташите на конкретный дисплей. Скачать его можно на сайте производителя – winstar.com.tw. Софт. Для работы с такими дисплеями я использую библиотеку от Radosław Kwiecień. Отличная библиотека! Работает с дисплеем по 4-х битной шине и, что очень хорошо, работает из Proteus’a. У этой либы есть следующие полезные подпрограммки:

· LCD_init – инициализация дисплея. Достаточно просто вызвать эту подпрограмму в начале проги и дисплей будет инициализирован.

· LCD_WriteCommand – отправить команду дисплею. Сам код команды загружается в регистр R16. Коды команд можно найти в даташите на дисплей. Вот, например, код очистки дисплея: 0×01

· LCD_WriteData – запись данных в дисплей. Данные – символы, которые выводятся на дисплей. Символы загружаются в R16 в виде ASCII кода, но тут есть небольшая проблема. Дело в том, что просто записать символ в ASCII можно только если он(символ) английский, либо это цифра. Если же символ русский, придётся записывать его шестнадцатеричный код. Получить его можно с помощью конвертеров, например,этого.

· LCD_SetAddressDD – установить адрес в памяти данных дисплея. Начиная с него будет производится запись символов на экран. Всего там 80 ячеек (по 40 на каждую строку). С нулевой ячейки начинается первая строка, а с 40-ой – вторая. После инициализации, либо очистки дисплея запись будет производится с 0-го адреса и после записи символа, адрес автоматически увеличивается на 1. Поскольку символов в строке всего 16, то дисплей можно “сдвигать” относительно ячеек памяти, делается это посредством специальной команды, о которых я расскажу чуть позже. Адрес записывается перед вызовом подпрограммы в регистр R16.

· Пример. Для этой статьи я написал небольшую программку – примерчик. Всё что она делает – выводит на дисплей две строчки символов. Используемый микроконтроллер – ATmega16. Скачать программку можно по ссылке в конце статьи. Текст программы хорошо прокомментирован, поэтому, думаю, всё в ней будет понятно. UPD #1 По просьбе Wixa выкладываю код для создания своих символов на дисплее. Всё прокомментировано, поэтому, я думаю, проблем возникнуть не должно.

· ldi r16,0b01010000

· rcall LCD_WriteCommand

·;Первые два байта 01 - код команды, а последующие -

·;Адрес в двоичке. К примеру, 000001 - означает 1.

·;000010 - 2. В данном случае адрес = 16(2-й символ)

·;Всего у нас 64 байта памяти.

·;Каждый байт кодирует содержимое одной строки точек

·;Размер символа у нас 5Х8, пожтому строчек 8, то есть, для того,

·;Чтобы кодировать один символ нам понадобится 8 сток = 8 байт памяти.

·;Старшие три бита каждой строки не используются.

·;А всего в памяти может быть 8 символов(64/8).

·

·;При записи в память символа нужно указывать адрес последней строчки

·;Символа(64-0), а при выводе - адрес символа. Он может быть от 0 до 8

·;Опять же - в двоичке.

·

·;В данном случае адрес посл. строчки = 16, следовательно адрес символа = 2

·

·;После передачи команды нужно передать содержание строчек, вот оно:

·;(Помним, что первые три бита не используются)

·

· ldi r16,0b00000001

· rcall LCD_WriteData

·

· ldi r16,0b00000010

· rcall LCD_WriteData

·

· ldi r16,0b00000100

· rcall LCD_WriteData

·

· ldi r16,0b00001000

· rcall LCD_WriteData

·

· ldi r16,0b00011111

· rcall LCD_WriteData

·

· ldi r16,0b00000010

· rcall LCD_WriteData

·

· ldi r16,0b00000100

· rcall LCD_WriteData

·

· ldi r16,0b01000000

· rcall LCD_WriteData

·

·;Всё, запись содержания строчек закончена. Далее посылаем команду

·; Установки адреса в DDRAM на 1 позицию.

·

· ldi r16,0b10000000

· rcall LCD_WriteCommand

·

· ldi r16,14;Выводить символ будем на 14-ю позицию

· rcall Lcd_SetAddressDD

·

· ldi r16,0b00000010; А тут выводим символ на дисплей.

· rcall LCD_WriteData

·

·;Поскольку адрес конца строчек = 16, адрес символа = 2(10 в двоичке);

·

·;Переводить символы из двоички в десятучку можно при помощи инженерного

·;Калькулятора в Windows.

 

Принципиальная схема

 


Дата добавления: 2015-12-01; просмотров: 35 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.014 сек.)