Электронная "записаня книжка" (PIC12F84, C)

Рассказать в:

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

Принципиальная схема устройства показана на рис. 1. Его основа — PIC-контроллер PIC16F84 (DD1). Текст хранится в микросхеме DS1 энергонезависимой Flash-памяти с последовательным интерфейсом I2С (см. статью А. Долгого "Микросхемы памяти с интерфейсом I2С. Особенности и применение" в "Радио", 2001, № 2, 3). Посредством этого интерфейса, реализованного программно, микроконтроллер DD1 читает информацию из DS1 и передает ее на жидкокристаллический (ЖК) индикатор HG1. Перед чтением или записью каждого байта в ячейку памяти микросхемы DS1 передается адрес этой ячейки. Это несколько замедляет работу, но предотвращает проблемы, связанные с разным размером страницы памяти, которые могут возникать при использовании микросхем разных фирм.
Электронная "записаня книжка" (PIC12F84, C)
Кроме собственно ЖК индикатора, 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) для обеспечения контроля состояния первой и приема данных по второй со стороны компьютера.
Электронная "записаня книжка" (PIC12F84, C)
ри работе с компьютером шина I2С функционируете режиме "Multi Master". Для разрешения конфликтов на ней используется следующий алгоритм: перед тем, как любое из master-устройств собирается произвести обмен с памятью, оно в течение некоторого времени следит за уровнем сигнала на линии SCL. Если в течение этого времени на ней не было уровня логического нуля, master-устройство начинает обмен с памятью. В противном случае оно продолжает отслеживать состояние линии SCL Поскольку такой алгоритм не всегда способен устранить конфликты, нажимать кнопки "записной книжки" во время обмена информацией с компьютером не рекомендуется.

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

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


Раздел: [Устройства на микроконтроллерах]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru