Структура программы.

Программное обеспечение

Сбор информации со считывателя в микропроцессор осуществляется на следующих принципах:

· считыватель посылает цифровые выходные сигналы, а именно логическую 1, если карандаш расположен на не отражающей свет части ШК (т.е. на поверхности с малой отражающей способностью, как это бывает на чёрной полосе штрих кода)

· на белой (светлой) поверхности, т.е. между штрихами, считыватель генерирует сигналы логического 0

При перемещении по штрих коду считывателем на его выходе генерируется последовательность импульсов, в которой длина каждого единичного импульса есть мера ширины считываемого черного штриха. Программа должна высчитывать ширину импульсов в этой импульсной последовательности, запоминать, кодировать и проверять значение ширины черных штрихов. После успешного завершения этих операций, передать знаковый блок в коде ASCII вышестоящему компьютеру.

Если последний принял данные, то он посылает сигнал квитирования в дешифровщик, который в свою очередь генерирует акустический сигнала (длительность примерно 0.3с) программа должна быть готовой к обработке сигналов другого считывателя (во время действия зуммера блокировка программы отсутствует).

Программа должна работать так, чтобы информационные знаки с 1-го по 13 могли обрабатываться за одно чтение. При этом число считываемых штрихов должно составлять:

4 стартовых + 4 конечных + 8 контрольных + n x 4 информационных где n=1,2…13.

На основании информационных штрихов программа генерирует контрольный код, который при правильно выполненном чтении должна совпадать с прочитанными контрольными битами.

 

 

Главная программа состоит из раздела инициализации (подпрограмма включения), который запускается при включении сети и подпрограммы подготовки, которая после каждого чтения набора данных перезапускается (запуск при (1) и команде “ожидание прерывания”)

Собственно программа обработки состоит из трёх частей:

· собирающей программы

· дешифрирующей программы

· выходной программы

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