Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Вивчення будови, принципу роботи і програмування мікроконтролера ЖКП-1 керування РТК фрезерування

Тип роботи: 
Методичні вказівки
К-сть сторінок: 
19
Мова: 
Українська
Оцінка: 

"ЛК" збільшується на одиницю, тобто пройде безумовний перехід до виконання наступної команди програми.

 3.1.6.4. Розгалуження програми проводиться відносно "ЛК" за допомогою команд умовного переходу. Перехід здійснюється тільки при виконанні визначеної умови, в протилежному випадку "ЛК" вибирає наступну команду.
 Умовою, яка аналізує при виконанні команду "УП0" ("УП1") є вміст "БУ". Умовний перехід здійснюється, якщо "БУ"=1 при виконанні команди "УП1" або "БУ"=0 при виконанні команди "УП0".
 В полі операнду команд "УП1" і "УП0" задається адреса команди, з якої починається робота програми при виконанні умови, яка реалізується. Адреса переходу задається в межах зони пам'яті. Після закінчення виконання команд "УП1" з кодом 0А0F у випадку, якщо "БУ"=1, "ЛК" приймає значення 0F і програма буде виконуватись з команди, яка записана за цією адресою. Якщо "БУ"=0, то значення "ЛК" збільшиться на 1, і буде виконуватись команда наступна за командою 0А0F.
 3.1.6.5. У випадку, коли необхідно змінити нормальну послідовність виконання команд керуючої програми без аналізу "БУ", використовується команда безумовної передачі керування. Адреса переходу в межах зони пам'яті задається в полі операнду команди "БУП". Наприклад, по команді безумовного переходу 09FF значення "ЛК" стане рівним FF і наступною буде виконана команда, записана за цією адресою. Команда "БУП" не змінює значення "БУ".
 3.1.6.6.Використання команди звертання до підпрограми "ПП" є ефективним засобом економії пам’яті , якщо в процесі виконання керуючої програми необхідно багаторазове звертання до незмінної її частини. Ця частина одноразово записується в запам'ятовуючий пристрій і закінчується командою "ВОЗВРАТ". Звернення до неї здійснюється командою "ПП", в полі операнду якої внесена її початкова адреса.
 При виконанні команди "ПП", записаної за адресою "N", вміст "ЛК" збільшується на 1, тобто приймає значення (N+1), і завантажується в стек разом з значенням "БА" зони пам’яті.
 В "ЛК" буде заслана адреса, яка знаходиться в полі операнду команди "ПП". Адреса задається в границях зони пам'яті. Починаючи з цієї адреси проходить послідовне виконання команд підпрограми до адреси, за якою знаходиться команда "ВОЗВРАТ". При виконанні цієї команди вміст стеку (N+1) переміщається в "ЛК", відновлюється значення "БА" і продовжується виконання команди головної програми, яка записана за адресою (N+1). Стек, організований в мікроконтролері, дозволяє реалізувати вісім рівнів підпрограми.
 Приклад організації підпрограми двох рівнів приведений в табл. 11.
 
 Таблиця 11.
Адреса командиФормат командиЗміст
Код операціїОперанд
ГОЛОВНА ПРОГРАМА
02F1050Перехід в підпрограмі першого рівня (виконання команди, яка міститься за адресою 050). В стеку запам’ятовується адреса 030.
0300500Включити вихід 00
ПІДПРОГРАМА ПЕРШОГО РІВНЯ
050031FПеревірка входу 1F на відсутність сигналу. Якщо сигналу немає, то "БУ"=1
0510А53Якщо "БУ"=1, то перехід на адресу 053 (до виконання команди "ВОЗВРАТ")
0521060Перехід до підпрограми другого рівня (до виконання команди, яка міститься за адресою 060) В стеку запам’ятовується адреса 053.
0531100Повернення в головну програму на адресу 030
ПІДПРОГРАМА ДРУГОГО РІВНЯ
0600402Перевірка входу 02 на наявність сигналу. Якщо сигнал е, то "БУ"=1.
0610В63Якщо "БУ"=0, то перехід на адресу 063 (до виконання команди "ВОЗВРАТ")
0620960Безумовний перехід на адресу 060.
0631100Повернення в підпрограму першого Рівня на адресу 053.
 
 3.1.6.7. Для того, щоб перейти до виконання керуючої програми, розміщеної в другій зоні пам'яті, необхідно змінити базову адресу програми і виконати команду умовного, безумовного переходу або переходу до підпрограми, в полі операнду якої міститься адреса команди зміненої зони пам'яті. Значення "БА" змінюється командою "БАП", в полі операнду який задається номером зони пам'яті з 0 до F. Приклад здійснення безумовного переходу з адреси АО нульової зони пам'яті на адресу 02 першої зони наведено в таблиці 12. 
                                                                                                                                                                  Таблиця 12.
Номер зониАдреса командиФормат командиЗміст
Код операціїОперанд
00А00F01"БА" приймає значення 01
00А10902Безумовний перехід на адресу 02 першої зони пам'яті
 
 При увімкненні живлення мікроконтролера після скидання значення "БА" встановлюється рівною 0. Якщо обсяг керуючої програми займає декілька зон пам'яті, при її складанні необхідно здійснити зміни базової адреси програми.
 3.1.7. Команди керування лічильниками здійснюють операції очищення, інкременту і порівняння над шістнадцятьма лічильниками, вміст яких може змінюватись в межах від 0 до F.
 3.1.7.1. Величиною "N0" в полі операнду цих команд задається номер лічильника від 0 до F. Наприклад, команда з кодом 0С0А здійснює інкремент лічильника А, а команда з кодом 0D02 здійснює обнулення лічильника 2. Величиною "1" в полі операнду команди порівняння лічильника задається величина від 0 до F, з якою зрівнюється вміст лічильника з номером, заданим величиною "N0". У випадку співпадання "БУ" зберігає попереднє значення, в протилежному випадку - обнулюється. Наприклад, командою з
Фото Капча