Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


930
Электронная "записаня книжка" (PIC12F84, C)
Новая элементная база позволяет создавать компактные и экономичные устройства, способные с помощью персонального компьютера записывать в свою память текст, а затем в автономном режиме читать его. В статье описывается своеобразная "записная книжка ", в которой можно хранить до 64 Кбайт текстовой информации.

Принципиальная схема устройства показана на рис. 1. Его основа — PIC-контроллер PIC16F84 (DD1). Текст хранится в микросхеме DS1 энергонезависимой Flash-памяти с последовательным интерфейсом I2С (см. статью А. Долгого "Микросхемы памяти с интерфейсом I2С. Особенности и применение" в "Радио", 2001, № 2, 3). Посредством этого интерфейса, реализованного программно, микроконтроллер DD1 читает информацию из DS1 и передает ее на жидкокристаллический (ЖК) индикатор HG1. Перед чтением или записью каждого байта в ячейку памяти микросхемы DS1 передается адрес этой ячейки. Это несколько замедляет работу, но предотвращает проблемы, связанные с разным размером страницы памяти, которые могут возникать при использовании микросхем разных фирм.

Кроме собственно ЖК индикатора, ITM-1602ATR/R (HG1) имеет в своем составе контроллер HD44780, который организует обмен данными с микроконтроллером DD1, имеет знакогенератор для вывода символов и отвечает за отображение информации на экране. Для сокращения числа используемых портов микроконтроллера DD1 обмен с HG1 ведется по четырехбитному интерфейсу, при котором восьмибитные данные передаются тетрадами в два этапа. При таком режиме работы выводы DB0—DB3 индикатора не используются.

Управляют "записной книжкой" с помощью кнопок SB1—SB3: первые две служат для прокрутки текста и перемещения курсора меню, а третья — для вызова меню и подтверждения выбора его пунктов. Поскольку все линии порта В, являющиеся входными, подключены к источнику питания через резисторы, необходимости во внешних резисторах, "подтягивающих" порты RB5—RB7 к линии питания, нет.

Так как от устройства не требуется высокой точности отсчета временных интервалов, в качестве частотозадающих элементов тактового генератора микроконтроллера DD1 используется RC-цепь (R3C1). Генератор работает только при обращении микроконтроллера к памяти или ЖК индикатору, во время ожидания нажатия кнопки он отключен и микроконтроллер находится в режиме пониженного энергопотребления.

При включении питания на экране индикатора на короткое время появляется заставка, после чего устройство переходит в режим меню. Теперь, перемещая курсор кнопками SB1 ("<-"), SB2 ("->") и подтверждая команду кнопкой SB3 (" "), можно перейти в режим чтения (пункт "R"), в "спящий" режим (пункт "S"), установить курсор в начало текста (пункт "Н") или в его конец (пункт "Е"). В этом режиме на экране отображается также текущая позиция текста в шестнадцатиричной форме. При чтении текст "листают" кнопками SB1 и SB2, возврат в меню осуществляется кнопкой SB3. Подстроечный резистор R5 служит для регулировки контрастности изображения на индикаторе HG1. Из "спящего" режима устройство выводят нажатием любой кнопки.

Для обмена информацией между "записной книжкой" и компьютером служит специальная программа, с помощью которой можно передавать текст как из компьютера в устройство, так и наоборот. Программа представляет собой упрощенный текстовый редактор с возможностью загрузки текста в "записную книжку" и выгрузки из нее. Для загрузки текста в устройство необходимо с помощью меню "Файл—Открыть" открыть текстовый файл в ASCII формате, а затем, возможно, произведя некоторые изменения этого текста в окне редактора, с помощью меню "Е-Book->Закачать" запустить процесс загрузки. Текст для загрузки можно подготовить в любом другом текстовом редакторе, а затем через буфер обмена Windows скопировать его в окно редактора программы. Выгрузка текста из "записной книжки" производится через меню "Е-Book—»Скачать". После этого текст может быть сохранен в ASCII файл или через буфер обмена перенесен в другую программу. Параметры работы программы (номер LPT порта и объем памяти "записной книжки") изменяют через меню "Настройки- Параметры".

