- •Сандық техниканы және басқару микробақылауыштарын программалау
- •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- Автоматтандыру және басқару мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау
2.2 Жұмысты орындау тәртібі
Көрсетілген фрагменттерді қолдана отырып,2.2 кесте бойыншапрограмма дайындаңыз.Программа кодын МБ-ға жазыңыз.Программада қолданылатын регистрлерді көрсетіп бақылау терезесін құрыңыз.Қажетті регистрлер 2.2 суретте көрсетілген. 2.1 кестедегідей программаны қадамдық режимде кестеге толтырыңыз. | |
2.2 сурет–Бақылау терезесі |
|
2.1 кесте – Массив суммасыжәне массив орташасы
Нұсқа |
FSR-де көрсетілетін массив регистрінің адресі |
Массив регистріндегі сан |
W регистріндегі қосынды немесе SREDNEE регистрінің мәні | ||
Регистр индексі |
H формасы |
D формасы |
В формасы | ||
11 |
1 |
40h |
D ‘11’ |
11 |
00001011 |
11 |
2 |
41h |
D ‘13’ |
24 |
00011000 |
11 |
3 |
42h |
D ‘15’ |
39 |
00100111 |
11 |
4 |
43h |
D ‘17’ |
56 |
00111000 |
SREDNEE регистрін оңға жылжытып, 56-ны 2-ге бөлеміз |
28 |
00011100 | |||
SREDNEE-ні тағы оңға жылжытып, 56-ны 4-ке бөлеміз |
14 |
00001110 |
2.2 кесте – Тапсырма нұсқалары
Нұсқа |
Бірінші регистрдің мәні |
Массив регистрлерінің адрестері |
Нұсқа |
Бірінші регистрдің мәні |
Массив регистрлерінің адрестері |
1 |
D’21’ |
21h – 24h |
6 |
D’26’ |
26h – 29h |
2 |
D’22’ |
22h – 25h |
7 |
D’27’ |
27h – 30h |
3 |
D’23’ |
23h - 26h |
8 |
D’28’ |
28h – 31h |
4 |
D’24’ |
24h - 27h |
9 |
D’29’ |
29h – 32h |
5 |
D’25’ |
25h - 28h |
10 |
D’30’ |
30h – 33h |
Ескерту – Массивті толтыру қадамы 2-ге тең болғаны ыңғайлы. |
2.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
Маскалау кезінде бастапқы сан мен маска арасында әрбір битбойынша логикалықоперациялар орындалады. Ол бір мезетте бірнеше разрядтарды өзгерту немесе сандардың теңдігін тексеру мақсатында орындалады:
AND логикалық операциясы бастапқы санның керекті разрядтарын маска санының көмегімен тазартады, яғни маска-санында 0 тұрса сәйкес разряд тазарады, маска-санында 1 тұрса өзгермейді;
OR логикалық операциясы бастапқы санның керекті разрядтарына маска санының көмегімен 1 орнатады, яғни маска-санынды 1 тұрса сәйкес разрядқа 1 орнайды, маска-санында 0 тұрса өзгермейді;
XOR логикалық операциясының көмегімен көп жағдайда бастапқы сан мен маска санының теңдігін тексерген ыңғайлы. Егер екі санның сәйкес разрядтарының кем дегенде біреуінің мәні әртүрлі болса оның нәтижесі 1 болады, яғни XOR нәтижесінің кем дегенде бір разрядының 1 болғаны екі санның тең емес екендігін көрсетеді, сондықтан нәтижесі 0 болса екі сан тең.
Маскалау операциясының мысалдары 2.3 кестеде келтірілген.
2.3 кесте– Маскалау нәтижелері
Объекттер |
Операция | |||
OR (4-тен 7 дейін 1 орнату) |
AND (0-ден 3 дейін тазарту) |
XOR (екі сан тең емес) |
XOR (екі сан тең) | |
Сан |
10101010 |
10101010 |
10101010 |
11011101 |
Маска |
11110000 |
11110000 |
11110000 |
11011101 |
Нәтиже |
11111010 |
10100000 |
01011010 |
00000000 |
Циклды шарттық операторлар және ауысу көмегімен орындау керек.
Шартты өту нұсқауларыBTFSCжәнеBTFSSкез келген регистрдегі берілген биттің күйін тексереді, нәтижеге сәйкес программаның келесі нұсқауын аттап кетеді немесе орындайды. BTFSC нұсқауы берілген бит 0-ге тең болса аттап кетеді. BTFSS нұсқауы берілген бит 1-ге тең болса аттап кетеді. Осының негізінде басқаруды программаның басқа бөлігіне беру арқылы цикл ұйымдасады, 2.4 кестені қараңыздар.
2.4 кесте - Шартты өту нұсқауларының жұмысы
CARRY (C) битін қолдану | |
BTFSS STATUS, C GOTO METKA MOVWF R2 |
Carry биті 1-ге тең болса, онда программаның келесі нұсқауы GOTO МЕТКА орындалмай аттап кетіледі, MOVWF R2 нұсқауы орындалады |
Carry биті 0-ге тең болса келесі нұсқау GOTO METKA орындалады | |
ZERO (Z) битін қолдану | |
BTFSS STATUS, Z MOVF R2, W MOVWF PORTC |
Z 1-ге тең болса, онда программаның келесі нұсқауы MOVF R2, W орындалмай аттап кетіледі, MOVWF PORTC нұсқауы орындалады |
Z биті 0-ге тең болса келесі нұсқау MOVF R2, W нұсқауы орындалады, содан кейін MOVWF PORTC нұсқауы орындалады |
Нақты программаларда 2.4 кестеде көрсетілген нұсқаулар орнына алгоритмге сәйес нұсқаулар орналастыру керек.
Алдыңғы зертханалық жұмыстарда абсолютті адрестеу қолданылды, онда регистр адресі нұсқауда жазылады. Бұл зертханалық жұмыста жанама адрестеу қолданылады, онда нұқсауға адрес көрсеткіші жазылады, ол программа барысында өзгеруі мүмкін [2, 3, 6].