62650 (588810), страница 8
Текст из файла (страница 8)
Рис.5.11. Структурная схема алгоритма подпрограммы PROV
В ней производится последовательное сравнение содержимого ячеек памяти VK0, VK1, VK2 и VK3 с содержимым ячеек NK0, NK1, NK2 и NK3 соответственно. При совпадении содержимых устанавливается флажок KVER=1, в противном случае KVER=0 и происходит выход из подпрограммы.
Прерывания от таймера обрабатывает подпрограмма OPTMR1. Структурная схема алгоритма приведена на рис.5.12. Она начинается с уменьшения счетчика сброса SSBR на единицу. Далее следует проверка на ноль. Если SSBR=0, то осуществляется запрет прерывания от таймера и переход на метку MET1, в противном случае происходит запуск таймера с предделителем на 8 и выход из подпрограммы.
Рис.5.12. Структурная схема обработки прерывания от таймера TMR1
Структурная схема подпрограммы работы с клавиатурой RUNKEY приведена на рис.5.13. Начинается подпрограмма с опроса клавиатуры. Затем осуществляется анализ кода нажатой клавиши.
Если он равен 10, то это значит, что нажата клавиша «Т» - «передача». При этом подается сигнал на включение светодиода, запрещается прерывания от детектора правильного кода, включается передатчик, осуществляется передача идентификационного номера автомобиля, для контроля доступа на охраняемую автостоянку, выключается передатчик, разрешаются прерывания от детектора правильного кода, включается подпрограмма задержки на 0,5 секунды, выключается светодиод и вновь осуществляется опрос клавиатуры.
Если код нажатой клавиши не равен 10, то запускается режим AHJ. При этом загружается счетчик сбросов SSBR числом 57, разрешается прерывание от таймера, запускается таймер с предделителем на 8, подается сигнал на включение светодиода, сбрасывается содержимое ячеек памяти VK0, VK1, VK2 и VK3 в ноль и передается управление подпрограмме INKEY по метке MET2.
Рис.5.13. Структурная схема алгоритма подпрограммы RUNKEY.
-
Разработка управляющей программы
При разработке программы использовался программный продукт MPLAB v.3.22 производства фирмы Microchip. Он представляет собой интегрированную среду, включающую в себя программный эмулятор, внутрисхемный эмулятор и встроенный текстовый редактор и распространяется свободно этой фирмой. Этот пакет поддерживает серии микроконтроллеров, начиная с PIC 16C5X и заканчивая PIC 17CXX. При разработке и отладке использовался программный эмулятор этого пакета.
Головная программа написана по алгоритму, схема которого приведена на рис.5.1.
; головная программа
list p=16c73a, f=inhx8m
#include 16c73a.inc
;-------------------------------------------------------------------------------
CC equ 20 ;присвоение символических имен
RPR equ 21 ;используемым регистрам
RPRTMR1 equ 22
SU equ 23
KK equ 24
SPER equ 25
SPOS equ 26
SPOP equ 27
SSIG equ 28
NK0 equ 29
NK1 equ 2A
NK2 equ 2B
NK3 equ 2C
VK0 equ 2D
VK1 equ 2E
VK2 equ 2F
VK3 equ 30
SN equ 31
BUK equ 32
KVER equ 33
SSBR equ 34
;--------------------------------------------------------------------------------
org 0
goto Begin ;переход к началу программы
org 4
call RZINT ;переход к обработчику прерываний
;------------------------------------------------------------------------------
Begin: bcf STATUS, RP0 ;переход к 0 банку памяти
clrf INTCON ;настройка регистров
clrf PIR2 ;специальных функций
movlw B’00111100’
movwf T!CON
bsf STATUS, RP0 ;переход к 1 банку памяти
movlw B’11000000’ ;настройка регистров
movwf OPTION ;специальных функций
clrf TRISA
movlw B’11100001’
movwf TRISB
movlw B’00110111’
movwf TRISC
clrf PCON
;----------------------------------------------------------------------------------
bcf STATUS, RP0 ;переход к 0 банку памяти
clrf PORTA ;настройка выходных портов
bcf PORTC, RC7
;----------------------------------------------------------------------------------
movlw 1
movwf CC ;начальная установка слова состояния
movlw 2
movwf SU ;начальная установка счетчика ударов
;-----------------------------------------------------------------------------------
Start: btfsc CC, 0 ;анализ слова состояния
btfss CC, 0
goto Trev
btfsc CC, 1
goto Og
call Ohrana ;вызов подпрограммы Ohrana
goto Start
Trev: call Trevoga ;вызов подпрограммы Trevoga
goto Start
Og: call Ogid ;вызов подпрограммы Ogid
goto Start
end
В состав головной программы входит подпрограмма режима охраны Ohrana. Согласно алгоритму, схема которого представлена на рис.5.2. была написана подпрограмма Ohrana. Текст ее приведен ниже.
; подпрограмма Ohrana
Ohrana:
bcf STATUS, RP0 ;переход к 0 банку памяти
bsf PORTA, RA1 ;блокирование зажигания
bsf PORTA, RA3 ;сигнал закрытия ЦЗ
call Del1 ;задержка 1 с
bcf PORTA, RA3
movlw B’10011000’ ;разрешение прерываний
movwf INTCON ;от датчиков
Mor: bsf PORTA, RA4 ;вкл. светодиода
call Del1 ;задержка 1 с
bcf PORTA, RA4 ;выкл. светодиода
call Del1 ;задержка 1 с
goto Mor
Прерывания от датчиков, таймера и детектора правильного кода будут обрабатываться подпрограммой RZINT, текст которой показан ниже. Она написана согласно алгоритму, схема которого показана на рис.5.3.
; подпрограмма RZINT
RZINT:
movf INTCON, 0 ;запоминание разрешенных
movwf RPR ;или запрещенных прерываний
movf PIE1, 0 ;
movwf RPRTMR1 ;
bcf INTCON, 7 ;запрет всех прерываний
bcf PIE1, 0 ;
btfsc INTCON, RBIF ;определение источника прерывания
goto AAA ;переход если прерывание от порта В
A11: btfsc PIR1, TMR1IF
goto BBB ;переход если прерывание от таймера
btfsc INTCON, INIF
goto CCC ;переход если прерывание от ДК
redfie ;возврат
AAA: btfss PORTB, RB5 ;определение источника прерывания
goto AA1 ;переход если прерывание от ДД
btfsc PORTB, RB6
goto BB1 ;переход если прерывание от УЛЗД
btfsc PORTB, RB7
goto CC1 ;переход если прерывание от ДУ
goto A11
AA1: movlw 2
movwf CC ;установка режима “Тревога”
goto Beg
BB1: movlw 2
movwf CC ;установка режима “Тревога”
goto Beg
CC1: call OPDU ;вызов подпрограммы OPDU
goto Beg
BBB: call OPTMR1 ;вызов подпрограммы OPTMR1
goto Beg
CCC: call OPPK ;вызов подпрограммы OPPK
goto Beg
Beg: movf RPR, 0 ;восстановление запомненных
movwf INTCON ;разрешенных или запрещенных
movf RPRTMR1, 0 ;прерываний
movwf PEI1 ;
goto Start
В состав подпрограммы обработки прерываний RZINT входит подпрограмма обработки прерывания от датчика ударов OPDU, текст которой приведен ниже а схема алгоритма на рис.5.4.
; подпрограмма OPDU
OPDU:
bsf INTCON, 7 ;разрешение прерываний от датчиков
bsf PORTA, RA5 ;включение сирены
call Del05 ;задержка на 0,5 с
bcf PORTA, RA5 ;выкл. сирены
decf SU, 1 ;декремент счетчика ударов
btfsc STATUS, Z
goto PPP ;переход если счетчик ударов равен 0
call Del3 ;задержка на 3с
movlw 2
movwf SU ;восстановление счетчика ударов
goto Start
PPP: movlw 2
movwf SU ;восстановление счетчика ударов
movwf CC ;установка режима “Тревога”
goto Start
Также в состав подпрограммы RZINT входит подпрограмма обработки прерывания от таймера TMR1. Ее текст приведен ниже, а схема алгоритма на рис.5.12.
; подпрограмма OPTMR1
OPTMR1:
decf SSBR, 1 ;декремент счетчика сбросов
btfsc STATUS, Z
goto FFF ;переход если счетчик сбросов равен 0
bcf PIR1, 0 ;сброс флага прерывания от таймера
bsf T1CON, 0 ;запуск таймера
return ;возврат
FFF: bcf PIE1, 0 ;запрет прерывания от таймера
goto MET1
6. РАЗРАБОТКА КОНСТРУКЦИИ КОДОВОГО БРЕЛКА
Целью разработки является определение габаритов, конструкции и внешнего вида кодового брелка. Для правильной и удобной компоновки пульта управления нужно учитывать рекомендации эргономики и инженерной психологии с целью приспособления изделия к человеку при полном ограждении человека от отрицательных последствий использования товара. Конструкция его должна облегчать обслуживание, наблюдение за ним и контроль. Следует также учитывать конкретную психологию процесса, т.е. наиболее рациональные условия эксплуатации, при которых снижается расход энергии пользователя и сводится к минимуму его утомление.
При конструировании пульта управления следует руководствоваться ГОСТ 16456-70, который содержит 23 эргономических показателя, и ГОСТ 22973-78.
В настоящее время имеются ГОСТы определенных эргономических требований к пультам управления и контроля, приборам и сигнализаторам, циферблатам и указателям приборов, надписям, безтекстовым обозначениям и символике, ручным и ножным органам управления и др.
Приборная панель служит, для размещения приборов, определяющих параметры работы управляемой системы. Панель следует располагать так, чтобы плоскость лицевой части индикаторов была перпендикулярна линиям взора оператора.
Кнопки применяют для быстрого включения и выключения аппаратуры, для ввода цифровой или логической информации и команд, в особенности при частом выполнении этих действий.
Поверхность кнопки должна иметь вогнутую форму, соответствующую строению пальца, и рифление для предотвращения соскальзывания. Для часто используемых кнопок наиболее удобна четырехугольная форма с закругленными углами или закругленной верхней кромкой. Редко применяемые кнопки могут иметь круглую форму. Конструкция кнопки должна обеспечивать оператору ощущение щелчка, слышимый щелчок или то и другое. Расстояние между соседними краями кнопок должно быть не менее 12 мм (при работе одним пальцем последовательно не менее 6 мм). Минимальный диаметр кнопок под указательный палец – 9 мм, под большой –18 мм.
Усилие нажатия для часто используемых кнопок равно 2,8-II Н (280 - 1100 г), для редко используемых -до 15 Н (1500 г).
Цвет кнопок должен контрастировать с цветом панели; на панели темного цвета кнопки делают светлыми (белого, серого или бежевого цвета). Светлый фон панели требует окраски кнопок в более темные или яркие насыщенные цвета.
Основные рекомендации по выбору формы и размеров кнопок приведены в ГОСТ 22624-77 "Выключатели и переключатели клавишные и кнопочные".
Сигнализатор — это индикатор, предназначенный для предъявления человеку сведений в случаях, когда требуется специальное привлечение его внимания
Пространственное размещение индикационных устройств невозможно без учета светотехнических характеристик индикаторов.
Оптимальный размер светового индикатора, предъявляемого на средствах отображения, выбирается с учетом яркости светового индикатора, величины контраста, вида контраста, сложности графического начертания знаков, использования цвета.
Для отображения информации о состоянии охраняемого предмета используем один светодиод. Для выбора цвета освещения, будем руководствоваться таблицей 6.1.
Таблица 6.1. Выбор цветов для световой индикации.
| Категории информации | Рекомендуемый цвет индикации | |
| Основной | Дополнительный | |
| Предупреждающая информация носит осведомительный характер, содержит сведения об общей обстановке (исключая аварийную) и рекомендации для принятия мер, оставляя за оператором право выбора окончательного решения. | Желтый | Белый |
| Предписывающая информация носит командный характер, требует или разрешает выполнение строгого определенных действий. К этой категории может быть отнесена информация проверочного характера, указывающая на исправность или готовность к работе тех или иных устройств. | Зеленый | Синий |
| Запрещающая информация носит аварийный характер, накладывает строгие ограничения на выполнение или запрещение тех или иных действий. Указывает на негодность к работе или неисправность того ми иного проверяемого объекта. | Красный | Оранжевый |
Исходя из предложенных требовании выбираем один светодиод, желтого цвета свечения с повышенной светоотдачей. С его помощью можно осуществить два режима работы:
-
режим нормального состояния системы — отсутствие свечения светодиода;
-
режим "ПЕРЕДАЧА" — постоянное свечение светодиода;
Для читаемости надписей необходимо выдерживать оптимальные соотношения основных параметров знака: высоты, ширины, толщины обводки. Толщина линий для знаков обратного контраста составляет 1/10 в высоте знака. Взаимное расположение линий, образующих знак, в соответствии с показателями остроты зрения влияет на читаемость знаков. Лучшим из начертаний надписей обычного типа считается шрифт Макворта, в котором наклонные линии в знаках расположены под углом в 45°, и шрифт Бергера, в котором буквы и цифры составлены прямыми линиями.















