Блок-схема алгоритма работы МПСУ представлена на рисунке 14.
Рисунок 14 – Блок-схема работы МПСУ
4.2 Листинг программы
list p=16f873
include<p16f873.inc>
org 0x00
goto start
org 0x04
goto interrupts
org 0x05
;-----------------------------------------------------------------------------;
; начальная инициализация
;-----------------------------------------------------------------------------;
start
; reset портов
bcf STATUS,RP0 ; банк 0
clrf PORTB ; инициализация защёлок PORTB
clrf PORTC ; инициализация защёлок PORTC
; инициализация портов
bsf STATUS,RP0 ; банк 1
movlw b'10000001' ; настройка линий PORTB на вход/выход
movwf TRISB
movlw b'10000000' ; настройка линий PORTСB на вход/выход
movwf TRISC
; инициализация АЦП
bcf STATUS,RP0 ; банк 0
clrf PORTA ; инициализация защёлок PORTA
bsf STATUS,RP0 ; банк 1
movlw b'00111100' ; входы RA0 и RA1 – аналоговые
; входы RA2:RА5 – цифровые
movwf ADCON1
bcf STATUS,RP0 ; банк 0
movlw b'00000001' ; включение АЦП
movwf ADCON0
; инициализация подсистемы прерываний
movlw b'11111000' ; глобальное разрешение прерываний
; разрешение прерываний от периф. модулей
; разрешение прерывания по переполнению TMR0
; разрешение внешнего прерывания INT
; разрешение прерывания по изм. сигнала на вх. RB7
movwf INTCON
bsf STATUS,RP0 ; банк 1
movlw b'00101000'
movwf PIE1
; инициализация USART
bsf STATUS,RP0 ; банк 1
movlw b'00000100' ; асинхронный высокоскоростной режим
; восьмиразрядная передача
movwf TXSTA
movlw b'00110010' ; скорость обмена данными 9600 бит/с
movwf SPBRG
bcf STATUS,RP0 ; банк 0
movlw b'10110000' ; восьмиразрядный приём
movwf RCSTA
; инициализация таймера TMR0
clrf TMR0 ; сброс TMR0
bsf STATUS,RP0 ; банк 1
movlw b'10000111' ; выключить подтягивающие резисторы на PORTB
; прерывания по заднему фронту сигнала на RB0
; TMR0 инкрементируется от внеш. сигнала
; предделитель 1:256
movwf OPTION_REG
;-----------------------------------------------------------------------------;
; обьявление переменных
;-----------------------------------------------------------------------------;
;-----------------------------------------------------------------------------;
; основная программа
;-----------------------------------------------------------------------------;
bcf STATUS,RP0
btfss PORTB,7 ; проверка закрытия замка вх. двери
bsf PORTB,6 ; сигнал на закрытие вх. двери
Begin
проверить и обработать температуру воздуха
btfss PORTA,2 ; проверка сигнала на включение света
bcf PORTB,5 ; сигнал на включение освещения
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.