Модернизация информационного табло 'Бегущая строка'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    656,84 Кб
  • Опубликовано:
    2013-08-17
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Модернизация информационного табло 'Бегущая строка'














ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

(ДИПЛОМНЫЙ ПРОЕКТ)

Специальность 230101 «Вычислительные машины, комплексы, системы и сети»

на тему Модернизация информационного табло «Бегущая строка»

СОДЕРЖАНИЕ

ВВЕДЕНИЕ6

РАЗДЕЛ 1. СИСТЕМОТЕХНИЧЕСКИЙ9

1.1 Обзор источников информации9

1.2 Анализ процесса отображения информационного табло.17

1.3 Разработка функциональной схемы19

1.4 Разработка общего алгоритма вывода строки21

.5 Выбор микроконтроллера

.6 Анализ неисправностей устройства

.7 Выводы

РАЗДЕЛ 2. ПРОЕКТНО-КОНСТРУКТОРСКИЙ27

2.1 Выбор элементной базы 27

2.2 Разработка принципиальной схемы устройства38

2.3 Разработка алгоритма работы микроЭВМ 38

2.4 Разработка исходных текстов программ микро-ЭВМ46

2.5 Разработка программы для ПК47

2.6 Разработка печатной платы устройства53

2.7 Выводы 70

РАЗДЕЛ 3. ЭКСПЛУАТАЦИОННЫЙ 72

3.1 Технические данные об изделии 72

3.2 Функциональный состав 72

3.3 Описание принципиальной схемы 74

3.4 Описание работы устройства 77

3.5 Общие указания по эксплуатации78

3.6 Указания мер безопасности79

3.7 Подготовка изделия к работе79

3.8 Характерные неисправности и методы их устранения80

3.9 Техническое обслуживание 81

РАЗДЕЛ 4. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙ82

4.1 Расчет себестоимости аппаратных средств82

4.2 Расчет затрат на оплату труда сотрудника84

4.3 Расчет затрат на электроэнергию85

4.5 Расчет себестоимости разработки программного обеспечения87

РАЗДЕЛ 5. ЗАЩИТА И БЕЗОПАСНОСТЬ ИНФОРМАЦИИ93

РАЗДЕЛ 6. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ99

6.1 Способы защиты от поражения электрическим током99

6.2 Требования к персоналу, обслуживающему ПЭВМ и устройство101

6.3 Техника безопасности при обслуживании ПЭВМ и устройства101

6.4 Методы и средства обеспечения безопасности жизнедеятельности при работе с электроустановками 103

Заключение107

Список использованных источников109

ПРИЛОЖЕНИЕ А110

ПРИЛОЖЕНИЕ Б113

ПРИЛОЖЕНИЕ В 116

 

АННОТАЦИЯ

информационное табло строка программный

МОДЕРНИЗАЦИЯ ИНФОРМАЦИОННОГО ТАБЛО «БЕГУЩАЯ СТРОКА»

Дипломный проект. 99 с., 5 рис.,15 табл., 11 источников, 3 прил., 9 л. чертежей ф. А1.

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

В состав устройства входят: светодиодная матрица, блок управления на основе высокопроизводительной однокристальной микро-ЭВМ, датчик температуры наружного воздуха, блок питания. Блок управления содержит микроконтроллер, микросхему памяти текстовой информации, 4-х кнопочную клавиатуру, адаптер интерфейса RS-232, однопроводной интерфейс, блок силовых ключей, сдвиговый регистр.

Блок управления построен с использованием микроконтроллера ATmega32L. Он управляет ключами строк, выдает данные в сдвиговый регистр для формирования изображения на матрице. Информация для вывода на экран хранится в энергонезависимой внешней Flash-памяти. Для ее подключения к контроллеру используется интерфейс SPI. Цифровой датчик температуры подключается по однопроводному интерфейсу напрямую к одному из портов ввода-вывода микроЭВМ. Запись текста, настройка времени, даты, параметров устройства производится с помощью ПК, который подключается с использованием USB адаптера интерфейса RS-232.

Конструктивно устройство представляет собой коробку, закрытую с одной стороны прозрачным органическим стеклом. Под ним располагается светодиодная матрица, образованная отдельными модулями. Каждый модуль несет 64 светодиода. Между модулями сигналы строк объединяются короткими паянными перемычками; сигналы столбцов подаются на каждый модуль собственным шлейфом от блока управления. Блок управления крепится на задней стенке устройства. На боковой поверхности устройства располагаются разъемы питания, подключения ПК, датчика температуры, а также 4 кнопки управления.

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

ВВЕДЕНИЕ

Бегущая строка используется для передачи различной рекламной и справочной информации, как на улице, так и в общественных местах: в супермаркетах, выставочных центрах, банках, офисах, концертных и спортивных залах, учебных учреждениях. Использование бегущей строки в транспорте повышает эффективность рекламных объявлений для определенной целевой аудитории. Текстовая реклама в виде плакатов и вывесок смотрится не так эффектно и не так броско. Бегущая строка сразу же обращает на себя внимание своей динамичностью, яркостью и доступному изложению информации. К тому же не следует менять плакаты для рекламы разной продукции или разного рода оповещений. Нужно всего лишь запрограммировать бегущую строку на отображение другого текста, что легко делается посредством компьютера.

Цель данного дипломного проекта - модернизировать существующее устройство бегущей строки, используемое на кафедре ЭВС ВСГУТУ. Разработанное выпускниками ВУЗа ранее, оно содержит в себе как положительные стороны, так и недостатки. Положенный в основу схемы модульный принцип построения дает возможность доработки устройства, расширения его функциональных возможностей, повышения качественных характеристик. В то же время, ширина существующего табло невелика, что уменьшает читаемость текста, его информативность. Настройка и программирование бегущей строки производится только с ПК по интерфейсу RS-232, что в ряде случаев делает неудобным пользование строкой. Добавлены четырех модулей светодиодов, что увеличивает ее длину до 112 столбцов. На панели устанавливаются дополнительные 2 кнопки подстройки текущего времени и даты. Для соедения информационного табло с ПК используется USB адаптер интерфейса RS-232. Добавляется поддержка стандартной клавиатуры PC AT с разъемом PS2, с помощью которой можно запрограммировать все параметры табло, а главное - изменить текст бегущей строки. Кроме текста и времени, на табло выводится температура, которая измеряется внешним датчиком. Этот датчик может быть установлен в помещении или на улице. При такой большой ширине табло уже необходима поддержка широких шрифтов, с размером символов 8 х 8 точек. Начертание любого символа может быть запрограммировано пользователем.

Сложность модернизации дипломного проэкта заключается в том что данный проект был ранее модернезирован, в следствие этого было отсутствие конкретногоописания устройства (Бегущая строка) ,а так же отсутствие полноценной прошивки микроконтроллера. Модернизация данного устройства заключается в добавление 2 кнопок регулирования скорости движения информации, также установлен в корпус блок питания, исправлена принципиальная схема, существенно откорректирована прошивка микроконтроллера. В пояснительной записке описывается полный цикл разработки устройства бегущей строки, от подробного анализа проблемы и постановки технического задания до проектирования и изготовления опытного образца. Системотехнический раздел описывает требования, предъявляемые к устройству, основные моменты его функционирования, а также общую схему построения устройства.

В проектно-конструкторском разделе приведены функциональная и принципиальная схемы устройства, их подробное описание, расчет, алгоритмы функционирования.

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

Организационно-экономический раздел содержит расчет стоимости проектирования, изготовления и эксплуатации.

В разделе Защиты и безопасности информации приводятся методы обеспечения сохранности данных, представляющих коммерческий интерес, защиты информации от несанкционированного доступа.

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

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

РАЗДЕЛ 1 СИСТЕМОТЕХНИЧЕСКИЙ

1.1 Обзор источников информации

Посредством сети Интернет были найдены несколько отечественных фирм-производителей графических и текстовых табло.

