- •Сандық техниканы және басқару микробақылауыштарын программалау
- •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- Автоматтандыру және басқару мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау
4.2 Жұмысты орындау тәртібі
4.2 кесте – Тапсырма нұсқалары
Нұсқа |
Коэффициент |
Сан |
Нұсқа |
Коэффициент |
Сан | |
1 |
1,33 |
62 |
6 |
6,33 |
12 | |
2 |
2,33 |
35 |
7 |
7,33 |
11 | |
3 |
3,33 |
22 |
8 |
8,33 |
10 | |
4 |
4,33 |
17 |
9 |
9,33 |
9 | |
5 |
5,33 |
14 |
10 |
10,33 |
8 | |
4.1 сурет–Бақылау терезесі |
Барлық регистрлерді қажетті форматта бақылау терезесіне шығарыңыз. Олардың мәнін зертханалық жұмыс есептемесінде көрсетіңіздер. Мәліметтерді алу үшін программаны ANIMATEрежимінде жіберіп, HALTарқылы тоқтатып отыруға болады. Жұмыс нәтижелерін 4.3 кестеге жазыңыздар.
|
4.3 кесте- Нұсқа 11. 0,8-ге көбейу нәтижелері.
Коэффициент |
Сан |
Көбейткіш |
Бөлгіш |
Нәтиже |
Қалдық |
Дәлдік |
0,8 |
6 |
4 |
5 |
4 |
4 |
83,3% |
Бөлшек санға көбейту программасын «Мои документы» бумасында сақтаңыз,ол келесі жұмыстарда қолданылады.
Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат
Шартты өту нұсқауларыBTFSCжәнеBTFSSкез келген регистрдегі берілген биттің күйін тексереді,2.4 кестені қараңыздар. Осы нұсқауларға негізделе отырып көбейту және бөлудің циклдық алгоритмы құрылады.
Циклдың орындалуын тоқтату немесе жалғастыруды әдетте екі санның теңдігін тексеру арқылы орындайды: циклдар санымен және орындалатын циклдың нөмірі арқылы.
Ассемблерде сандарды салыстыру нұсқауларыжоқ. Екі санның кіші, үлкендігін білу үшін келесі алгоритмді қолданады:
а) сандардың айырмасы алынады, сонда нәтижеге байланысты Status регистрінің C және Z флагтары өзгереді, олар 4.4 кестеде келтірілген.
б) ары қарай шартты өту нұсқаулары қолданылады.
4.4 кесте – Айырмасын алу кезіне Status регистрінің C және Z күйлері
ЖҚР UMENSH және W мәндерінің қатынасы |
Айырмасын алудан кейін Status регистрінің флагтарының мәні | |
Флаг Z |
Флаг C | |
UMENSH-W>0 |
0 – нөлдік нәтиже болған жоқ |
1 –W-дың 7-битінен С битіне ауысу болды (қосымша кодта қосу кезінде) |
UMENSH-W<0 |
0 – нөлдік нәтиже болған жоқ |
0 – W-дың 7-битінен С битіне ауысу болды (қосымша кодта қосу кезінде) |
UMENSH-W=0 |
1 – операция нәтижесі 0-ге тең |
1- W-дың 7-битінен С битіне ауысу болды (қосымша кодта қосу кезінде) |
Ескерту –UMENSH регистріне азайғыш жазылады |
Көбейтуді тізбектеп қосу арқылы орындауға болады.
Мысалы, 2510=25+25+25+25+25+25+25+25+25+25=250.
Бүтін бөлу алгоритмі 35-ті 10-ға бөлу мысалы ретінде 4.1 кестеде келтірілген. Алгоритмде бөлгіш 0-ге тең болса программа циклға түсіп кететіні көрніп тұр. Алгоритмнің блок-сұлбасы 4.2 суретте көрсетілген.
Бөлшек санға көбейтуді қандай да бір дәлдікпен көрсетуге болады, яғни берілген санды бүтін көбейткішке көбейтіп, шыққан санды бүтін бөлгішке бөлу арқылы. Көбейткіш пен бөлгішті калькулятор арқылы келтіріп алуға болады [1, 2, 3, 4].
Бақылау сұрақтары
BTFSCSTATUS, C шартты өту командасы жұмысын түсіндіріңіз.
DECFSZR3,F шартты өту командасының жұмысын түсіндіріңіз.
Бүтін санға көбейту алгоритмін түсіндіріңіз.
Сандартың теңдігін қандай операциялар арқылы анықтауға болады?
Бүтін санға бөлу алгоритмін түсіндіріңіз.
Бөлшек санға көбейту алгоритмін түсіндіріңіз.
Айырма нәтижесінің терістігін қалай анықтауға болады?
26 санын 10-ға көбейткенде МБ регистрінде қандай нәтиже болады?
4-ті 0,8-ге екі әдіспен көбейткенде: 4×4/5немесе4/5×4 нәтижелері бірдей болады ма?
BTFSSSTATUS,Z. шартты өту командасы жұмысын түсіндіріңіз.
Қай кезде Statusрегистрінің ZжәнеCбірдей 0-ге тең?
Сандарды салыстыру қалай орындалады?