Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Жұмысты орындау тәртібі. Программаны жөндеу.Қадамдық режимде Timer ішкі программасының уақытын

Зертханалық жұмыс тапсырмасы және берілгендер | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | Зертханалық жұмыс тапсырмасы және берілгендер | Жұмысты орындау тәртібі | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | Зертханалық жұмыс тапсырмасы және берілгендер | Жұмысты орындау тәртібі | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | Л6 программасының фрагменті. | Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат |


Читайте также:
  1. Жұмысты орындау тәртібі
  2. Жұмысты орындау тәртібі
  3. Жұмысты орындау тәртібі
  4. Жұмысты орындау тәртібі
  5. Жұмысты орындау тәртібі
  6. Жұмысты орындау тәртібі

Программаны жөндеу.Қадамдық режимде Timer ішкі программасының уақытын шектеңіз, яғни W мәнін Sch3 санағышына жазатын команданы ғана қалдыру керек. Программа жөндеуден өткеннен кейін PORTC «0» битін сирена клеммасымен қосыңыз.

7.1 суретте көресетілген бақылау терезесін құру қажет.

 

7.2 кесте – Тапсырма нұсқасы

Нұсқа Қондырғыны қосу биттері S1, D1, D2, L1, L2. Нұсқа Қондырғыны қосу биттері S1, D1, D2, L1, L2.
  1, 2, 3, 4, 5   6, 7, 0, 1, 2
  2, 3, 4, 5, 6   7, 0, 1, 2, 3
  3, 4, 5, 6, 7   0,1,2,3, 4
  4, 5, 6, 7, 0   1, 3, 5, 7, 0
  5, 6, 7, 0, 1   2, 4, 6, 0, 1

 

 

Л7 программасының фрагменттері.

include<p16F877.inc>; төменде РОН аттары, таймер үшін көрсетілмеген.

KOL_IZOL EQU h'45'; изоляторлар санын жазуға арналған регистр.

KOL_KOROB EQU h'46'; қораптар санын жазуға арналған регистр.

Inver_Bit EQU H'47'; терістелетін битті анықтайтын регистр.

_PORTC EQU H'48'; PORTC күйін сақтауға арналған регистр.

; МБ және клавиатураның стандартты реттеу операциялары жазылмаған.

; Программаның жұмысшы бөлігі

CLRF KOL_KOROB

MOVLW B'10000001'

MOVWF PORTC; пульттағы L2 сигнализациясын және S1 сиренаны қосу.

Сиренаның үзілісті сигналын қосуға арналған командалар.

MOVLW b'00000001'

MOVWF Inver_Bit; терістеу битін береміз.

MOVF PORTC, W

MOVWF _PORTC; PORTC күйін сақтаймыз.

MOVLW d'40'; сиренаның жұмыс уақытын беру. Тексеру кезінде d’2’.

CALL Timer

MOVF _PORTC, W

MOVWF PORTC; PORTC күйін қайта қалпына келтіреміз.

CLRF Inver_Bit; Timer і/п келесі шақырулар кезінде сиренаны өшіріп қоямыз.

BCF PORTC, 0; S1 сиренаның қорек кернеуін өшіру.

MOVLW B'10000010'

M1 MOVWF PORTC; D1 транспортерды өшіреміз, L2 жұмыс істей береді.

CLRF KOL_IZOL

Prov_dat

BTFSS PORTD, 2; датчиктің істегенін тексереміз ("5", "6" кнопкалары).

GOTO Prov_dat

MOVLW D'10'

CALL Timer; датчик контакттарының «дребезгтерін» жоямыз.

INCF KOL_IZOL, F; изолятордың қорапқа түсуін көрсетеміз.

MOVLW D'2';

XORWF KOL_IZOL, W; екі изолятор түскенін тексереміз

BTFSC STATUS, Z; Z = 0? тексерміз.

BSF PORTC, 3; Z=1 кезінде ғана, L1 лампасын қосамыз.

MOVLW D'4'; 4 изолятор түскенін тексереміз.

SUBWF KOL_IZOL, W; W=KOL_IZOL-4.

BTFSS STATUS, Z; Z = 1? тексерміз (4 изолятор түсті ме?)

GOTO Prov_dat; Z=0 болғанда датчик істегенін тексереміз.

MOVLW b'10000110'; тек Z=1 кезінде, қорапты ауыстырып
; (D2 қосу) және L1 сигнализациясын өшіру керек.

MOVWF PORTC; информацияны PORTC-ға жібереміз

INCF KOL_KOROB, F; келесі қораптың толғанын көрсетеміз.

MOVLW d'50';қорапты ауыстыру уақыты.

CALL Timer

MOVLW b'10000010'; D2-ні өшіруге дайындық.

GOTO M1;

GOTO$

Timer; Timer ішкі программасы

MOVWF Sch3; W таймер аргументі.

; RETURN; бұл команда тек программаны тексеру кезінде қолданылсын.

M3 MOVLW D'150'

MOVWF Sch_out; сыртқы санағыштың мәнін орнатамыз.

M_out; сыртқы санағыштың белгісі.

;Сиренаның үзілісті сигналына немесе жылтылдауға арналған нұсқаулар

MOVLW b'00000000';сиренаны қосу қажет емес деп аламыз.

MOVF Inver_Bit, F; Inver_Bit регистрін =0 тексеру.

BTFSS STATUS, Z; Z=1 тексереміз?

MOVF Inver_Bit, W; тек Z=0 кезінде S1 үшін битті терістейміз.

XORWF PORTC, F;маска арқылы PORTC битін сирена үшін терістейміз.

MOVLW D'255';

MOVWF Sch_in;ішкі санағыштың мәнін орнатамыз.

M_in; ішкі санағыштың белгісі. Timer-дің басқа нұсқаулары көрсетілмеген.

RETURN; ішкі программаның соңы.

END


Дата добавления: 2015-07-19; просмотров: 128 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Зертханалық жұмыс тапсырмасы және берілгендер| Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат

mybiblioteka.su - 2015-2024 год. (0.007 сек.)