Розробка мікропроцесорного пристрою системи автоматичного регулювання - Радиоэлектроника - Скачать бесплатно
виводів мікросхеми:
1-2 – аналогові виходи;
3 – земля;
4-13 – цифрові входи;
14 – напруга живлення;
15 – опорна напруга UREF;
16 – вивід резистора зворотнього зв’язку;
Ucc=-5,2В, UREF=-15В, струм споживання – 2мА.
Значення струмів на виводах 1 і 2 в результаті цифро-аналогового
перетворення визначаються за формулами:
[pic] (4.1)
[pic], (4.2)
де [pic] – значення двійкового розряду на цифровому виводі [pic],
[pic] - інверсне значення,
UR – значення опрної напруги.
Двійковий закон розподілення струмів зберігається при умові рівності
виходів 1 і 2. Це забезпечує підключенню виводу 1 до інвертованого входу
ОП, який включений у ланцюг зворотнього зв’язку. Неінвертований вхід ОП
з’єднується з виходом 2 із шиною аналогової землі. При цьому здійснюється
перетворення струму на виході 1 на пропорційну йому напругу на виході ОП.
Резистор зворотнього зв’язку визначає значення коефіцієнта значення
перетворення і напругу у кінцевій точці шкали.[4, ст.50]
При появі на одному з виходів ЦАП напруги високого рівня струм
відповідної гілки резистивної матриці поступає на вихід 1, а при подачі
низького рівня – на вихід 2. Для досягнення стабільності основних
параметрів перетворення при впливі зовнішніх дестабілізуючих факторів до
мікросхеми підключають резистор зворотнього зв’язку. В ЦАП КР580ПА1 він
може бути розміщений всередині мікросхеми або підключатися ззовні,
При вживанні джерела опорної напруги [pic] з використання підключення
резистора зворотнього зв’язку, розміщеного на кристалі, крок квантування
мікросхеми складає 10мВ. В режимі однополярного сигналу вихідна напруга
визначається за формулою:
[pic], тобто зв’язок між вихідною напругою і двійковим кодом є таким:
000…00 0
000…01 2-8UREF
100…00 2-1UREF
111…11 (1-2-8) UREF.
UREF по окремих гілках задає значення струму.
Варіант схеми підімкнення ЦАП до МП пристрою, який забезпечує уніполярний
вихід, зображений на малюнку:
Рис. 4.4 Схема підімкнення ЦАП до МПП
В даній схемі конденсатори С1, С2, С3 використовуються для знищення
завад у ланцюгах. В якості С2 і С3 можуть виступати
К520-24, а в якості С1 – КМ-56-П33. Для захисту виводів 1 і 2 ЦАП від
випадкового попадання від’ємної напруги їх підключають через обмежувачі на
діодах Шоткі (наприклад, це може бути мікросхема КД514А).
Для нормальної роботи ЦАП використовують зовнішні елементи: ІОН,
струмозадаючий резистор, конденсатор частотної корекції, резистор
компенсації зміщення нуля.
5. Програма вводу інформації
через АЦП і виводу через ЦАП
ДЛя СПРяЖЕННя АЦП і ЦАП З МП ДОЦіЛЬНО ВИКОРИСТАТИ ПРОГРАМОВАНИЙ
ПАРАЛЕЛЬНИЙ іНТЕРФЕЙС (ППІ) КР580ВВ55. ПРИ ПРОГРАМНОМУ ОПИТУВАННі АЦП МОЖНА
ВИКОРИСТАТИ РЕЖИМ 0 ППІ, А ПРИ ВВОДі чЕРЕЗ ПЕРЕРИВАННя - РЕЖИМ 0 АБО 1. В
ЗАЛЕЖНОСТі ВіД ЗНАчЕНЬ РОЗРяДіВ КЕРУЮчОГО СЛОВА 4, 3, 1, 0 МОЖЛИВі 16
РіЗНИХ КОМБіНАЦіЙ СХЕМ ВВОДУ/ВИВОДУ. ПРИ ВВОДі іНФОРМАЦія ВіД ЗОВНіШНіХ
ПРИСТРОїВ НЕ ЗАПАМ’яТОВУєТЬСя В РЕГіСТРАї ПОРТіВ, А ПЕРЕДАєТЬСя
БЕЗПОСЕРЕДНЬО НА ШИНУ ДАНИХ ПО СИГНАЛУ чИТАННя НА ВХОДі [pic]. ІНФОРМАЦія
НА ВХОДАХ ПОРТіВ ПОВИННА БУТИ ВСТАНОВЛЕНА ДО ПОяВИ СИГНАЛУ чИТАННя і
ЗБЕРіГАТИСЬ ПіСЛя ЙОГО ЗАКіНчЕННя. ППІ В РЕЖИМі 0 ВИКОРИСТОВУєТЬСя ДЛя
ПОБУДОВИ ПРОГРАМНИХ КАНАЛіВ ВВОДУ/ВИВОДУ З ОБСЛУГОВУВАННяМ ПО ПРОГРАМі. [8]
Так як ввід/вивід здійснюється за допомогою паралельного інтерфейсу, то
для проведення даної операції треба ініціалізувати КР580ВВ55. Керуюче слово
виглядає так:
Рис. 5.1 Керуюче слово ініціалізації ППІ
Виберемо наступні адреси портів:
А – А0Н;
В – A1H;
С – A2H;
РКС – A3H.
Керуюче слово заноситься в РКС такою послідовністю команд:
MVI A, 90H
OUT 0A3H
Операція вводу:
IN 0A0H; ввід з каналу А
STA 500Н; вивід по адресі XN значення xn
Операція виводу:
LDA 504Н ;ввід в акумулятор 8-розрядів Yn з комірки YN
OUT 0А1H ;вивід в канал В;
Розряд 4 каналу С керує роботою АЦП (до нього підключений вивід АЦП
“гашення/перетворення”).
Тоді гашення програмується так:
MVI A ,9H ;вивід в С4 одиниці
OUT 0A2H
Перетворення програмується так:
MVI А, 8H ;вивід в C4 нуля
OUT 0A2H
Як вже було зазначено, коефіцієнти а0, b0, C0 та змінні xn, yn-1, yn-2,
yn представляються у пам’яті у вигляді таблиці з початковою адресою 500H.
Програмно це реалізовано так:
|ORG 100H | |
|MVI A, 90H | |
|OUT 0A0H | |
|MVI A, a0 |;занесення коефіцієнту а0 |
|STA 501H | |
|MVI A, b0 |;занесення коефіцієнту b0 |
|STA 502H | |
|MVI A, c0 |;занесення коефіцієнту c0 |
|STA 503H | |
|LXI SP, 4FFH | |
6. Програма цифрової обробки інформації.
АНАЛіЗУЮчИ АЛГОРИТМ ФУНКЦіОНУВАННя МП–ПРИСТРОЮ, МИ БАчИМО, ЩО НАМ
ПОТРіБНО ВИКОРИСТОВУВАТИ ТАКі ОПЕРАЦії:
V множення однобайтового слова на однобайтове;
V додовання однобайтових слів (це можна здійснити за допомогою команди
ADD).
В [2] наведені готові програми для здійснення цих операцій.
1. Множення однобайтових чисел без знаку:
| |B |
|* | |
| |A |
| | |
| | |
|H |L |
|10 |MULL88: |LXI H, 0 |
|7 | |MVI D, 0 |
|7 | |MVI C, 8 |
|10 |Z1: |DAD H |
|4 | |RLC |
|16 | |JNC Z2 |
|10 | |DAD D |
|5 |Z2: |DCR C |
|16 | |JNZ Z1 |
|10 | |RET |
Коефіцієнти а0, b0, c0в пам'яті зберігаються у вигляді модуля.
Основна програма враховує, що c0 є від'ємний.
Користуючись алгоритмом програми обробки переривання і вищесказаним,
програма обробки переривання на мові асемблеру буде (вона зберігається за
адресою 8*7)[8]:
|4 |OP: |D1 |;заборона переривань |
|11| |PUSH H | |
| | |PUSH PSW | |
|11| |IN 0A0H |;Ввід в програму розрядів X0[pic]X7 |
| | |LDA 500H | |
|10| |SHLD XNI | |
| | |MVI A, 9H |;гашення результату |
|5 | |OUT 0A2H | |
|16| |POP PSW | |
| | |POP H | |
|7 | |EI |;Дозвіл переривання |
|10| |RET | |
| | | | |
|10| | | |
| | | | |
|10| | | |
| | | | |
|4 | | | |
|10| | | |
Основна програма, за алгоритмом, починається з ініціалізації мікросхеми
K580ВВ55 для обміну з ЦАП і АЦП, після того АЦП встановлюється (після
гасіння) в режим перетворення вхідного сигналу. Далі іде циклічний
підрахунок і виведення результату.
Основна програма:
|7 | |ORG 100,H | |
|7 | |MVI A, a0 | |
|13 | |STA 501H | |
|7 | |MVI A, b0 |; занесення в пам’ять коефіцієнтів |
|13 | |STA 502H | |
|7 | |MVI A, c0 | |
|13 | |STA 503H | |
|10 | |LXI SP, 4FFH | |
|7 |START: |MVI A, 90H |; ініціалізація ППІ |
|10 | |OUT 0A3H | |
|7 | |MVI A, 9H |; запуск АЦП |
|10 | |OUT 0A2H | |
|7 | |MVI A, 8H | |
|10 | |OUT 0A2H | |
|13 | |LDA 500H |;занесення в програму xn |
|5 | |MOV B, A | |
|13 | |LDA 501H | |
|17 | |CALL MULL88 |; занесення коефіцієнту а0 |
|13 | |STA 504H |; визначення a0*xn |
|13 | |LDA 505H |; занесення в комірку для yn |
|5 | |MOV B, A |; занесення в програму значення |
|13 | |LDA 502H |yn-1 |
|17 | |CALL MULL88 | |
|13 | |LDA 504H |; занесення коефіцієнту b0 |
|4 | |ADD H |; визначення b0*yn-1 |
|13 | |STA 504H | |
|13 | |LDA 503H |; додавання b0*yn-1 і а0*хn |
|5 | |MOV B, A |; занесення в комірку для yn |
|13 | |LDA 506H |; занесення коефіцієнту с0 |
|17 | |CALL MULL88 | |
|13 | |LDA 504H |; занесення в програму значення |
|4 | |SUB H |yn-2 |
|13 | |STA 504 H |; визначення с0*yn-2 |
|13 | |LDA 505H | |
|13 | |STA 506H |; визначення b0*yn-1 + а0*хn - |
|13 | |LDA 504H |с0*yn-2 |
|13 | |STA 505H |; занесення в комірку для yn |
|13 | |LDA 504H | |
|10 | |OUT 0A1H |; занесення yn-1 в комірку для yn-2|
|5 | |MOV A, 8H | |
|10 | |OUT 0A3H | |
|10 | |JMP START |; занесення yn в комірку для yn-1 |
|7 | |HLT |; вивід результату
|