Обмен производится через кабель-адаптер, схема которого приведена на рис-2. Вилку ХР1 подключают к параллельному (LPT) порту компьютера. На транзисторах VT1, VT2 реализована функция элемента с открытым коллектором, которая требуется для работы с шиной 12С. Линии SCL и SDA подключены к входным линиям LPT порта (соответственно контакты 13 и 12) для обеспечения контроля состояния первой и приема данных по второй со стороны компьютера.

ри работе с компьютером шина I2С функционируете режиме "Multi Master". Для разрешения конфликтов на ней используется следующий алгоритм: перед тем, как любое из master-устройств собирается произвести обмен с памятью, оно в течение некоторого времени следит за уровнем сигнала на линии SCL. Если в течение этого времени на ней не было уровня логического нуля, master-устройство начинает обмен с памятью. В противном случае оно продолжает отслеживать состояние линии SCL Поскольку такой алгоритм не всегда способен устранить конфликты, нажимать кнопки "записной книжки" во время обмена информацией с компьютером не рекомендуется.

Питание на микросхему DS1 и индикатор HG1 поступает через порт RB4 микроконтроллера DD1. Это позволяет переводить устройство в "спящий" режим программным способом. При этом питание подается только на микроконтроллер, который также переходит в "спящий" режим (тактовый генератор выключается), и потребляемый устройством ток уменьшается до значения, не превышающего десятка микроампер. Возврат в режим чтения, как отмечалось, производится нажатием любой кнопки устройства. При этом контроллер выходит из "спящего" режима, подает питание на микросхему памяти и индикатор и проводит процедуру инициализации последнего. После этого можно продолжать читать "книжку" с той позиции, которая была текущей в момент перевода устройства в "спящий" режим.

Большинство деталей устройства смонтировано на печатной плате, изготовленной в соответствии с рис. 3. В устройстве допустимо применение микроконтроллера PIC16F84 или PIC16F84A в любом исполнении. DS1 — любая микросхема с интерфейсом l2C из ряда АТ24С01 —АТ24С512 (обьем памяти от 128 байт до 64 Кбайт) фирмы ATMEL или других производителей. При этом для каждой микросхемы используют свой вариант прошивки контроллера. В принципе, можно применить от одной до восьми микросхем памяти, задавая для каждой в зависимости от их типа уникальный адрес с помощью адресных входов АО—A3, но при этом потребуется корректировка программы контроллера.


ЖК индикатор HG1 — двустрочный (по 16 символов в строке) фирмы Intech с русским знакогенератором. Можно применить и другие одно- и двустрочные индикаторы этой фирмы или им подобные других фирм, контроллер которых совместим с HD44780. При этом в программе микроконтроллера нужно скорректировать значения переменных width и height. В случае использования индикаторов с большим числом строк потребуется более серьезная модификация программы.

Индикаторы с контроллером НТ44780 выпускаются с различными знакогенераторами. Если не удастся приобрести индикатор с русским знакогенератором, при вводе текста допустимо заменять русские буквы похожими по написанию латинскими либо использовать транслитерацию (писать русские слова латинскими буквами). Эта возможность предусмотрена в программе. При передаче текста в "записную книжку" символы автоматически заменяются на указанные пользователем. Таблицу замены символов можно изменить через меню "Настройки-Параметры" программы.

При программировании микроконтроллера DD1 нужно установить следующие значения бит в конфигурационном слове: тип генератора (OSC) — RC, сторожевой таймер (WDT) — выключен, задержка после включения питания (PWRTE) — разрешена.
Для питания устройства требуется напряжение 4...5 В (три гальванических элемента типоразмера AAA или четыре дисковых аккумулятора Д-0,1). Работоспособность сохраняется при снижении напряжения батареи до 3 В, однако считывание информации с ЖК индикатора в этом случае затрудняется.
В качестве розетки XS1 (см. рис. 1) в устройстве применен разъем от стереофонических головных телефонов, используемый в импортной аппаратуре. Вилка ХР1 (см. рис. 2) — компьютерная DB-25M. Транзисторы VT1, VT2 (любые кремниевые маломощные структуры n-p-n) и резисторы R1, R2 смонтированы навесным способом внутри вилки ХР1. Длина соединительного кабеля — не более 2 м.
Скачать исходный код на С, прошивки, управляющую программу




Источник: Скачать исходный код на С, прошивки, управляющую программу
Категория: Устройства на микроконтроллерах | Добавил: Визинга (18.12.2010)
Просмотров: 7611 | Рейтинг: 1.0/4


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024