валента напруги тахогенератора і його порівняння з цифровим еквівалентом керуючого напруги. При невідповідності проводиться вивід
в RG ЦАП коду 00 (блок 8), а в тригер СБ - сигналу "Збій". Висновок в тригер необхідно організувати таким чином; щоб розряд ШД, до якого підключений тригер, при введенні прийняв стан, при якому світлодіод повинен випромінювати. Передача лог. 1 або 0 з цього розряду визначається схемою підключення світлодіода до тригера.
В
6.2 Розробка підпрограми обслуговування переривання
Підпрограма починає роботу при надходженні сигналу "Аварія" на вхід мікропроцесора "Запит переривання" (ЗПР). До складу підпрограми входять три блоки, що виконуються послідовно один за одним.
Перший блок здійснює заборону переривання і запис в стек вмісту регістрів МП.
Другий блок обнуляє регістр ЦАП і видає сигнал "Збій". p> Третій блок здійснює виклик з стека вмісту регістрів МП, дозвіл переривання і перехід на кінець підпрограми пуску.
В
6.3 Розрахунок цифрового еквівалента
Розрахунок зводиться до перетворення заданого керуючого напруги з десяткової форми в шістнадцяткову. Причому старший розряд кодує напрямок обертання:
0 - пряме обертання, 1 - зворотне.
Визнач Uупр = -1,28 В. Оскільки в ЦАП цифровий код перетвориться в аналогову величину з певною дискретністю ( 0.05 В), то спочатку обчислюється кількість дискрет для подання аналогової величини заданого рівня. Для рівня -1,28 У кількість дискрет становить 26 10 , а двійковий еквівалент 11001 2 . З урахуванням напрямку обертання отримаємо 111001 2 , в шістнадцятковій формі 19 16 .
В
6.4 Розробка підпрограми затримки
Підпрограма затримки реалізується шляхом організації циклічного процесу з N циклів. Якщо відомо час виконання i-тої команди t i , в циклі і кількість таких команд K в циклі, то час затримки складе:
В
Період виконання однієї команди дорівнює:
T = 1/2,5 * 10 6 = 0,4 * 10 -6 c. p> 1 кім. = 25 такт.
Час виконання однієї команди одно:
t одн.ком. = T * 25 = 0,4 * 10 -6 * 25 = 10 -5 c.
Кількість команд у циклі одно:
K кім. = t зад. /t одн.ком. = 0,87/10 -5 = 87000
У шістнадцятковому представленні N = 1 53D8 16 або 32 16 * 14 16 * 44 16
В В
В
6.5 Розподіл пам'яті
Структура пам'яті МП контролера оформляється у вигляді, представленому на рис. 10
У початкових адресах (00 00 - 00 3 F) розташовуються вісім областей, закріплених за конкретним вектором переривання. За четвертим вектором закріплені 8 байтів з адресами 00 20 - 00 27. Оскільки підпрограма обслуговування переривання займає більший обсяг пам'яті, ніж відведений під вектор переривання, то в цих областях розміщують тільки команду безумовного переходу за адресою, з якого розміщена підпрограма обслуговування переривання. Стек - це будь-яка область ОЗУ. Проте його доцільніше розташовувати починаючи з кінцевої комірки, т. к. його заповнення відбувається у бік молодших адрес. Підпрограми пуску і обслуговування переривання розташовуються в тих місцях пам'яті, в яких розробник вважає за доцільне залежно від обсягів ОЗУ і ПЗУ.
00 00
00 1F
ОЗУ
00 20
00 27
Команда переходу за адресою 31 лютого
00 28
00 3F
01 FF
Стек
02 00
02 30
Підпрограма пуску ЕД
ПЗУ
02 31
02 42
Підпрограма обслуговування переривання
02 43
0B FF
Резерв
Рис. 6 Розподіл пам'яті
В
7. Розрахунок джерела живлення
В
Джерело живлення розраховується тільки по каналу +5 В, так як саме з цього каналу харчування МП контролер споживає основну потужність.
Спочатку визначається сумарна споживана потужність усіма застосовуваними мікросхемами даного контролера. Виходячи з споживаної потужності, визначається струм навантаження при заданій напрузі.
;
;
7.1 Розрахунок стабілізатора
Розрахунок дозволить вибрати всі елементи стабілізатора, виходячи з заданого вихідного напруги, і струму навантаження.
Розрахунок ведемо в наступному поряд...