5.2 Разработка управляющей программы
При разработке программы использовался программный продукт 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 23KK 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 ;вызов подпрограммы Trevogagoto Start
Og: call Ogid ;вызов подпрограммы Ogidgoto 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
... ставкам. 7.2. Локальная смета Таблица 5. Наименование стройки – музей Г.Р. Державина по адресу: наб. р.Фонтанки, 118. ЛОКАЛЬНАЯ СМЕТА на приобретение, монтаж и пусконаладочные работы системы охранной сигнализации Сметная стоимость - 1365,059 тыс.руб Нормативная трудоемкость - 6652,87 чел-ч Сметная заработная плата - 415,896 тыс.руб Составлена в ценах 2005 г. № ...
... информации о количестве полученной потребителем или выработанной производителем тепловой энергии, температуре, давлении, объеме (массе) теплоносителя и о времени работы в открытых и закрытых водяных системах теплоснабжения при давлениях до 1,6 МПА (16 кгсм2) и температурах до +150 °С. Область применения - теплоэнергетика, системы коммерческого учета расхода горячей воды и тепловой энергии, ...
... настройки процесса работы МП. - микроконтроллер – ядро всего устройства, содержащее необходимую информацию в виде программного кода, записанного во встроенное ПЗУ, в котором прописан алгоритм работы системы. - считыватель ключей – устройство, с помощью которого система сигнализации ставится/снимается в режим охрана. 8) Конструкторские требования (габариты, установочные, присоединительные ...
... сигналами времени. Ядро предлагает интерфейс для программирования приложения с целью получения функций в виде отдельных программ. 1.2 Разработка автоматизированной системы управления электроснабжением КС «Ухтинская» 1.2.1 Цель создания АСУ-ЭС Целью разработки является создание интегрированной АСУ ТП, объединяющей в единое целое АСУ электрической и теплотехнической частей электростанции, ...
0 комментариев