Читайте также:
|
|
Тапсырма. Бояу камерасын автоматтандыру процесінің программасын құруда келесі жұмыстар орындалсын:
- қорек көзін қосқанда оператор пультіндегі L2 жарықтық және S1 дыбыстық сигнализацияны қосу;
- 2 секундтан кейін сиренаны өшіріп бояубүріккіштің D1 қозғалтқышын, вентилятор қозғалтқышын D2 және боялғаны жайлы сигнал беретін L1 лампасын қосу керек;
- үш секундтан кейін бояубүріккіштің қозғағалтқышын D1 өшіру;
- енді 2 секундтан кейін D2 вентиляторын және L1 лампасын өшіру;
- камерадағы затты ауыстыру үшін 1 секундқа пауза жасау;
- сирена қосылғаннан бастап жаңа затты бояуды қайта бастау.
3.1 суретте құрылғылардың PORTC регистрінің биттеріне жалғану сұлбасы келтірілген.
3.1 сурет – Құрылғыларды жалғау сұлбасы
3.2 сурет – Бояу камерасының уақыттық диаграммасы
Л3 программасы:
include<p16F877.inc>; РСН символдық аттары сипатталған файл.
; Жалпы қызмет регистрлерінің символдық аттарының сипаттамасы
Sch_in EQU H'22'; тежеудің ішкі циклының санағышы.
Sch_out EQU H'24'; тежеудің сыртқы циклының санағышы.
Sch3 EQU H'23'; тежеудің үшінші циклының санағышы.
МБ стандартты нұсқаулары көрсетілмеген.
; Программаның жұмысшы бөлігі
MOVLW B'10000000'
MOVWF PORTC; оператор пультіндегі L2 сигнализациясын қосу.
Sled_det BSF PORTC, 0; S1 дыбыстық сигнализацияны қосу.
MOVLW d’40’; W-ға таймера уақытын береміз. Қадамдық режим
; үшін d’2’ алу керек.
CALL Timer
MOVLW B’10001110’
MOVWF PORTC; S1 өшіріп, D1, D2 және L1 қосу.
MOVLW d’60’; бояу уақытын береміз.
CALL Timer
BCF PORTC, 2; D1 өшіреміз, D2, L1 және L2 жұмыс істей береді.
MOVLW d’40’; D2 және L1 жұмыс уақытын береміз.
CALL Timer
MOVLW B'10000000'
MOVWF PORTC;бояу аяқталды, L2 сигнализациясы жұмыс істеуде.
MOVLW d’20’; затты ауыстыру уақытын береміз.
CALL Timer
GOTO Sled_det; жұмысты қайталау үшін Sled_det белгісіне ауысу.
; Ішкі программа
Timer; Timer ішкі программасы. Екі ішкі цикл қолданылды.
MOVWF Sch3; W мәні ішкі программа үшін аргумент.
M3 MOVLW D'150'
MOVWF Sch_out; сыртқы санағыштың мәнін орнатамыз.
M_out; сыртқы санағыштың белгісі.
MOVLW D’255';
MOVWF Sch_in; ішкі санағыштың мәнін орнатамыз.
M_in; ішкі санағыштың белгісі.
DECF Sch_in, F; Sch_in санағыштың мәнін 1-ге кемітеміз.
BTFSS STATUS, Z;егер Sch_in=0 болса (Z=1), GOTO-ды аттап кетеміз.
GOTO M_in; Z=0 болғанда ғана орындалады.
DECF Sch_out, F; Sch_out санағыштың мәнін 1-ге кемітеміз.
BTFSS STATUS, Z;егер Sch_out=0 болса (Z=1), GOTO-ы аттап кетеміз
GOTO M_out; Z=0 болғанда ғана орындалады.
DECF Sch3, F; Sch3 санағыштың мәнін 1-ге кемітеміз,
BTFSS STATUS, Z; егер Sch3=0 болса (Z=1), GOTO-ды аттап кетеміз.
GOTO M3; Z=0 болғанда ғана орындалады.
RETURN; Timer ішкі программасының соңы.
END
Құрылғыларды нұсқаға сәйкес уақытқа өшіріп, қосатын программа құрыңыз. Жоғарыда жызылған программаны өзгертіңіз.
3.1 кесте – Тапсырма нұсқалары
Дата добавления: 2015-07-19; просмотров: 81 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | | | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат |