_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Регистратор дискретных сигналов

Регистратор дискретных сигналов

Страница: 3/5

 

L – Сигнал низкого уровня

H – Сигнал высокого уровня

 

В качестве блока цифровых индикаторов используется блок АЛС318.

Этот блок состоящий из 9 индикаторов с общим катодом. На входы А-G подается код для высвечивания цифры. Соответствие сегментов цифры и входов показано на рисунке.

                                                Индикаторы работают в динамическом режиме,

          А                т. е. Включаясь последовательно с большой частотой

                                       Номер текущего индикатора задается путем подачи

    F    G     В         низкого уровня на входы К1-К9 (соответственно

                                       порядковому номеру индикатора.

    E           С

 

                    D

 

          2.4 Конструкция устройства.

 

 

Расположение элементов напечатной плате показано на рисунке  4. Обозначения соответствуют обозначениям на принципиальной электрической схеме. Разъемы для подключения внешних устройств и питания находятся на корпусе прибора и соединяются с платой шлейфами.

 

 

 

3. Программное обеспечение микроконтроллера.

 

          3.1. Логическая структура устройства

 

После включения устройства начинает работать программа начальных установок . Производится сброс всех регистров и установка начальных параметров работы программы. После чего выполнение программы останавливается и происходит ожидание ввода данных включения/выключения каналов через последовательный порт СОМ. По окончании ввода программа вновь останавливается до нажатия кнопки ПУСК. После ее нажатия сначала запускается счетчик времени а затем основной цикл вывода времени на индикатор. Программа постоянно находится в этом цикле, а отсчет времени и проверка включения/выключения каналов производится по прерыванию таймера С/Т0.

          Таким образом в работу системы можно разделить на три основных части:

1.     Включение, установка начальных параметров и ожидание ввода данных.

2.     Ввод данных, пуск и переход к основному циклу программы.

3.     Обработка прерывания таймера.

 

Первые две части работы системы можно описать следующим алгоритмом (на схеме изображена логика работы программы, далее приводится подробное описание алгоритма ее работы)

 

 

Алгоритм работы программы

 

 

[Инициализация порта и ввод данных]

M1:    While (RI=0) do {  };

A := SBUF;

RI :=0;

C := A.3;

R0 := 20H+A*4;

For ( i = 0 to 4) do {

While (RI=0) do {  };

A := SBUF;

RI :=0;

          Write (@R0, A);

          R0 := R0+1; }

          If (C=0) then goto M1;

          While (P3.4 = 1) do { };

[Инициализация и пуск таймера]

          TMOD := 1

          TF0 := 0

          TL0 := low(15000);

          TH0 := High(15000);

          ET0 := 1

          TR0:= 1

[Индикация времени]

M2:    A := R4;

          Gosub INDRAS             [блок преобразования числа в код по одной цифре

[  Для вывода на индикатор (будет описан далее)]

          P1/4 := 0 ; P1.5 :=0

P1 := A

Pause 5(ms)

P1 := B

P1/5 :=1

Pause 5(ms)

A := R3;

          Gosub INDRAS      

          P1/4 := 1 ; P1.5 :=0

P1 := A

Pause 5(ms)

P1 := B

P1/5 :=1

Pause 5(ms)

Goto M2

 

 

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

Бит С служит показателем конца ввода данных с ком-порта (1 – последний канал, ноль – не последний канал). Сохранение времени включения и выключения для нулевого канала начинается с ячейки с адресом 20Н; сначала записываются часы, затем минуты включения, затем часы и минуты выключения. Таким образом для каждого канала в памяти отводится 4 байта, общее количество оперативной памяти используемое программой 32 байта. Структура использования памяти описана в следующей таблице:

 

Адрес

Содержимое

Адрес

Содержимое

20h

Таймер 1 часы включения

21h

Таймер 1 минуты включения

22h

Таймер 1 часы выключения

23h

Таймер 1 минуты выключения

24h

Таймер 2 часы включения

25h

Таймер 2 минуты включения

26h

Таймер 2 часы выключения

27h

Таймер 2 минуты выключения

28h

Таймер 3 часы включения

29h

Таймер 3 минуты включения

2Аh

Таймер 3 часы выключения

2Bh

Таймер 3 минуты выключения

2Ch

Таймер 4 часы включения

2Dh

Таймер 4 минуты включения

2Eh

Таймер 4 часы выключения

2Fh

Таймер 4 минуты выключения

30h

Таймер 5 часы включения

31h

Таймер 5 минуты включения

32h

Таймер 5 часы выключения

33h

Таймер 5 минуты выключения

34h

Таймер 6 часы включения

35h

Таймер 6 минуты включения

36h

Таймер 6 часы выключения

37h

Таймер 6 минуты выключения

38h

Таймер 7 часы включения

39h

Таймер 7 минуты включения

3Ah

Таймер 7 часы выключения

3Bh

Таймер 7 минуты выключения

3Ch

Таймер 8 часы включения

3Dh

Таймер 8 минуты включения

3Eh

Таймер 8 часы выключения

3Fh

Таймер 8 минуты выключения