Журнал Радио 2 номер 2002 год. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА

Журнал Радио 2 номер 2002 год. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА ЭЛЕКТРОННАЯ"ЗАПИСНАЯ КНИЖКА" С. КУЛЕШОВ, г. Курган   Новая элементная база позволяет создавать компактные и экономичные устройства, способные с помощью персонального компьютера записывать в свою память текст, а затем в автономном режиме читать его. В статье описывается своеобразная "записная книжка ", в которой можно хранить до 64 Кбайт текстовой информации.

Принципиальная схема устройства показана на рис. 1. Его основа — PIC-контроллер PIC16F84 (DD1). Текст хранится в микросхеме DS1 энергонезависимой Flash-памяти с последовательным интерфейсом l2C (см. статью А. Долгого "Микросхемы памяти с интерфейсом l2C. Особенности и применение" в "Радио", 2001, ╧ 2, с. 24—26; ╧ 3, с. 25, 26). Посредством этого интерфейса, реализованного программно, микроконтроллер 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. Из "спящего" режима устройство выводят нажатием любой кнопки.

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

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

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


Увеличить

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

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

ЖК индикатор 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 м.



МОДУЛЬНАЯ РЕКЛАМА
Условия см. в "Радио", 2001,
╧ 6, c. 28
ПРОГРАММАТОР UNIPROG для УФПЗУ, ОЭВМ, ПЛМ. РТ, FLASH, PIC, AVR, последовательные ПЗУ и др. (готовый — около 130 у. е. или конструктор) подключается к ПК IBM через LPT. Можем выслать почтой. Подробнее см. ^в Интернете: WWW.PROGRAMMATOR.RU. Консультации и сопровождение.
129343, Москва, а/я 76, ООО "МикроАрт".
Тел. (095) 180-8598; 189-2801.
* * *
ПРЕДЛАГАЕМ
Аккумуляторы более 200 видов для: пожарной сигнализации, радиостанций, источников бесперебойного питания и т. д.
Доставка по России.
Москва (095) т/ф.: 962-91-98; 962-94-10.
С.-Петербург (812) т. 535-25-96.
Электронная почта: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
* * *
Море полезной информации для настоящих радиолюбителей:

Вернуться к содержанию журнала "Радио" 2 номер 2002 год







Рекомендуемый контент




Copyright © 2010-2018 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.