Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [ 61 ] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

О <- г* rt

gggg

1 шш

§1


gggggggg oz

1-Ч1-

iiiiiii


sssssses



Команды, подаваемые на устройство, таковы:

10 - стереть первую МС памяти;

20 - стереть вторую МС памяти;

30 - записать в память данные;

40 - считать из памяти начиная с текущего адреса;

50 - выставить текущий адрес.

Последние две комавды являются также отладочными и не используются в обычном нормальном функционировании устройства. Первые две не требуют никаких дальнейших действий, кроме ожидания сообщения на экране устройства, что память стерта. Команда записи в память потребует сначала ввести заголовок данной книги (т. е. автора и название, это нужно для дальнейшей идентификации текста при использовании устройства), завершив его посылкой символа 0x07, а затем передать массив текста. После окончания цикла записи символа в память устройство подтверждает прием, посылая этот же символ в компьютер, что позволяет контролировать скорость передачи данных и не потерять данные при записи. Передача текста также финишируется посылкой кода 0x07. Этот код был выбран потому, что является управляющим и обозначает звонок, писк на динамике компьютера (bell), т. е. принципиально не может встретиться в текстовых файлах.

На компакт диске, прилагаемом к книге, имеется файл resour-ce.zip, в котором находятся следующие файлы:

reader.asm - содержит собственно код для AT90S8515;

rus.inc - содержит эквиваленты русских букв (AVR Studio традиционно некорректно работает с неанглийскими символами);

reader.hex - откомпилированный код, прошивка того, что получилось;

reader.cpp - пример программы для компьютера, написанной на языке Си под DOS, позволяющей записывать текстовые файлы;

reader.exe - это соответственно откомпилированный reader.cpp;

reader.ini - файл настроек для программы. Настроек, собственно, две: это на какой порт подключено устройство (в примере поддерживаются только СОМ1 и COM2, впрочем, легко добавить в исходник программы и остальные порты) и кодировка записываемого текста (WIN или DOS). Само устройство отображает текст, который записан в него только в кодировке WIN, но поскольку очень много



6.8. Преобразование DTMF-сигнала в импульсный

Устройство предназначено для детектирования введенного DTMF-методом номера телефона и последующего его набора пульсовым методом. Пример: с радиотелефона входим в телефонную линию, послав в качестве телефона цифру 8. База набирает «8» и подключает трубку. После подсоединения к междугородней телефонной станции абонент набирает код города и телефонного абонента методом DTMF, нажимает «*». Нажатие «#» приводит к сбросу набранного номера. Устройство набирает телефон пульсовым методом и засыпает.

Канал шунтирования разговорного узла при наборе номера в прошивке не задействован, так как не хватает мощности, запасенной конденсатором.

текстов в Интернете, доставшихся в наследство еще от FIDO, имеют кодировку DOS, то программа позволяет перекодировать при записи, на лету, освобождая пользователя от этой предварительной процедуры. Также программа отфильтровывает «лишние» пробелы, получившиеся при форматировании текста, убирает переносы, оставляя нетронутыми дефисы и тире перед фразами речи. Для программы при запуске существуют два возможных параметра - либо reader.exe е, означающий стирание памяти, либо reader.exe w <имя файла>, позволяющее записать файл. При записи программа попросит ввести имя автора и название книги, причем для удобства выведет первые строчки текста (что, однако, удобно только для DOS-файлов. В случае win-кодировки на экран выведется бессмыслица).

И напоследок немного о кнопках. Это действительно тяжелая проблема, поскольку когда автор конструкции поставил «красивые» разноцветные кнопочки, они не выдержали интенсивного нажимания (все-таки двустрочный дисплей, нажимать где-то раз в секунду приходится), сдав за две недели, поэтому пришлось поставить произведение отечественной «оборонки» - кнопки на основе концевиков - КМ1-1. И в итоге ни дребезга, ни залипания. Уже полгода успешно работают в довольно интенсивном режиме.

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



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [ 61 ] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0025