Читайте также:
|
|
Жабынды жабу сигналын МЭО-ға PORTC,0 разряды арқылы жібереміз. Жабынды ашу сигналын МЭО-ға PORTC,1 разряды арқылы жібереміз. Программаның бұл бөлігін ішкі программа түрінде жасаймыз. МЭО айналуын басқару үшін «В» және «М» латын әріптерін 0 және 1 арқылы кодтау ерекшеліктерін қолданамыз. «В» әрпінің бірінші разрядында 1 бар, ал «М» нөлінші разрядында 1 бар.
Л5 газ шығынын реттеу программасының фрагменті. МБ-тың стандартты реттеулері келтірілмеген.
;SHAG, DAVLENIE, FAKT_RASKHOD регистрлеріне мәліметтерді енгізу
MOVLW D'2'
MOVWF SHAG; қосылғыштардың өзгеру қадамы.
MOVLW D'14'
MOVWF TREB_RASKHOD; газдың қажетті шығыны.
MOVLW D'8'; газ қысымының мәнін.
MOVWF DAVLENIE;адреске жазамыз.
MOVWF CHISLO; SQRT ішкі программасы үшін.
; Программаның ішкі бөлігі
CLRF NAPRAV_MEO
CLRF FAKT_RASKHOD
CLRF PORTC
CALL SQRT;түбірді артық есептейміз.
CALL VYCH_OB’EM;көлемді есептейміз.
CALL MEO; МЕО басқаруды орындаймыз.
GOTO$
SQRT;түбірастын есептеу ішкі программассы. Кірісі – CHISLO, шығысы – KOREN.
MOVLW D'1'
MOVWF SLAGAEMOE; бірінші қосылғышты 1-ге тең етіп аламыз.
MOVWF SUM; қосынды да 1-ге тең.
MOVWF KOL_SLAG; қосылғыштар саны да 1.
Sled_slag INCF KOL_SLAG, F; қсылғыштар санын өсіреміз.
MOVF SLAGAEMOE, W
ADDWF SHAG, W;келесі қосылғыштың мәнін есептейміз.
MOVWF SLAGAEMOE;жаңа қосылғышты сақтаймыз.
ADDWF SUM, W; W= SLAGAEMOE+W
MOVWF SUM; қосылғыштардың жаңа қосындысын сақтаймыз.
; Келесі циклға дайындық
SUBWF CHISLO, W;
BTFSC STATUS, C; CHISLO және SUM-ның қайсысы үлкен екенін анықтаймыз.
GOTO Sled_slag; С=1 болса орындалады, цикл қайталанды.
MOVF KOL_SLAG, W; C=0 кезінде циклдан шығамыз.
MOVWF KOREN; артық түбірді белгілейміз
RETURN
VYCH_OB’EM; K=4 үшін V=4×KOREN газ көлемін есептеу ішкі программасы.
MOVF KOREN, W; кірісі– KOREN, шығысы - FAKT_RASKHOD.
MOVWF FAKT_RASKHOD
BCF STATUS, C
RLF FAKT_RASKHOD, F;екіге көбейтеміз.
BCF STATUS, C
RLF FAKT_RASKHOD, F;тағы екіге көбейтеміз.
RETURN
MEO; МЭО айналу бағыты "B" немесе "M" екенін анықтау ішкі программасы
MOVF TREB_RASKHOD, W; қажетті шығынды W-ға жібереміз.
SUBWF FAKT_RASKHOD, W; W= Fakt_Raskhod - Treb_Raskhod.
MOVLW b'01001101'; "М" әрпінің коды, жабынның ашылуын азайтамыз.
BTFSS STATUS, C; C = 1?
MOVLW b'01000010'; C=0 кезінде, "В" әрпінің коды, жабынды ашамыз.
MOVWF NAPRAV_MEO; айналудың бағытының символын сақтаймыз.
ANDLW b'00000011'; маскамен МЭО-ға қажетсіз разрядты тазартамыз.
MOVWF PORTC; басқару импульсын МЭО-ға жібереміз.
RETURN
Timer; бұл ішкі программа келтірілмеген.
END
Дата добавления: 2015-07-19; просмотров: 96 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | | | Жұмысты орындау тәртібі |