- •Сандық техниканы және басқару микробақылауыштарын программалау
- •5В070200-Автоматтандыру және басқару мамандығының студенттері
- •Мазмұны
- •Кіріспе
- •1 Зертханалық жұмыс. Байттық және биттік командалар. Логика
- •1.1 Зертханалық жұмыс тапсырмасы
- •1.2 Жұмысты орындау тәртібі
- •1.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •1.4 Бақылау сұрақтары
- •2 Зертханалық жұмыс. Маскілеу. Массив қосындысын алу
- •2.1 Зертханалық жұмыс тапсырмасы
- •2.1 Сурет– Массивті суммалау және орташаны табу блок-сұлбасы
- •2.2 Жұмысты орындау тәртібі
- •2.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •2.4 Бақылау сұрақтары
- •3 Зертханалық жұмыс. Бояу камерасын автоматтандыру. Ішкі программалар
- •3.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •3.1 Сурет–Құрылғылардыжалғау сұлбасы
- •3.2 Сурет–Бояу камерасының уақыттық диаграммасы
- •3.2 Жұмысты орындау тәртібі
- •3.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •3.3 Сурет– Блок-сұлба
- •3.4 Бақылау сұрақтары
- •4 Зертханалық жұмыс. Көбейту және бөлу
- •4.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •4.2 Жұмысты орындау тәртібі
- •5 Зертханалық жұмыс. Газ шығынын реттеу
- •5.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •5.2 Жұмысты орындау тәртібі
- •5.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •5.4 Бақылау сұрақтары
- •6.3 Жұмысты орындау тәртібі
- •6.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •6.4 Бақылау сұрақтары
- •7 Зертханалық жұмыс. Буып-түю жұмысын автоматтандыру. Дыбыс түзу
- •7.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •7.2 Жұмысты орындау тәртібі
- •7. 3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •7.2 Сурет– Буып-түйгіш жұмысының уақыттық диаграммасы
- •7.4 Бақылау сұрақтары
- •8 Зертханалық жұмыс. Сандарды 2-санақ жүйесінен 2_10 санақ жүйесіне ауыстыру
- •8.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •8.2 Жұмысты орындау тәртібі
- •8.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •8.2 Сурет– Блок-сұлба
- •8.3 Сурет – Жеті сегментті индикатор
- •8.4 Бақылау сұрақтары
- •9 Зертханалық жұмыс. Таймер tmr1
- •9.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •9.2 Жұмысты орындау тәртібі
- •9.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •9.4 Бақылау сұрақтары
- •10 Зертханалық жұмыс. Үзулер
- •10.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •10.3 Жұмысты орындау тәртібі
- •10.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •10.4 Бақылау сұрақтары
- •11 Зертханалық жұмыс. Екі байттық сандарды қосу
- •11.1 Зертханалық жұмыс тапсырмасы және берілгендер
- •11.3 Жұмысты орындау тәртібі
- •11.1 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
- •11.4 Бақылау сұрақтары
- •А қосымшасы Status регистрі
- •Б қосымшасы pic* мб нұсқауларының сипаттамасы
- •В қосымшасы Модуль tmr1 таймері
- •Г қосымшасы pic16877 микропроцессорының жады картасы
- •Д қосымшасы умк-7 сипаттамасы
- •Әдебиеттер тізімі
- •5В070200- Автоматтандыру және басқару мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау
- •050013, Алматы, Байтұрсынұлы көшесі, 126
- •Сандық техниканы және микробақылауыштарды программалау
- •5В070200- Автоматтандыру және басқару мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау
5.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
Өндірісте газ технологиялық қондырғыға қысыммен беріледі. Қысым құбырда өзгереді, бірақ газдың шығынын қажетті мәнде тұрақты ұстап тұру керек. Газ қысымы P, жабыннан кейін датчик көмегімен өлшенеді, ал мәліметтер микробақылауышқа беріледі. Газ шығыны (көлемі) V=KSQRT(P) формуласымен анықталады. Мұнда K газ қасиеттеріне байланысты коэффициент. Қысым төмендегенде Vраб газ шығынын ұстап тұру үшін құбырдағы жабынды МЭО орындаушы механизм көмегімен кішкене ашу керек («Bolshe» бағыты). МЭО-ға импульс беру 1-2 секунд алады.Қысым үлкейгенде жабын жабылады («Menshe» бағыты), сонымен газ беруді азайтады. Бұл әрекеттер МЭО-ға әртүрлі полярлы импульстарды беру арқылы орындалады. Бір уақыттан кейін қысым қайта өлшенеді де газ беруді түзету қайта орындалады, осылай газдың қажетті бір мәнін ұстап тұру іске асырылады.
Есептеулерді қарапайым қылу үшін квадрат түбірдің бүтін мәндерімен шектелейік, мұнда өзінің шын мәнінен үлкен болуы мүмкін. Түбірастын есептеу үшін N бүтін санының квадратын қатар көмегімен алу алгоритмін қолданайық:
N2=1+3+5+7+9…Қосылғыштар саны N санына тең;
N=5 үшін алатынымыз52=1+3+5+7+9=25.
Егер қысым Р=30 болса,онда біз қосынды жинақтаймыз,қосылғыштардың қосындысы 30-дан асқанға дейін қосамыз. Яғни түбірдің бүтін мәнін 6 деп аламыз. K=4 дейік, онда газ шығыны V=6×4=24. Егер Q=20 шығыны қажет болса, онда жабынды «Menshe» бағытында жабу керек. Егер Q=28 шығыны қажет болса, онда жабынды «Bolshe» бағытында ашу керек [1, 2, 3, 4].
5.4 Бақылау сұрақтары
Ішкі программаны шақыру. Негізгі программаға ол нені береді?
Ішкі программа қайда, қалай жазылады?
Ішкі программаны шақырғанда және одан қайтқан кездегі команадалар санағышының жұмысы?
Бүтін сандарды квадратқа шығару алгоритмі.
Түбірдің жуық және бүтін мәні қалай есептеледі?
МЭО қызметі. Ол қалай жұмыс істейді?
Қай кезде Z немесеСбірге тең?
Қай кезде Z, Сбірдей бірге тең?
Сандарды салыстыру қалай орындалады?
«В» және«М» латын әріптерінің кодтары қалай қолданылады?
6 Зертханалық жұмыс. Клавиатураны программалау
Жұмыс мақсаты: мәліметтерді клавиатура арқылы енгізу программасын құру.
6.1 Зертханалық жұмыс тапсырмасы және берілгендер
Жобалауға тапсырма. №3 зертханалық жұмыста жасалған бояу камерасын автоматтандыру программасында әрбір детальды бояуды «Пуск»батырмасымен жіберу және «Стоп»батырмасымен тоқтату (ол әрекеттерді камера жанындағы батырма немесе оператор пультынан орындауға болады).
Клавиатура контакттарының «дребезгі» Timerішкі программасын кішкене уақытқа қосу арқылы жойылады.Бұл программада Stop кнопкасыTimer ішкі программасында орналасқан.
Л6 программасы №3 зертханалық жұмыс негізінде жазылады. Ол программаға қосылған командалар курсивпен келтірілген.
Л6 программасының фрагменті.
; PORTD кіріс/шығысқа орнату нұсқаулары
CLRF TRISC
MOVLW b'00001111' ; PORTD жұмысын.
MOVWF TRISD ; 0-3 биттерін кіріске, 4-7 шығысқа реттейміз.
BCF STATUS, 5
CLRF PORTC
; Программаның жұмысшы бөлігі
MOVLW B'11110000' ; клавиатураның К4-К7 аяқшаларына қорек
MOVWF PORTD ;кернеуін береміз.
MOVLW B'10000000'
MOVWF PORTC ;қорек кернеу бар екенін сигнализациямен көрсетеміз. Sled_det
BTFSS PORTD, 2 ; Pusk1(2)кнопкасы басылғанын тексереміз
GOTO Sled_det ;егер кнопка әлі де басылмаса тексеруді қайталаймыз.
BSF PORTC, 0 ; егер басылса S1 дыбыстық сигнализацияны қосамыз.
MOVLW d'40' ; S1 сигнализацияның жұмыс істеу уақытын береміз.
CALL Timer
MOVLW B'10001110'
MOVWF PORTC ; D1 және D2 қозғалтқышын, L1сигнализацияны қосамыз.
MOVLW d'60' ; D1 жұмыс істеу уақытын береміз.
CALL Timer
BCF PORTC, 2 ; D1 өшіреміз, D2, L1 және L2 жұмыс істей береді.
MOVLW d'20' ; L1 және вентилятордың жұмыс істеу уақытын береміз.
CALL Timer
MOVLW B'10000000'
MOVWF PORTC ; D2 вентилятор және L1 сигнализацияны өшіреміз.
MOVLW d’20’ ; детальды ауыстыруға кететін уақытты береміз.
CALL Timer
GOTO Sled_det ; қондырғыны қайта қосу үшін Sled_det белгісіне көшу.
GOTO $ ; ішкі программа мен негігі программаны бөлу.
Timer ; ішкі программада Stop кнопкасы бар ішкі цикл ғана көрсетілген.
M_in ; ішкі санағыштың белгісі.
BTFSC PORTD, 1; Stop1 және Stop2 кнопкасы басылғанын тексереміз.
GOTO Stop ; басылса, онда камераны тоқтату нұсқауына өту.
DECF Sch_in, F ; Sch_in санағыш мәнін 1-ге кемітеміз.
BTFSS STATUS, Z; егер Sch_in=0 болса (Z=1), GOTO-ды аттап кетеміз.
GOTO M_in ; Z=0 кезінде орындалады.
. . . .
RETURN
Stop CLRF PORTC ; бояу камерасының жұмысын тоқтату.
GOTO Sled_det ; немесе GOTO $ қою қажет
END