- •Сандық техниканы және басқару микробақылауыштарын программалау
- •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- Автоматтандыру және басқару мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау
1 Зертханалық жұмыс. Байттық және биттік командалар. Логика
Жұмыс мақсаты: қосу, алу және логикалық функцияларды орындау үшін BSF, BCF, ADDWF, ANDWF, IORWF, XORWF, SUBWF нұсқауларын оқып үйрену.
1.1 Зертханалық жұмыс тапсырмасы
Л1 программасын оқыңыз, теориялық мәліметтерді 1.3 тармақтан оқыңыздар. Ол екі тұрақтыға әртүрлі амалдар қолданады және нәтижесін REZ регистріне жазады. Қолданылған регистрлер қай банктерде орналасқанын анықтаңыздар. Программада ORGh’00’ нұсқауы– ассемблер көрсеткіші,ол осы өрнектен кейін жазылатын код электрлік қайта программаланатынсақтау құрылғысының (ЭППЗУ) нөлдік адресінен бастап жазылатынын көрсетеді.EQU нұсқауыequal(ағыл.) сөзінен–тең дегенді білдіреді.
Л1 программасы.
Include <p16F877.inc>; бұл файлда РСН символдық аттары сипатталған.
R1 EQU h'21' ; R1 - h'21' регистрінің символдық аты.
R2 EQU h'22' ; R2 - h'22' регистрінің символдық аты.
R3 EQU h'23' ; R3 – h'23' регистрінің символдық аты.
REZ EQU h'24' ; REZ – нәтиже жазуға арналған регистр аты.
; МБ жұмысын реттеуге арналған нұсқаулар
ORG h'00' ; келесі NOP нұсқауы h'00' адресіне жазылады.
NOP ; үзу және қайта қосу векторларының орнын қызметі бар
NOP ; командалармен NOP толтырмау үшін
ORG h'05' ; келесі CLRF нұсқауы h’05’ адресіне жазылады.
CLRF STATUS ; регистрді тазартып, нөлдік банкті таңдаймыз.
BSF STATUS, 5 ; бірінші банкке ауысамыз,онда TRISC регистрі бар.
CLRF TRISC; PORTC регистрінің барлық биттерін мәлімет шығаруға орнатамыз.
BCF STATUS, 5; нөлдік банкке қайта ораламыз.
; Программаның жұмысшы бөлігі. Мәліметтері енгізу
MOVLW D'240' ; константаны аккумуляторға W жазу.
MOVWF R1 ; W құрамын R1 регистріне жазу.
MOVLW D'130' ; константаны аккумуляторға W жазу.
MOVWF R2 ; W құрамын R2 регистріне жазу.
MOVLW D'5' ; константаны аккумуляторға W жазу.
MOVWF R3 ; W құрамын R3 регистріне жазу.
; Есептеулерді орындау
MOVF R1, W ; константаны R1 регистрінен W аккумуляторға жазу.
SUBWF R2, W ; азайту W=R2-W=R2- R1.Нәтижесін W-да қалтырамыз.
MOVWF REZ ; W құрамын REZ регистріне жіберу.
MOVF R2, W ; константаны R2 регистрінен W аккумуляторға жазу.
ADDWF R1, W ; W=R2+W=R1+R2.
MOVWF REZ
MOVF R2, W ; R2 құрамын W аккумуляторға жазу.
SUBWF R1, W ; азайту W=R1-W=R1-R2. Нәтижесін W-да қалтырамыз.
MOVWF REZ ; W құрамын REZ регистріне жіберу.
MOVF R2, W ; константаны R2 регистрінен W аккумуляторға жазу.
ADDWF R3, W ; W=R3+W=R2+R3.
MOVWF REZ
MOVF R2, W ; константаны R2 регистрінен W аккумуляторға жазу.
SUBWF R2, W
MOVWF REZ
MOVF R2, W ; константаны R2 регистрінен W аккумуляторға жазу.
ANDWF R1, W ; W=R1 AND W(R2) операциясы, нәтижесі W.
MOVWF REZ
GOTO $
END ; программа соңы.
Программаны өздігіңізше R2+R3,R1ORR2,R1XORR2 операцияларын орындайтын командалармен жалғастырыңыздар.
Нұсқау бойынша мәліметтерді 1.1 кестеден алыңыздар.
1.1кесте –Тапсырма нұсқалары
Нұсқа |
R1, R2, R3 адрестеріне жазылатын мәндер |
Нұсқа |
R1, R2, R3 адрестеріне жазылатын мәндер |
1 |
81h, 12h, 1h |
6 |
86h, 67h, 6h |
2 |
82h, 23h, 2h |
7 |
87h, 68h, 7h |
3 |
83h, 34h, 3h |
8 |
88h, 69h, 8h |
4 |
84h, 45h, 4h |
9 |
89h, 6Ah, 9h |
5 |
85h, 56h, 5h |
10 |
8Ah, 6Bh, Ah |