Научно Производственное Предприятие "Электронное табло" (www.eltablo.ru <#"656012.files/image001.gif">

Рисунок 1 - Сравнительная характеристика некоторых микропроцессорных платформ

То, что одно семейство, имеющее короткое время исполнения команд, например, AVR, эффективнее другого, с более "длинными" командами, например MCS'51, однозначно утверждать нельзя. AVR-семейство представляет собой чистую RISC-архитектуру, программы для микроконтроллеров этого типа достаточно длинные, объемные, т.к. все операции проводятся через РОНы. У микроконтроллеров семейства PIC система команд урезанная, и состоит всего из 33 команд. Хотя они исполняются достаточно быстро, общая производительность низка. Примерно то же самое относится к семейству HC05. Однокристальные микроЭВМ семейства C'51 пользуются спросом и уважением разработчиков всего мира, в первую очередь за эффективную систему команд, дающую хорошую производительность системы в целом, не смотря на длинный командный цикл. Сравнивая два противоположных в этом плане семейства AVR и C'51, в конечном итоге их производительности примерно равны: за одно и то же время они делают одну и ту же "работу".

Немаловажным обстоятельством является удобство в использовании ОМЭВМ для разработчика. Стандартные МК фирмы Intel имели внутреннюю память программ с УФ-стиранием, либо с масочным ПЗУ, что сильно сдерживало их использование в "домашних" условиях. Фирма ATMEL разработала полный аналог этих МК, с добавлением такой функции, как ISP - программирование в системе: для перезаписи программы в контроллер требуются считанные секунды. семейство контроллеров продолжает развиваться и по сей день, обеспечивая разработчика широким набором встроенной периферии. В сравнении с семейством MCS'51 оно более удобно в использовании, т.к. в AVR каждый модуль - таймер, счетчик, интерфейс UART, SPI и др., независим друг от друга. В 51-х контроллерах этого не скажешь: таймеры и интерфейсы так или иначе взаимосвязаны. Для нашего устройства с большой нагрузкой на ПО, где необходимо осуществлять подсчет текущего времени суток, динамически формировать изображение на матрице, выдерживать строгие временные интервалы для поддержки однопроводного интерфейса - и все с разной частотой и периодичностью, AVR подходит более всего.

Набор AVR-микроконтроллеров достаточно широк. Для выбора конкретного типа необходимо подсчитать минимальное число выводов, а также определить необходимые встроенные аппаратные средства для поддержки работы других элементов.

В таблице 3 приведены некоторые типы AVR-микроконтроллеров. Они отличаются набором периферии, объемом внутренней памяти программ и данных, числом доступных портов ввода-вывода, корпусами, быстродействием, напряжением питания и пр. Излишние функциональные возможности нежелательны, т.к. это увеличивает стоимость контроллера; их недостаток, наоборот, приведет к невозможности выполнения поставленной задачи. Чтобы правильно выбрать тип контроллера, необходимо иметь представление о программе, выполняемой на нем, и ее задачах. Она потребует достаточно много места: один протокол Modbus только в "чистом" виде, т.е. только процедуры приема и отправки байтов, кодирования/декодирования пакетов, занимают около 1 Кб (modbus.asm). Обработка команд, поступающих с ПК, также потребует около 1 Кб постоянной памяти (command.asm). Обеспечение работы однопроводного интерфейса и обслуживание датчика температуры занимает примерно 1,5 Кб (ds18x.asm). Обработчики прерываний от системных таймеров и связанные с ними процедуры займут около 2 Кб. Основной модуль программы займет еще примерно 2 Кб. Получается, объем только постоянной памяти программ должен быть не менее 7 Кбайт.

Таблица 3 - Микроконтроллеры семейства AVR.

AVR ®

FLASH (KB)

EEPROM (Bytes)

RAM (Bytes)  With 32 Register

Instructions

I/O pins

Interrupts

Ext Interrupts

SPI

UART

TWI

Hardware Multiplier

8-bit timer

16-bit timer

PWM

Watchdog Timer

RTC Timer

Analog Comp

10-bit A/D Channels

On Chip RC-Oscillator

Brown Out Detector

In System Programming

Self Program Memory

Vcc(V)

Clock Speed (MHz)

Packages

ATtiny11L

1

-

32

90

6

4

1(+5)

-

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

2.7-5.5

0-2

8-pin DIP, SOIC

ATtiny11

1

-

32

90

6

4

1(+5)

-

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

4.0-5.5

0-6

8-pin DIP, SOIC

ATtiny12V

1

64

32

90

6

5

1(+5)

-

-

-

-

1

-

-

Y

-

Y

-

Y

Y

Y

-

1.8-5.5

0-1

8-pin DIP, SOIC

ATtiny12L

1

64

32

90

6

5

1(+5)

-

-

-

-

1

-

-

Y

-

Y

-

Y

Y

Y

-

2.7-5.5

0-4

8-pin DIP, SOIC

ATtiny12

1

64

32

90

6

5

1(+5)

-

-

-

-

1

-

-

Y

-

Y

-

Y

Y

Y

-

4.0-5.5

0-8

8-pin DIP, SOIC

ATtiny15L

1

64

32

90

6

8

1(+5)

-

-

-

-

2

-

1

Y

-

Y

4

Y

Y

Y

-

2.7-5.5

1.6

8-pin DIP, SOIC

ATtiny26L

2

128

128+32

118

16

11

1(+8)

1

1

1

-

2

-

4

Y

-

Y

11

Y

Y

Y

-

2.7-5.5

0-8

20-pin DIP, SOIC


























32-pin MLF

ATtiny26

2

128

128+32

118

16

11

1(+8)

1

1

1

-

2

-

4

Y

-

Y

11

Y

Y

Y

-

4.5-5.5

0-16

20-pin DIP, SOIC


























32-pin MLF

ATtiny28V

2

-

32

90

20

5

1(+8)

-

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

1.8-5.5

0-1

28-pin DIP


























32-pin TQFP, MLF

ATtiny28L

2

-

32

90

20

5

1(+8)

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

2.7-5.5

0-4

28-pin DIP


























32-pin TQFP, MLF

AT90S1200

1

64

32

89

15

3

1

-

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

2.7-6.0

0-4

20-pin DIP, SOIC, SSOP

AT90S1200

1

64

32

89

15

3

1

-

-

-

-

1

-

-

Y

-

Y

-

Y

-

Y

-

4.0-6.0

0-12

20-pin DIP, SOIC, SSOP

AT90S2313

2

128

128+32

120

15

10

2

-

1

-

-

1

1

1

Y

-

Y

-

-

-

Y

-

2.7-6.0

0-4

20-pin DIP, SOIC

AT90S2313

2

128

128+32

120

15

10

2

-

1

-

-

1

1

1

Y

-

Y

-

-

-

Y

-

4.0-6.0

0-10

20-pin DIP, SOIC

AT90LS2323

2

128

128+32

120

3

2

1

-

-

-

-

1

-

-

Y

-

-

-

-

-

Y

-

2.7-6.0

0-4

8-pin DIP, SOIC

AT90S2323

2

128

128+32

120

3

2

1

-

-

-

-

1

-

-

Y

-

-

-

-

-

Y

-

4.0-6.0

0-10

8-pin DIP, SOIC

AT90LS2343

2

128

128+32

120

5

2

1

-

-

-

-

1

-

-

Y

-

-

-

Y

-

Y

-

2.7-6.0

0-1

8-pin DIP, SOIC

AT90LS2343

2

128

128+32

120

5

2

1

-

-

-

-

1

-

-

Y

-

-

-

Y

-

Y

-

2.7-6.0

0-4

8-pin DIP, SOIC

AT90S2343

2

128

128+32

120

5

2

1

-

-

-

-

1

-

-

Y

-

-

-

Y

-

Y

-

4.0-6.0

0-10

8-pin DIP, SOIC

AT90LS4433

4

256

128+32

120

20

14

2

1

1

-

-

1

1

1

Y

-

Y

6

-

Y

Y

-

2.7-6.0

0-4

28-pin DIP


























32-pin TQFP

AT90S4433

4

256

128+32

120

20

14

2

1

1

-

-

1

1

1

Y

-

Y

6

-

Y

Y

-

4.0-6.0

0-8

28-pin DIP


























32-pin TQFP

AT90S8515

8

512

512-32

130

32

12

2

1

1

-

-

1

1

2

Y

-

Y

-

-

-

Y

-

2.7-6.0

0-4

40-pin DIP


























44-pin PLCC, TQFP

AT90S8515

8

512

512-32

130

32

12

2

1

1

-

-

1

1

2

Y

-

Y

-

-

Y

-

4.0-6.0

0-8

40-pin DIP


























44-pin PLCC, TQFP

AT90LS8535

8

512

512-32

130

32

16

2

1

1

-

-

2

1

3

Y

Y

Y

8

-

-

Y

-

2.7-6.0

0-4

40-pin DIP


























44-pin PLCC, TQFP

AT90S8535

8

512

512-32

130

32

16

2

1

1

-

-

2

1

3

Y

Y

Y

8

-

-

Y

-

4.0-6.0

0-8

40-pin DIP


























44-pin PLCC, TQFP

ATmega8L

8

512

1K+32

130

23

18

2

1

1

1

Y

2

1

3

Y

Y

Y

4+2

Y

Y

Y

Y

2.7-5.5

0-8

28-pin DIP



















6+2







32-pin MLF, TQFP

ATmega8

8

512

1K+32

130

23

18

2

1

1

1

Y

2

1

3

Y

Y

Y

4+2

Y

Y

Y

Y

4.5-5.5

0-16

28-pin DIP



















6+2







32-pin MLF, TQFP

ATmega8535L

8

512

512-32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-8

40-pin DIP


























44-pin TQFP, MLF

ATmega8535

8

512

512-32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

4.5-5.5

0-16

40-pin DIP


























44-pin TQFP, MLF

ATmega8515L

8

512

512+32

130

35

16

3

1

1

1

Y

1

1

2

Y

-

Y

-

Y

Y

Y

Y

2.7-5.5

0-8

40-pin DIP


























44-pin TQFP, MLG

ATmega8515

8

512

512+32

130

35

16

3

1

1

1

Y

1

1

2

Y

-

Y

-

Y

Y

Y

Y

4.5-5.5

0-16

40-pin DIP


























44-pin TQFP, MLG

ATmega161L

16

512

1K+32

130

35

20

3

1

2

-

Y

2

1

4

Y

Y

Y

-

-

Y

Y

Y

2.7-5.5

0-4

40-pin DIP


























44-pin TQFP

ATmega161

16

512

1K+32

130

35

20

3

1

2

-

Y

2

1

4

Y

Y

Y

-

-

Y

Y

Y

4.0-5.5

0-8

40-pin DIP


























44-pin TQFP

ATmega162V

16

512

1K+32

130

35

20

3(+16)

1

2

1

Y

2

2

6

Y

Y

Y

-

Y

Y

Y

Y

1.8-3.6

0-1

40-pin DIP


























44-pin TQFP, MLF

ATmega162L

16

512

1K+32

130

35

20

3(+16)

1

2

1

Y

2

2

6

Y

Y

Y

-

Y

Y

Y

Y

2.7-5.5

0-8

40-pin DIP


























44-pin TQFP, MLF

ATmega162

16

512

1K+32

130

35

20

3(+16)

1

2

1

Y

2

2

6

Y

Y

-

Y

Y

Y

Y

4.5-5.5

0-16

40-pin DIP


























44-pin TQFP, MLF

ATmega163L

16

512

1K+32

130

32

17

2

1

1

1

Y

2

1

3

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-4

40-pin DIP


























44-pin TQFP

ATmega163

16

512

1K+32

130

32

17

2

1

1

1

Y

2

1

3

Y

Y

Y

8

Y

Y

Y

Y

4.0-5.5

0-8

40-pin DIP


























44-pin TQFP

ATmega16L

16

512

1K+32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-8

40-pin DIP


























44-pin TQFP, MLF

ATmega16

16

512

1K+32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

4.5-5.5

0-16

40-pin DIP


























44-pin TQFP, MLF

ATmega323L

32

1K

2K+32

130

32

19

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-4

40-pin DIP


























44-pin TQFP

ATmega323

32

1K

2K+32

130

32

19

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

4.0-5.5

0-8

40-pin DIP


























44-pin TQFP

ATmega32L

32

1K

2K+32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-8

40-pin DIP


























44-pin TQFP, MLF

ATmega32

32

1K

2K+32

130

32

20

3

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

4.5-5.5

0-16

40-pin DIP


























44-pin TQFP, MLF

ATmega64L

64

2K

4K+32

133

53

34

8

1

2

1

Y

2

2

6+2

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-8

64-pin TQFP, MLF

ATmega64

64

2K

4K+32

133

53

34

8

1

2

1

Y

2

2

6+2

Y

Y

Y

8

Y

Y

Y

Y

4.5-5.5

0-16

64-pin TQFP, MLF

ATmega169V

16

512

1K+32

139

54

22

1(+16)

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

1.8-3.6

0-1

64-pin TQFP, MLF

ATmega169L

16

512

1K+32

139

54

22

1(+16)

1

1

1

Y

2

1

4

Y

Y

Y

8

Y

Y

Y

Y

2.7-3.6

0-4

64-pin TQFP, MLF

ATmega103L

128

4K

4K+32

121

48

16

8

1

1

-

-

2

1

4

Y

Y

Y

8

-

Y

-

2.7-3.6

0-4

64-pin TQFP

ATmega103

128

4K

4K+32

121

48

16

8

1

1

-

-

2

1

4

Y

Y

Y

8

-

-

Y

-

4.0-5.5

0-6

64-pin TQFP

ATmega128L

128

4K

4K+32

133

53

34

8

1

2

1

Y

2

2

6+2

Y

Y

Y

8

Y

Y

Y

Y

2.7-5.5

0-8

64-pin TQFP, MLF

ATmega128

128

4K

4K+32

133

53

34

8

1

2

1

Y

2

2

6+2

Y

Y

Y

8

Y

Y

Y

Y

4.5-5.5

0-16

64-pin TQFP, MLF




Всем требованиям рассмотренных в разделе 1.5 удовлетворяет микросхема ATmega32L (см. Приложение Б). Следует отметить, что она имеет четыре 8-битных порта, поэтому избыточное число выводов можно использовать, исключив, н-р, дешифратор строк. Эту задачу возлагаем теперь на ПО.

Адаптер интерфейса RS-232.

Для построения адаптера интерфейса RS-232 фирма MAXIM выпустила ряд микросхем, отличающихся числом линий связи и электрическими параметрами. В настоящее время существуют их более дешевые аналоги пр-ва других фирм, например, ADM, STM.

При выборе той или иной ИМС необходимо руководствоваться следующими соображениями:

Должно быть минимально необходимое число линий;

Корпус типа DIP для монтажа на плату 3 класса точности;

Однополярное напряжение питания.

Вообще, из представленных в таблице 4 ИМС подойдет любая, т.к. связь с ПК будет осуществляться по протоколу Modbus, а он требует только двух линий передачи данных. Выберем те, которые имеют минимальное число выводов, т.е в корпусе DIP-16. Всем критериям удовлетворяют только 2 типа: MAX202 и MAX232. Неудивительно, что именно эти ИМС пользуются наибольшей популярностью у разработчиков и встречаются наиболее часто в различных любительских и профессиональных схемах.

Адаптер переходник с интерфейса RS-232 на USB интерфейс.

Основные характеристики:

Производитель - Orient Hero International Ltd

Модель - USS-101

Параметры производительности:

Скорость передачи данных - 1 Мбит/сек

Прочие характеристики:

Длина кабеля - 0.8 метра

Прочее:

Со стороны COM порта для крепежа используются винты

Таблица 4 - Микросхемы преобразователей RS-232


Датчик температуры

При выборе типа датчиков температуры использовалась таблица 5.

Таблица 5 - Параметры распространенных датчиков температуры


В сравнении с датчиками серии ds1820 фирмы Dallas они проигрывают в точности и удобстве подключения. Можно, конечно, использовать термозависимые сопротивления типа ТСМ, ТСП и др., но это требует использования АЦП, схем согласования, и дополнительной программной обработки первичных результатов. Датчики фирмы Dallas имеют отличную точность (0,5°С), требуют всего 2 провода (земляной и сигнальный), выдают данные в цифровом виде. Конечно, связь по однопроводному интерфейсу без использования аппаратной поддержки требует более сложного программного обеспечения, но из-за относительной медлительности интерфейса и за счет использования в связи с этим системы прерываний нагрузка на процессор получается минимальной.

Прочие элементы.

Цифровые микросхемы регистров, дешифраторов можно использовать любые из ТТЛ, ТТЛШ, КМОП-логики, серий 555, 1533, 1554.

Резисторы с допуском 5-10% - типа МЛТ, С2-23 соответствующей мощности; конденсаторы: электролитические К50-35 или импортные аналоги VISHAY, JAMICON и др., в цепях питания для подавления помех К10-17б.

Остальные элементы - по назначению, с подходящими конструктивными, технологическими, электрическими параметрами.

2.2 Разработка принципиальной схемы устройства

Принципиальная схема устройства представлена на листе 2 Графического приложения. Практически все элементы схемы установлены в соответствии с технической документацией на микросхемы. Расчету подлежит только блок ключевых элементов.

Блок силовых ключей собран на транзисторах VT1 - VT16 типа КТ816А. Максимальный ток IКЭ = 1 А, напряжение UКЭ = 25В. Резисторы R4 - R19 ограничивают ток базы при подаче на вход канала напряжения лог. “0”. Минимальный ток базы, необходимый для насыщения транзистора, равен:


Сопротивление токоограничивающего резистора равно:


По ряду E24 выбираем сопротивление резистора 470 Ом.

Остальные элементы схемы устанавливаются в соответствии с технической документацией на соответствующие ИМС, и расчета не требуют.

2.3 Разработка алгоритма работы микроЭВМ

Алгоритм работы микроЭВМ должен обеспечивать следующие функции:

заполнение сдвигового регистра столбцов данными, соответствующими текущей строке;

поочередное включение строк светодиодной матрицы при динамическом формировании изображения;

формирование изображения на матрице в соответствии с текущем режимом работы;

чтение Flash-памяти при отображении текста бегущей строки;

учет текущего времени суток и автоматическая коррекция хода часов;

поддержка однопроводного интерфейса;

периодическое считывание показаний температурного датчика;

обеспечение связи с ПК по интерфейсу RS-232, по протоколу Modbus;

выполнение команд, прием и выдача данных на ПК;

обслуживание дополнительных кнопок подстройки часов.

Это глобальные задачи, каждая из которых решается независимо друг от друга. Каждая из них включает в себя множество подзадач, сложных и простых, из которых складывается работа микроЭВМ в целом.

Рассмотрим принцип динамического формирования изображения на светодиодной матрице, управляемой сигналами строк (аноды) и столбцов (катоды). Формирование изображения и вывод его на дисплей - две разные задачи, которые стыкуются между собой с помощью буфера в оперативной памяти - т.н. видеопамяти. Она представляет собой просто область ОЗУ, в которой каждый бит определяет состояние соответствующего ему светодиода. Первая задача - формирование изображения - отвечает за заполнение этой видеопамяти определенными значениями; вторая задача - вывод на дисплей - считывает эту видеопамять и управляет светодиодами.

Поскольку доступ к информации осуществляется побайтно, т.е. группами по 8 бит, а число строк в разрабатываемом устройстве также равно 8, то само собой напрашивается решение представлять состояние каждого столбца в виде отдельного байта, где их число равно общему числу столбцов. Таким образом, чтобы сдвинуть "бегущий" текст на одну позицию влево, достаточно информацию, хранимую в видеопамяти, сдвинуть на один байт в сторону "левого" байта. Шрифт текста бегущей строки представляет собой символы размером 5 х 7 точек. Исключение составляют некоторые большие символы, такие как русская заглавная буква "Д" и др., где требуется 8 строк. Каждый символ текста на матрице занимает 5 столбцов; расстояние между символами одинарное, в один столбец. Изображение каждого символа хранится в энергонезависимой памяти, в специально отведенной для этих целей области, называемой знакогенератором. Каждый символ занимает 5 байт; таким образом требуется 5 х 256 = 1280 байтов.

Текст бегущей строки выводится справа налево; от старших байтов видеопамяти в сторону младших. Поэтому когда символ уже находится в пределах матрицы, обращения к знакогенератору не происходит: его изображение с определенной скоростью перемещается по видеопамяти, пока не выйдет совсем. Чтение знакогенератора требуется, чтобы "ввести" символ в рабочее поле. Это делается следующим образом. На самом деле видеопамять имеет несколько большую длину, как раз на ширину символа. Невидимые столбцы (5 шт) располагаются справа от матрицы, т.е. они занимают самые старшие 5 байт видеопамяти. При сдвиге изображения на один столбец влево они также участвуют в работе, но остаются невидимыми. Через каждые 6 сдвигов, когда эта область будет пуста, происходит обращение к памяти текста. Для этого организуется специальный счетчик, который указывает на текущую позицию символа в тексте. Его размерность равна слову, т.е. 2 байтам. Перед запуском бегущей строки этот счетчик (другими словами: "бегунок", позиция курсора, указатель и пр.) инициализируется, т.е. указывает на самый первый символ текста. Считанный ASCII-код символа затем умножается на 5, чтобы получить начальный адрес в памяти знакогенератора, где находится его изображение. Считанные 5 байтов знакогенератора копируются в старшие 5 байтов видеопамяти, заполняя опустевшее место самого правого, невидимого символа. Когда достигается граница текста, что проверяется простым сравнением счетчика текущей позиции с длиной текста, заполнение отключается - при сдвиге видеопамяти она заполняется нулями.

Немного по-другому происходит формирование изображения при выводе текущего времени суток и температуры. Время представляется в формате ЧЧ:ММ:СС. Учет текущего времени осуществляется в процедуре прерывания от системного таймера, который настроен точно на частоту 1 Гц. Самому устройству "знать" время нет необходимости, поэтому в памяти время хранится в виде, оптимальном для процедуры формирования изображения. Всего выделяется 6 байт: 2 для значений часа, 2 - для минут и 2 - для секунд. 2 байта нужны для раздельного хранения значений единиц и десятков. При отображении времени и температуры изображение статично, т.е. не сдвигается ни в какую сторону. Позиция каждого символа на матрице определена заранее и не меняется. Для заполнения видеопамяти изображением времени и температуры используется всего одна отдельная процедура. Она последовательно символ за символом "печатает" текст на изображении. Примерное изображение приведено на рисунке 2.

Рисунок 1 - Вывод текущего времени и температуры.

Первым обрабатывается счетчик десятков часов. Значение десятков часов (на рис.2 оно равно 1), представленное в двоичном коде 0x0116, преобразуется в ASCII-код 0x31 путем простого прибавления числа 0x30 (см. таблицу ASCII-кодов). Затем это значение используется как адрес при обращении к ПЗУ знакогенератора, где считываются 5 байтов изображения. Эти значения копируются в область видеопамяти, начиная с 12-ого байта. Так на дисплее появляется изображение цифры "1". Далее обрабатывается счетчик единиц часов. После этого в байтах с адресами 24 и 25 записывается значение 0x36 - это изображение двоеточия, разделяющего минуты от часов. И так далее.

Аналогично выводится температура, но здесь требуется преобразование форматов. Датчик температуры типа DS1820 выдает значение в своем, специфическом формате.

Рисунок 2 - Формат представления температуры датчика DS18B20.

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

Только после этого двоичный код преобразуется в двоично-десятичный, состоящий из трех разрядов - байтов. Печать этих байтов осуществляется аналогично выводу времени. Преобразование в двоично-десятичный код, в особенности дробной части числа, будет рассмотрено в следующей главе. В зависимости от знака, на дисплей перед температурой выводится символ "+" или "-".

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

Теперь о непосредственном выводе изображения. Для этого используется таймер, работающий с периодом 400 Гц. Каждые 2,5 мс вызывается процедура, которая включает очередную строку светодиодов. Т.к. строк 8, то регенерация всего изображения будет происходить за 20 мс, т.е. с частотой 50 Гц. Эту частоту можно изменить, установив соответствующий параметр.

Перед включением следующей строки предыдущая гасится. Затем в цикле, который выполняется с запретом любых прерываний для скорейшего завершения, из видеопамяти последовательно считываются байты. Из них выделяется только один бит, соответствующий текущей строке. Младший бит соответствует верхней строке, старший - нижней. Этими битами заполняется сдвиговый регистр, после чего строка включается. Это осуществляется подачей на анодный строковый сигнал напряжения питания светодиодной матрицы. Столбцовые ключи коммутируют катоды светодиодов на "землю".

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

Одна из задач микроконтроллера - работа с внешней Flash-памятью. Ее подключение осуществляется по SPI-интерфейсу, а обмен данными выполняется по командам.

Таблица 6 - Система команд Flash-памяти AT25640.

Имя команды

Код команды

Описание

WREN

0000 X110

Разрешение записи

WRDI

0000 X100

Запрет записи

RDSR

0000 X101

Чтение регистра состояния

WRSR

0000 X001

Запись регистра состояния

READ

0000 X011

Чтение данных

WRITE

0000 X010

Запись данных


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

Довольно сложной задачей является поддержка работы однопроводного интерфейса. Он достаточно медленный, а одно обращение к датчику температуры занимает минимум 5 мс. Поэтому для приема и выдачи битов используется прерывание от вспомогательного таймера. Кроме того, обмен данными осуществляется по специальному протоколу, которого также нужно придерживаться. Линейным программированием здесь хороших результатов не добьешься, т.к. помимо обслуживания датчика, микроконтроллер выполняет целый ряд других, не менее важных задач. Выходом из положения стало использование принципа "автоматного" программирования. Программный код, отвечающий за обслуживание однопроводного интерфейса, разбит на отдельные блоки, называемые состояниями. Микроконтроллер в части касающейся может быть только в одном состоянии, т.е. периодически выполняет один и тот же блок. Переходы между состояниями зависят от разных условий, что и дало название автоматного программирования по аналогии с автоматами на жесткой логике в схемотехнике. Кроме этого, используются некоторые специальные приемы, облегчающие программирование и значительно сокращающие время на обслуживание.

Рассмотрим задачу подключения к ПК через последовательный интерфейс RS-232. Связь осуществляется по протоколу Modbus. С использованием этого протокола информация передается группами, называемыми пакетами. Существуют две разновидности Modbus, отличающиеся способом кодирования байтов: Modbus RTU и Modbus ASCII. В RTU-режиме каждый байт передается как есть. Появление ошибок определяется циклическим избыточным кодом CRC. Достоинством этой схемы является более высокая скорость передачи по сравнению с ASCII-режимом, но требует большей вычислительной мощности от ЭВМ из-за использования CRC-кода. В ASCII-режиме каждый байт передается двумя ASCII-кодами шестнадцатеричного представления. Обнаружение ошибок обеспечивается линейным циклическим кодом LRC, который представляет собой простую сумму всех байт пакета (за исключением первого и последнего) без учета переноса.

Каждый пакет состоит из полей:

Признак начала пакета - символ ":" (только в ASCII-режиме)

Адрес устройства

Код функции

Адрес

Данные

Контрольная сумма

Признак конца пакета - символы CRLF (только в ASCII-режиме).

Хотя в RTU-режиме фактическая скорость передачи информации выше почти в 2 раза, режим ASCII предпочтительнее использовать в микроконтроллерных устройствах. Это обусловлено его простотой, большей надежностью, лучшей синхронизацией, более легким исполнением на ассемблере, хотя, конечно, кодирование каждого байта в виде двух кодов и декодирование на приеме значительно усложняют процедуры приема-отправки сообщений. В остальном ASCII-режим предпочтительнее.

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

2.4 Разработка исходных текстов программ микро-ЭВМ

В нашем устройстве были использован микроконтроллер фирмы ATMEL, который имеет развитые средства поддержки, разработки и отладки. К ним относится среда проектирования программ для AVR микроконтроллеров, называемая AVR Studio ver. 4.12 SP3. Это чрезвычайно удобная среда проектирования предназначена для написания ассемблерных и Си-программ для МК, и их отладки. Программирование осуществляется по интерфейсу RS-232 с помощью программатора AVRISP. Исходный текст ассемблерной программы для микроЭВМ приведен в Приложении В. На каждое действие в программе даны комментарии, облегчающие понимание программы. Широко используются макросы, значительно сокращающие объем текста, что повышает читаемость программы.

Вся программа разбита на модули, каждый из которых предназначен для решения своей задачи:.avr- главный модуль программы.avr- набор макросовx.avr- модуль работы с датчиками серии DS18x.avr- описание команд работы с ПК.avr- обслуживание протокола modbus.avr- набор математических процедур

При разработке программы были решены некоторые необычные, сложные задачи, например, перевод дробной части числа из двоичного формата в десятичный. Эта процедура находится в модуле math.avr. Простой перевод из двоичного в двоично-десятичный формат даст неправильный результат. К примеру, число 0x01 для целой части означает число, равное 1. При дробном представлении двоичный код 0x01 равен 2-8=0,00390625. Это есть вес младшего разряда. Соответственно, вес старшего разряда равен 0,5. Нам такое большое число цифр после запятой не нужно - достаточно четырех, из которых впоследствии можно использовать любое из них. Таким образом, двоичный код, например, 0x80 должен дать цифру 5000, представленную в двоично-десятичном формате. Но сначала нам надо преобразовать дробное представление хотя бы в обычное двоичное. Это осуществляется в цикле, который повторяется 8 раз - по числу дробных разрядов. Если в текущем разряде стоит "1", то его вес прибавляется к общей сумме, которая перед запуском цикла обнуляется. Вес старшего разряда равен 5000 (500 для трех разрядов, 50 тыс. для пяти разрядного числа и т.д.). При переходе к следующему, более младшему разряду, текущий вес понижается в 2 раза. Деление на 2 заменяется простой операцией побитного сдвига вправо.

Есть другой способ - просто умножить двоичное представление дробного числа на 5000 и откинуть младший байт. Но это потребует 16-битной операции умножения, т.е. 16 тактов вместо 8.

В остальном работа программы понятна из комментариев, данных почти в каждой строке.

2.5 Разработка программы для ПК

Для программирования бегущей строки используется персональный компьютер. Связь с ПК осуществляется через USB адаптер подключаемый к COM-порту устройства, по интерфейсу RS-232. Программа обслуживания бегущей строки разработана в среде Delphi 6.0. Она содержит всего 2 формы: основную и редактор шрифта. В основной форме пользователь может прописать текст бегущей строки, задать скорость ее движения и интервал между повторами. Кроме того, предоставляется возможность синхронизации с панелью, когда ее изображение копируется на экран ПК. В этом режиме можно увидеть в удаленном режиме, что именно отображается на панели в каждый момент времени.

Любая программа на Delphi состоит из модулей. В разработанной программе имеется 4 модуля:

модуль обслуживания основного окна интерфейса;

модуль обслуживания редактора шрифта;

модуль обслуживания COM-порта ПК;

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

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

байт с кодом 0x3A, или символ ':' (двоеточие);

код функции - 1 байт;

данные (от 0 до 120 байтов);

контрольная сумма (1 байт);

байт с кодом 0x0A или 0x0D ("возврат каретки" или "перевод строки").

Код функции определяет действие, которое должно выполнить строка. В ответном пакете этот код функции повторяется, т.е. ПК всегда знает, что выполнило, или какие данные отправило устройство.

Программный модуль ComPort.pas обеспечивает работу с COM-портом. Практически весь модуль взят из книги [12]. Он описывает процедуры захвата порта, работы с ним (прием / передача байтов), работу с дополнительными сигналами порта (DTR, DTS, RTS, CTS, RI, CD), освобождение порта. Преимущество этого модуля состоит в том, что он практически не тормозит центральный процессор, вся работа с портом осуществляется асинхронно, т.е. необходимые процедуры или функции вызываются при появлении соответствующих условий. Для этого используется поток (TThread). Он непрерывно отслеживает состояние COM-порта, и вызывает всего 2 процедуры:

TReadByteEvent - по поступлению нового символа по COM-порту;

TChangeStateEvent - по изменению сигналов на входах порта.

Программный модуль Modbus.pas работает с массивами данных, структурированных по правилам протокола Modbus. Он является связующим звеном между программой на ПК и программой на контроллере бегущей строки. Чтобы отправить данные на устройство, этот модуль принимает от основной программы (модуль main.pas) запрос в виде массива данных, в котором указаны:[0] - длина данных, или общее количество байт для отправки;[1] - код функции;[2..255] - данные функции.

Этот запрос преобразуется в кадр, т.е. производится кодирование информации, добавляются служебные символы в начало и конец кадра, вычисляется контрольная сумма. Затем этот запрос отсылается в COM-порт. Здесь COM-порт представляется в виде файла, в который можно записать неограниченное число байт. Один за другим эти байты будут отправлены с порта, в том порядке, в каком они были записаны в этот файл.

Ответный кадр от устройства приходит уже в виде отдельных байтов, из которых модуль Modbus должен сложить правильный кадр. Любые байты, приходящие с порта, будут игнорироваться до тех пор, пока не будет принят символ с кодом 0x3A. Это признак начала пакета, после которого остальные байты будут помещаться в специальный буфер RxPack[0..255] до приема символа с кодом 0x0A или 0x0D. За эти действия отвечает процедура OnReadByte. Когда будет принят весь кадр, за его обработку отвечает процедура ReadFrame. Эта процедура проверяет контрольную сумму, производит декодирование информации, и передачу принятого пакета на верхний (прикладной) уровень.

В основной программе (модуль main.pas) за связь с устройством отвечает процедура TForm1.OnReadFrame. Она запускается из модуля modbus.pas, и является асинхронной по отношению к остальной программе. Ее запуск всегда инициируется приемом пакета от устройства. Отправить запрос на устройство сравнительно просто: для этого надо указать код функции, данные, которые сопровождают ее (н-р, адрес или значение параметра для записи), и обязательно указать длину этого запроса в байтах. После этого вызвать процедуру MBLink.Send. И можно быть увереным, что если качество связи хорошее, это пакет обязательно дойдет до адресата и вернется в виде ответа, реакцией на который будет запуск процедуры OnReadFrame с тем же кодом функции.

В этой процедуре с помощью конструкции case .. of .. осуществляется анализ кода функции. На каждый код функции программа реагирует каким-либо соответствующим действием, н-р, отправкой следующего запроса, записью данных, или просто завершением сеанса связи. Сеанс связи - это последовательное выполнение связанных друг с другом одним смыслом запросов, приводящих к выполнению определенной задачи. Рассмотрим все типы сеансов. Текущий сеанс связи хранится в переменной Mode:

- основной режим работы, с ожиданием действий пользователя;

- опрос параметров устройства при запуске программы;

- синхронизация с панелью;

- чтение памяти знакогенератора;

- чтение FLASH-памяти устройства;

- запись данных на панель;

- верификация;

Сразу после запуска программы на ПК устанавливается режим 1 с выдачей контрольной команды check_net - проверка связи. Если связь с устройством установлена (кабель подключен, COM-порт настроен правильно, и устройство включено), то обязательно придет ответный пакет с тем же кодом функции. Эта функция "пустая", т.е. не требует от устройства никаких действия. В этом можно убедиться, если посмотреть программный код в модуле commands.asm:

.cseg_net:;Проверка связи

Однако для ПК этот код является "стартовым выстрелом" для начала работы с панелью. В процедуре OnReadFrame в ответ на приход этого кода функции формируется тут же новый запрос get_time - чтение текущего времени устройства. Устройство отвечает на него, и процедура OnReadFrame запускается еще раз, но уже с кодом get_time в принятом пакете. При обработке этого кода функции на устройство отправляется пакет get_date - чтение текущей даты устройства. На этом процесс завершается, и программа переходит в режим 0.

В режиме синхронизации с панелью каждые 0,25 сек формируется запрос read_info, на что устройство посылает 112 байтов видеопамяти. При приеме пакета на мониторе отображаются состояния всех светодиодов, т.е. пользователь видит картинку, которую "рисует" панель в данный момент времени. При этом другие команды пользователя блокируются.

Память знакогенератора имеет большой объем - 1280 байт, и не может быть считана за один раз. Поэтому это выполняется в сеансе связи с номером 3. При приеме от устройства очередной порции информации программа формирует следующий запрос, но уже с другим адресом. Устройство, приняв пакет с кодом read_sign, выдает данные из таблицы знакогенератора, начиная с адреса, указанного в функции read_sign - он идет вторым байтом пакета. Когда вся память будет считана, программа переходит в основной режим работы.

Аналогичным образом идет работа в остальных режимах, т.к. они предназначены для обмена большим объемом информации. Верификация данных - проверка на правильность записи данных. После того, как пользователь ввел текст бегущей строки и записал его в Flash-память устройства, программа проверяет правильность записи повторным чтением текста и сравнением его с исходным. При несовпадении данных программа выдает сообщение.

Вспомогательный модуль EditForm предназначен для редактирования начертаний символов. Каждый символ имеет размер 5 х 7 точек, т.е. занимает 5 байт. Пользователь может выбрать нужный символ, и нажатием мыши на графическом поле зажечь или погасить светодиод. После внесенных изменений необходимо выполнить команду записи таблицы знакогенератора, иначе они будут утеряны.

Рисунок 3 - Графическое представление программы.

Графическое представление программы представляет собой окно. Центральная часть основное рабочее поле где выводятся символы, в верхнем левом углу находится панель меню где можно отрыть, сохранить, осуществить необходимые настройки. Под рабочем полем расположена строка ввода текста в конце её расположена кнопка очистки всей строки, ниже расположены инструменты управления скорости перемещения бегущей строки, правее расположенны 2 кнопки одна из них для записи информации в память устройства, а другая для счивания с устройства. Правее расположена метка синхронизации она служит для связи и обновления информации между устройством и ПК. Делее расположена метка блокировки панели она служит для запрета или разрешения работы устройства. В нижней части окна расположена строка справочной информации: канал подключения (COM2), скорость передачи данных (19200 байт/сек), статус (поиск, проверка,готов), дата, время.

2.6 Разработка печатной платы устройства

Чертеж печатной платы приведен на листе 4 Графического приложения.

Топология печатной платы была разработана в соответствии с принципиальной схемой; для этих целей применялся САПР PCAD-2001. Эта система проектирования электронных блоков, узлов, ПП используется многими профессиональными разработчиками из-за ее многофункциональности, удобства в работе, простоте понимания.

Материал ПП - двусторонний фольгированный стеклотекстолит марки СФ-2-0,35. Основная ширина дорожек - 0,6 мм.

Похожие работы на - Модернизация информационного табло 'Бегущая строка'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!