Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Александр Корниленко. Книгочей

   Разработка этого устройства была вызвана желанием читать книги в электронном виде не только дома, с помощью настольного компьютера, но и в прочих местах - там же, где можно прочитать и обычную бумажную книгу.
   Устройство предназначено для прочтения текстовой информации, записанной по COM-порту во flash-память AT49F040, на алфавитно-цифровом индикаторе с контроллером HD44780 фирмы Hitachi и русифицированным знакогенератором. Размер памяти 1 Мбайт, всего возможно записать 8 книг, с возможностью оставить закладку на каждую книгу. Также предусмотрена возможность "пролистывания" книги - на случай, если закладка не была положена, а питание устройства было отключено. Выбор функций и чтение происходит по нажатию трёх клавиш: выбор, вверх и вниз. Размер дисплея 40х2 строчки, что, как показала практика, вполне достаточно для восприятия смысла написанного.
   Схема устройства приведена на рисунке. Щёлкните на нём мышью для того, чтобы посмотреть схему в полном размере. "Сердцем" устройства является микроконтроллер AT90S8515, управляющий шинами адреса-данных, принимающий команды от компьютера и выводящий на индикатор. Для защёлкивания младших 8 бит адреса служит регистр КР1533ИР33 (аналог 74ALS573). Для преобразования уровней RS-232C служит также хорошо известная микросхема ADM202 фирмы Analog Devices.

   Несвязанное с компьютером устройство может только считывать записанную в него книгу. Для стирания памяти либо записи в неё надо выбрать пункт меню: "Связь с ЭВМ", непосредственно затем послать либо число 0x5e, либо 0xe5. В первом случае устройсво перейдёт в командный режим, во втором - в отладочный, когда принимаемый от компьютера символ будет просто отображаться на экране.
   Команды, подаваемые на устройство, таковы:
    10 - стереть первую МС памяти,
    20 - стереть вторую МС памяти,
    30 - записать в память данные,
    40 - считать из памяти начиная с текущего адреса,
    50 - выставить текущий адрес.
   Последние две команды являются также отладочными и не используются в обычном нормальном функционировании устройства. Первые две не требуют никаких дальнейших действий кроме ожидания сообщения на экране устройства, что память стёрта. Команда записи в память потребует сначала ввести заголовок данной книги (то есть автора и название, это нужно для дальнейшей идентификации текста при использовании устройства), завершив его посылкой символа 0x07, а затем передать массив текста. После окончания цикла записи символа в память устройство подтверждает приём, посылая этот же символ в компьютер, что позволяет контролировать скорость передачи данных, и не потерять данные при записи. Передача текста также финишируется посылкой кода 0x07. Этот код был выбран потому, что является управляющим и обозначает звонок, писк на динамике компьютера (bell), то есть принципиально не может встретиться в текстовых файлах.
   Здесь находится файл resource.zip, в котором находятся следующие файлы:
    reader.asm
    rus.inc
    reader.hex
    reader.cpp
    reader.exe
    reader.ini
   Первый файл, reader.asm, содержит собственно код для AT90S8515, следующий файл содержит эквиваленты русских букв (AVR Studio традиционно некорректно работает с неанглийскими символами, причём проблема эта прекрасно известна программистам Atmel), reader.hex - откомпилированный код, прошивка того, что получилось. Далее содержится пример программы для компьютера, написанной на языке Си под DOS, позволяющей записывать текстовые файлы - reader.cpp. reader.exe - это соответственно откомпилированный reader.cpp, а reader.ini - файл настроек для программы. Настроек, собственно, две: это на какой порт подключено устройство (в примере поддерживаются только COM1 и COM2, впрочем, легко добавить в исходник программы и остальные порты) и кодировка записываемого текста (WIN или DOS). Само устройство отображает текст, который записан в него только в кодировке WIN, но поскольку очень много текстов в Интернете, доставшихся в наследство ещё от FIDO, имеют кодировку DOS, то программа позволяет перекодировать при записи, на лету, освобождая пользователя от этой предварительной процедуры. Также программа отфильтровывает "лишние" пробелы, получившиеся при форматировании текста, убирает переносы, оставляя нетонутыми дефисы и тире перед фразами речи. Для программы при запуске существуют два возожных параметра - либо "reader.exe e", означающий стирание памяти, либо "reader.exe w <имя_файла>", позволяющее записать файл. При записи программа попросит ввести имя автора и название книги, причём для удобства выведет первые строчки текста (что, однако, удобно только для DOS-файлов. В случае win-кодировки на экран выведется бессмыслица).
  И напоследок немного о кнопках. Это действительно тяжёлая проблема, посколько когда я поставил "красивые" разноцветные кнопочки, они не выдержали интенисивного нажимания (всё-таки двустрочный дисплей, нажимать где-то раз в секунду приходится), сдав за две недели, поэтому пришлось поставить произведение отечественной "оборонки" - кнопки на основе концевиков - КМ1-1. И в итоге - ни дребезга, ни залипания. Уже полгода успешно работают в довольно интенсивном режиме.

Автор проекта: Александр Корниленко (E-mail: seagull@mail.ru)

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100