Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast3.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.17 Mб
Скачать

3. Виконання роботи і зміст звіту

1. Зібрати схему лічильника відповідно до заданого варіантом і провести її дослідження.

Варіант 1 - СТ (0,3), Т-тригер; M = 11

Варіант 2 - СТ (0,4), JK-тригер; M = 12

Варіант 3 - СТ (0,4), JK-тригер; M = 10

Варіант 4 - СТ (0,4), D-тригер; M = 13

Варіант 5 - СТ (0,3), RS-тригер. M = 16

2. Побудувати часові діаграми роботи відповідно до завдання.

Звіт по роботі повинен містити:

Основні етапи синтезу чотирирозрядний лічильника і його схему;

Схему лічильника і часові діаграми його роботи згідно варіанту.

 індивідуальні висновки, які починаються зі слів: "Встановлено, що ...", "Показано, що ...".

Приклад виконання роботи в Multisim 8

Розглянемо для прикладу побудова чотирирозрядний лічильника з паралельним ланцюгом переносу.

1. Уважно читаємо теорію.

2. Запускаємо Multisim: Пуск -> Програми -> Electronics Workbench -> Multisim 8 -> Multisim 8

Якщо немає вікна нового проекту, то створюємо новий проект: File -> New або комбінація клавіш Ctrl + N (Рис. 1)

3. На панелі інструментів «Components» вибираємо «Misc Digital» (чи інший набір компонентів, залежно від умов завдання) з'явиться панель вибору компонентів (Мал. 2)

.

Її також можна викликати в меню Place -> Component (або поєднання Слави Ctrl + W). У ній в поле Family вибираємо клас компонента (наприклад, Til), в полі Component вибираємо тип компонента (наприклад, Not). Натискаємо Ok і цей компонент з'явиться на робочому полі (він буде слідувати за курсором миші, поки ви не клікніть на робочому полі для його розміщення).

Misc Digital

Поле вибора компонента

На малюнку наведено типові елементи, які необхідні для побудови схеми лічильника:

4. Будуємо необхідну схему (Рис. 1.3).

Малюнок 1.3 Схема чотирирозрядний лічильника з паралельним ланцюгом переносу

5. На правій панелі інструментів «Instruments» вибираємо Word Generator і Logic Analizer (або в рядку меню: Simulate -> instruments-> Word generator (Logic Analizer)). Ці елементи також слідують за курсором миші до кліка на робочому полі. Розміщуємо їх, і з'єднуємо зі схемою:

6. Робимо подвійне клацання миші на елементі «Word Generator» і задаємо вхідні комбінації і частоту.

Натинути кнопкою миші та выбрати Set Final

Вибор системи обчислення

7. Побудова векторної діаграми: у рядку меню вибираємо View -> Grapher. З'являється вікно Grapher View

Не закриваючи це вікно, вибираємо в меню Simulate -> Run. Графік готовий.

Якщо на панелі інструментів вікна Grapher View ви оберете команду копіювати, то в буфер скопіюється побудована векторна діаграма:

8. Виконане вами завдання, і побудовану векторну діаграму, можна зберегти фали (на дискету або інший носій). Звіт написати можна вдома. Діаграму потрібно роздрукувати для звіту.

9. Пишемо звіт.

Хід виконання роботи

  1. Повторити конспект (теоретичні відомості).

  2. Отримати допуск до роботи.

  3. Скласти у Electronics Workbench або Mulsim відповідні схеми.

  4. Провести відповідні експерименти. Заповнити протокол та скласти звіт по практичній роботі.

  5. Зробити висновки по роботі.

  6. Відповісти на запитання для самоперевірки.

Лабораторна робота №18

Тема: "Регістрі"

Мета роботи: Вивчення роботи регістрів зрушення на різніх тригерах.

Найбільш поширеним вузлом цифрової техніки і пристроїв автоматики є регістри. Регістри будуються на базі синхронізованих одно- і двоступеневих RS, D і JK-тригерів. За способом прийому та видачі інформації регістри поділяються на такі типи:

з паралельним прийомом і видачею (рис.11, а);

з послідовним прийомом і видачею (рис.11, б);

з послідовним прийомом і паралельної видачею (рис.11, в);

з паралельним або послідовним прийомом і послідовної видачею (рис.11, г);

комбіновані, з різними способами прийому і видачі (рис.11, д) і реверсивні.

Регістри з паралельним прийомом і видачею інформації часто служать для зберігання інформації і називаються регістрами пам'яті або зберігання. Зміна зберігається інформації в регістрі пам'яті (запис нової інформації) здійснюється після установки на входах

 D0. . . Dm нової цифрової інформації та при надходженні певного рівня або фронту синхросигналу на "С" вході регістру. Кількість розрядів записуваної цифрової інформації визначається кількістю тригерів, що утворюють регістр.

В якості тригерів регістра використовуються синхронізуються рівнем або фронтом тригери. Регістри пам'яті можуть бути реалізовані на D-тригерах, якщо інформація надходить на входи регістра у вигляді однофазних сигналів і на RS-тригерах, якщо інформація надходить у вигляді двох парафазних сигналів. У деяких випадках регістри можуть мати вхід для установки його виходів Q0 ... Qm в стан "0". Цей асинхронний установчий вхід називають входом R для "скидання" тригерів регістра в нуль незалежно від станів рівня сигналу на вході С.

Рис.11. Функціональні схеми основних типів регістрів

На рис. 12 наведені схеми чотирирозрядний регістрів пам'яті на D- і RS-тригерах, синхронізуються рівнем і фронтом синхроімпульсів (зазвичай чотири тригери об'єднані в одному корпусі інтегральної схеми).

а) б) в)

Рис. 2. Регістри зберігання, на D - тригерах, синхронізуються рівнем сінроімпульса (а), переднім фронтом (б) і на RS - тригерах, синхронізуються заднім фронтом (в)

При відсутності синхросигналу С регістр зберігає інформацію, при наявності С - він сприймає вхідні сигнали і встановлює їх значення на виходах при появі відповідного фронту. Зазвичай інформація, що знімається з його виходів, не змінює попереднього стану регістра.

       Регістри з послідовним прийомом або видачею інформації називаються регістрами зсуву. Регістри зсуву можуть виконувати функції збереження і перетворення інформації. Вони можуть бути використані для побудови умножителей і дільників чисел двійкової системи числення, тому зрушення двійкового числа вліво на один розряд відповідає множенню його на два, а зрушення вправо - поділу на два. Регістри зсуву широко використовуються для виконання різних часових перетворень цифрової інформації: накопичення послідовної

цифрової інформації з подальшою одночасною видачею (перетворення послідовного коду в паралельний код) або одночасний прийом інформації з подальшою послідовної видачею (перетворення паралельного коду в послідовний). Регістри зсуву можуть служити також як елементів затримки даних, представлених у цифровій формі. Так m-розрядні регістри з послідовним прийомом і виведенням здійснюють затримку передачі інформації на m тактів машинного часу.

        Регістри зсуву простіше реалізуються на D-тригерах (рис. 13, а) або на RS-тригерах (рис. 13, б), де для введення інформації в перший розряд використовується інвертор (перший розряд перетворюється в D-тригер).

Для уникнення невірних перемикань розрядів регістра все регістри зсуву будуються на базі двоступеневих тригерів або тригерів синхронізуються фронтом синхроимпульса. Паралельний висновок інформації з регістра зсуву (див. Рис. 3, в) здійснюється зніманням даних з прямих виходів всіх тригерів регістра до окремих висновків (на рис. 3, а і б ці висновки показані штриховими лініями). На рис. 3 наведені схеми чотирирозрядний регістрів зсуву, реалізованих на D- і RS-тригерах, а тимчасові діаграми, що пояснюють роботу регістра зсуву на D-тригерах (рис. 3, в), наведено на рис. 4, де зміна станів тригерів відбувається по передньому фронту синхросигналу.

Запис нової інформації в тригери регістра відбувається протягом дуже короткого часу - за час тривалості фронту синхроимпульса. Зазвичай воно дорівнює часу перемикання тригера в новий стан.

Роботу регістра зсуву розглянемо на прикладі схеми, наведеної на рис. 13, а. Нехай на початку всі тригери регістра перебувають у стані логічного нуля, тобто Q0 = 0, Q1 = 0, Q2 = 0, Q3 = 0. Якщо на вході D-тригера Т1 має місце логічний 0, то надходження синхроімпульсів на входи "С" тригерів не міняє їх стану.

Рис. 13. Послідовні регістри на D - тригерах (а), RS - тригерах (б) і універсальний регістр на D - тригерах з лівим зрушенням на один розряд (в)

Як випливає з рис. 13. а), синхроимпульс надходить на відповідні входи всіх тригерів регістра одночасно і записує в них те, що має місце на їхніх інформаційних входах D. Так як на інформаційних входах тригерів Т2, Т3, Т4 - рівні логічного "0", а на вхід "D" першого тригера, за умовою прикладу, подається "0" із зовнішнього джерела інформації, то стан регістра не змінюється.

При подачі на вхід "D" (рис. 13. а) першоготригера "1", з приходом першого за ним переднього фронту синхроимпульса, в цей тригер запишеться "1", а в інші тригери - "0", тому до моменту надходження синхроимпульса на їх входах ще присутній логічний "0". Таким чином, в кожен тригер записується та інформація (той біт), яка була на його вході "D" в момент надходження переднього фронту синхроимпульса.

Рис. 14. Операція запису даних у регістр

При надходженні переднього фронту другого синхроимпульса логічна "1", з виходу першого тригера, запишеться у другій тригер, і в результаті відбувається зрушення спочатку записаної "1" з тригера Т1 в тригер Т2, з тригера Т2 в тригер Т3 і т.д. (Рис. 14). Таким чином, виробляється зрушення надходить на вхід регістра інформації в послідовному коді на один розряд вліво (L1) в кожному такті синхроимпульса, якщо Т1 зберігає молодший розряд числа, а Т4 - старший і виходи Q0, Q1, Q2, Q3 мають ваги 20, 21 , 22, 23 при зберігання цілого числа (за відсутності імпульсів синхронізації). Зрушення вліво (L) - це зрушення в бік старших розрядів числа, зрушення вправо (R) - у бік молодших.

Після надходження m синхроимпульсов (на рис. 4 m = 4), регістр виявляється повністю заповненим розрядами числа, що вводиться через вхід "D". Протягом наступних чотирьох синхроимпульсов проводиться послідовний порозрядному висновок числа з Q3 тригера Т4, після чого регістр виявляється повністю очищеним (за умови подання на його вхід рівня "0" в режимі виведення числа), тобто обнулений. Такий зсув називається арифметичним, коли при виведенні інформація втрачається. Якщо крайній розряд регістра Q3 з'єднати з входом першого тригера T, то зрушення буде відбуватися циклічно, без втрати даних.

На рис. 13. б) всі тригери будуть також проводити зрушення числа вліво на один розряд L1 на задній фронт в момент відходу імпульсу синхронізації. Особливістю регістра на рис.13. в) є те, що він має

керуючий вхід V. При V = 1 він аналогічний регістру на рис. 13. а), а при V = 0 він може паралельно приймати чотирирозрядний число D0D1D2D3, а потім паралельно його видавати з виходів Q0, Q1, Q2, Q3.

На базі регістрів зсуву можна побудувати кільцеві лічильники - лічильники Джонсона. Лічильник Джонсона має коефіцієнт перерахунку, вдвічі більший числа складових його тригерів. Зокрема, якщо лічильник складається з трьох тригерів (m = 3), то він матиме шість стійких станів. Лічильник Джонсона використовується в системах автоматики, наприклад, в якості розподільників імпульсів.

Таблиця станів лічильника Джонсона містить 2m (m - кількість тригерів в регістрі) рядків і m-стовпців. Для побудови кільцевого лічильника досить з'єднати інверсний вихід з молодшим входом "D" першого тригера, задіявши циклічний зсув. Схема трехразрядного лічильника Джонсона, реалізованого на D-тригерах наведена на рис 15. а).

Рис. 15. Таблиця станів а) і схема б) лічильника Джонсона на трехразрядного регістрі зсуву

Припустимо, що спочатку всі тригери (рис. 15, б) перебувають у стані "0", тобто Q0 = Q1 = Q2 = 0. При цьому на вході "D" першого тригера присутній рівень "1", т.к = 1. Першим синхроимпульсом в тригер Т1 запишеться "1", другим - одиниця запишеться в перший тригер, з першого - в другій і т.д. до тих пір, поки на всіх виходах регістра не буде "1". Після заповнення регістра одиницями, на інверсному виході тригера Т3 з'явиться = 0 і четвертим синхроимпульсом в Т1 запишеться логічний "0".

Після надходження наступних трьох синхроимпульсов регістр обнуляється і на його вхід "D" знову подається рівень "1". Таким чином, цикл повторення стану кільцевого лічильника складається з шести тактів синхросигналу. Як бачимо, при роботі на початку від першого тригера до останнього тригера поширюється "хвиля одиниць", а потім "хвиля нулів".

На базі кільцевих лічильників можна реалізувати двійкові генератори чисел. Висновок генеруються чисел можна здійснювати як у паралельному, так і в послідовному коді. Генератор чисел представимо як сукупність трехразрядного регістра зсуву і комбінаційного пристрою (КУ), вихідний сигнал якого служить "джерелом" інформації для регістра зсуву (рис. 16). Вхідними змінними КУ є сигнали Q0, Q1, Q2. Максимальний цикл повторення чисел визначається 2m - тактами синхросигналу. У таблиці станів генератора чисел використані (рис. 17, а) такі позначення: Nп - десятковий еквівалент двійкового числа, реалізованого в паралельному коді; D0 - функція аргументів Q0, Q1, Q2. Цю функцію можна розглядати як послідовний код. Для отримання мінімальної диз'юнктивній форми запису функції D0 побудуємо карту Карно (рис. 17, б).

Рис. 15. Таблиця станів а) і схема б) лічильника Джонсона на трехразрядного регістрі зсуву

Припустимо, що спочатку всі тригери (рис. 15, б) перебувають у стані "0", тобто Q0 = Q1 = Q2 = 0. При цьому на вході "D" першого тригера присутній рівень "1", т.к = 1. Першим синхроимпульсом в тригер Т1 запишеться "1", другим - одиниця запишеться в перший тригер, з першого - в другій і т.д. до тих пір, поки на всіх виходах регістра не буде "1". Після заповнення регістра одиницями, на інверсному виході тригера Т3 з'явиться = 0 і четвертим синхроимпульсом в Т1 запишеться логічний "0".

Після надходження наступних трьох синхроимпульсов регістр обнуляється і на його вхід "D" знову подається рівень "1". Таким чином, цикл повторення стану кільцевого лічильника складається з шести тактів синхросигналу. Як бачимо, при роботі на початку від першого тригера до останнього тригера поширюється "хвиля одиниць", а потім "хвиля нулів".

На базі кільцевих лічильників можна реалізувати двійкові генератори чисел. Висновок генеруються чисел можна здійснювати як у паралельному, так і в послідовному коді. Генератор чисел представимо як сукупність трехразрядного регістра зсуву і комбінаційного пристрою (КУ), вихідний сигнал якого служить "джерелом" інформації для регістра зсуву (рис. 16). Вхідними змінними КУ є сигнали Q0, Q1, Q2. Максимальний цикл повторення чисел визначається 2m - тактами синхросигналу. У таблиці станів генератора чисел використані (рис. 17, а) такі позначення: Nп - десятковий еквівалент двійкового числа, реалізованого в паралельному коді; D0 - функція аргументів Q0, Q1, Q2. Цю функцію можна розглядати як послідовний код. Для отримання мінімальної диз'юнктивній форми запису функції D0 побудуємо карту Карно (рис. 17, б).

Рис.17. Мінімізація КУ на картах Карно.

На основі min D0 легко будується схема КУ, наведена на рис.18. При побудові схеми КУ додаткові інвертори не будуть потрібні, тому тригери регістра мають як прямі, так і інверсні виходи.

3. Завдання до роботи:

3.1. Побудувати чотирьохрозрядний регістр зсуву:

Варіант 1 - RS-тригер, L1;

Варіант 2 - D-тригер, L2;

Варіант 3 - JK-тригер, L2;

Варіант 4 - RS-тригер, R1, реверсивний;

Варіант 5 - D-тригер, R1, реверсивний;

Варіант 6 - JK-тригер, R1, реверсивний;

3.2. Побудувати діаграму роботи регістра і визначити стан розряду відповідно до завдання.

 3.3 Звіт по роботі повинен містити:

Опис принципу роботи регістра зсуву;

Функціональну схему регістра на тригерах, згідно варіанту;

Тимчасові діаграми роботи регістра зсуву;

індивідуальні висновки, які починаються зі слів: "Встановлено, що ...", "Показано, що ...". .

4. Контрольні питання:

У яких блоках ЕОМ використовується регістри?

Розкажіть принцип роботи регістра зсуву.

Як здійснюється зрушення числа на два розряди вліво?

Як здійснюється зрушення числа на один розряд вправо?

Що таке циклічний зсув числа в регістрі?

Що відбувається з крайніми розрядами числа при арифметичному зсуві?

5. Приклад виконання роботи в Multisim 8

Розглянемо для прикладу побудова чотирьохрозрядний регістр зсуву.

1. Уважно читаємо теорію.

2. Запускаємо Multisim: Пуск -> Програми -> Electronics Workbench -> Multisim 8 -> Multisim 8

Якщо немає вікна нового проекту, то створюємо новий проект: File -> New або комбінація клавіш Ctrl + N (Рис. 1)

3. На панелі інструментів «Components» вибираємо «Misc Digital» (чи інший набір компонентів, залежно від умов завдання):

З'явиться панель вибору компонентів (Мал. 2).

Малюнок 2

Її також можна викликати в меню Place -> Component (або поєднання Слави Ctrl + W). У ній в поле Family вибираємо клас компонента (наприклад, Til), в полі Component вибираємо тип компонента (наприклад, Not). Натискаємо Ok і цей компонент з'явиться на робочому

поле (він буде слідувати за курсором миші, поки ви не клікніть на робочому полі для його розміщення).

На малюнку наведено типові елементи, які необхідні для побудови схеми регістра:

4. Будуємо необхідну схему (Рис. 1.3).

Малюнок 1.3 Схема чотирирозрядний регістра зсуву

5. На правій панелі інструментів «Instruments» вибираємо Word Generator і Logic Analizer (або в рядку меню: Simulate -> instruments-> Word generator (Logic Analizer)). Ці елементи також слідують за курсором миші до кліка на робочому полі. Розміщуємо їх, і з'єднуємо зі схемою:

Logic Analizer

Word Generator

6. Робимо подвійне клацання миші на елементі «Word Generator» і задаємо вхідні комбінації і частоту.

7. Побудова векторної діаграми: у рядку меню вибираємо View -> Grapher. З'являється вікно Grapher View

Не закриваючи це вікно, вибираємо в меню Simulate -> Run. Графік готовий.

Якщо на панелі інструментів вікна Grapher View ви оберете команду копіювати, то в буфер скопіюється побудована векторна діаграма:

8. Виконане вами завдання, і побудовану векторну діаграму, можна зберегти файл.

Лабораторна робота №19

Тема: «Підключення зовнішньої пам'яті до мікроконтролера Intel 8051 і її тестування

Мета роботи: розробити схему підключення мікроконтролера з зовнішньою пам'яттю і протестувати пам'ять.

Особливості підключення до МК зовнішньої пам'яті і периферійних пристроїв

Мікроконтролер 8051 може працювати із зовнішньою пам'яттю даних ємністю до 64 КБ, построеннной на одній або декількох мікросхемах статичної пам'яті.

В БД Multisim є мікросхеми RAM з байтовой організацією об'ємом 2Кх8 і 8Кх8 біт (рис. 2.17).

Рис. 2.17. Статична RAM 8Kx8 і 2Kx8

Такі мікросхеми мають 8 двонапрямлених висновків даних (D0 - D7), 11 або 13 адресних входів (А0-А10 або А0-А12). Вхід WE (W) визначає характер звернення: якщо на ньому встановлена ​​1, то здійснюється читання з обраної комірки; при WE = 0 в осередок буде записана інформація. Вхід CS (E1, E2) активізує мікросхему пам'яті: коли на вході CS встановлена ​​1, вона виключена, при CS = 0 допускається будь-яке звернення до пам'яті. Нульовий сигнал на вході OE (G) дозволяє роботу вихідний шини даних мікросхеми.

В БД Multisim також представлені мікросхеми ПЗУ (рис. 2.18): ROM (32Kx8), EPROM (8Kx8, 16Кх8). Такі мікросхеми в робочому режимі допускають тільки зчитування інформації. Висновки мікросхем аналогічні мікросхем RAM, крім виведення PGM, що відповідає за програмування.

Рис. 2.18. ПЗУ EPROM 16Kx8 і 8Kx8 і і ROM 32Kx8

У мікроконтролерах МК51 існує 4 багатофункціональних 8-бітових порту введення / виводу Р0, Р1, Р2, Р3, призначені для обміну інформацією з різними зовнішніми пристроями і для виконання спеціалізованих функцій, таких як підключення зовнішньої пам'яті програм, даних, програмування внутрішнього ПЗУ та ін.

Кожен порт може адресуватися як побайтно, так і побитно, по конкретним фізичним адресами. При підключенні до МК зовнішньої пам'яті через порт Р0 виводиться молодший байт адреси, а також передається і приймається в мікроконтролер байт даних (у мультиплексированную режимі). У 1 і 2 тактах машинного циклу звернення до зовнішньої пам'яті на лініях P0 активізується адресна інформація А0 - А7 при високому рівні сигналу ALE, а потім на цих же лініях з'являється сигнал D0 - D7 (при низькому рівні сигналу ALE). Для фіксації байта адреси протягом усього машинного циклу використовуються регістри-засувки, наприклад, 74LS373N, інформація в яких фіксується по спаду сигналу на його вході ENG (рис. 2.25).

Через порт Р2 виводиться старший байт адреси (розряди А8 - А15) зовнішньої пам'яті програм і даних. Для кожного з бітів порту Р3 є ряд альтернативних функцій. Сигнали стробів записи (WR #) і читання (RD #) зовнішньої пам'яті формуються на лініях Р3.6 і Р3.7 відповідно.

Альтернативні функції всіх портів реалізуються тільки в тому випадку, якщо у відповідний розряд фіксатора-засувки порту записана логічна «1», інакше на відповідному висновку буде присутній «0».

Кожен висновок портів Р0 - Р3 може використовуватися як вхід або вихід незалежно від інших. Для налаштування лінії порту на введення інформації необхідно у відповідний розряд порту записати «1», а для використання в якості виходу - «0». При системному скиданні в регістрах засувках всіх портів встановлюється значення 0FFh.

Порядок виконання лабораторної роботи

Створення схемного проекту

Відкриваємо і зберігаємо новий схемний проект Circuit2.

Розміщуємо на робочому полі МК-51 мікросхему пам'яті ємністю 2 Кбайта (Place - Component - MCU - RAM), регістр-засувку 4037BP, яку можна знайти, наприклад, у групі CMOS в сімействі CMOS_5V, землю та харчування (Place - Component - Sources - POWER_SOURCES). Зібрана електронна схема представлена ​​на рис. 2.25.

Після вибору компонентів з БД і розміщення їх на схемі, необхідно з'єднати компоненти між собою. У програмі Multisim дію мишею на схемі залежить від положення курсора. Зовнішній вигляд курсора змінюється в залежності від того, на який об'єкт він наведений (рис. 2.19.) Для того, щоб провести з'єднує провід між елементами, необхідно клікнути ЛКМ по висновку одного елемента, потім, не відпускаючи кнопку, провести з'єднання до виведення іншого елемента . Після появи з'єднує провідника між елементами Multisim автоматично присвоїть йому номер. Нумерація ліній збільшується послідовно, починаючи з 1.

Рис. 2.19. види курсора

Заземляющие дроти завжди мають номер 0, це вимога пов'язана з роботою прихованого емулятора SPICE. Щоб змінити нумерацію з'єднання або присвоїти йому логічне ім'я, необхідно двічі клікнути по сполучному провіднику (рис. 2.20).

Рис. 2.20. Установки ланцюга

У Multisim є функція автоматичного з'єднання висновків між собою і з провідниками. При додаванні компонента до існуючої мережі з'єднань, необхідно, щоб висновки компонента стосувалися існуючої мережі, або помістити компонент паралельно з'єднанню.

Для розміщення з'єднує шини в схемном проекті необхідно вибрати пункт меню Place - Bus або значок на панелі компонентів або гарячу клавішу Ctrl-U.

Розглянемо підключення необхідних компонентів до шини на прикладі компонента U3 (див. Рис. 2.25). За допомогою ЛФМ розміщуємо шину навпроти висновків, необхідних для підключення компонентів, наприклад, навпаки висновків D0 - D7 елемента U3, потім фіксуємо положення шини ПКМ. Далі в контекстному меню компонента U3, що з'єднується з шиною, натискаємо Bus Vector Connect (рис. 2.21).

Зліва вікна з'єднань представлені необхідні дані про компонент (позначення, положення висновків, висновки), праворуч - про шину (позначення, шинні лінії). Вибираємо в підміню Pins висновки компонента 1D - 8D для підключення до шини, утримуючи клавішу Shift і за допомогою стрілок, відправляємо їх у нижнє віконце. Праворуч вікна з'єднань вибираємо в поле Name шину, в нашому випадку Bus1. Далі необхідно сформувати вектора (лінії шини), Multisim пропонує для цього два способи: ручний і автоматичний:

 - Формування векторів вручну. Натискаємо (рис. 2.21) кнопку Add buslines для завдання векторів, з'являється відповідне вікно (рис. 2.22).

Рис. 2.21. Вікно з'єднання компонента з шиною

Тут вказуються префікс (мітка), наприклад, ln, початкове значення вектора, інкремент і кількість векторів (в нашому випадку їх 8). Після натискання на кнопку ОК (рис. 2.22), отримані лінії шини (вектора) відіб'ються в попередньому вікні. Кількість ліній шини має бути

еквівалентно обраним для підключення до шини висновків. Далі виділяємо отримані лінії шини і натискаємо кнопку ОК (рис. 2.21).

- Автоматичне формування векторів. Вектора вводяться автоматично при натисканні кнопки Auto-assign (див. Рис. 2.21).

На завершення натискаємо кнопку ОК. У такому ж порядку підключаємо до шини висновки МК51.

Рис. 2.22. Вікно завдання ліній шин вручну

При підключенні зовнішньої пам'яті аналогічним чином малюємо шину навпроти необхідних висновків елемента U2 і фіксуємо її. Ця шина автоматично буде названа Bus2. Для об'єднання шини Bus2 до шини Bus1 необхідно вибрати в контекстному меню Bus2 пункт Properties (рис.2.23).

Рис. 2.23. Вікно властивостей шини

У вікні натискаємо кнопку Merge. У наступному вікні (рис. 2.24) зліва вказана перша шина, призначена для об'єднання Bus1, а праворуч друга Bus2. У вікні об'єднання шин в поле Name другий шини вибираємо Bus1, після чого у віконці Buslines з'являться задані раніше вектора Bus1. Нижче вказана об'єднана шина з її векторами.

.

Рис. 2.24. Вікно об'єднання шин

Далі у вікні об'єднання шин натискаємо кнопку Merge і у вікні властивостей шини кнопку ОК. Як і раніше, вибираються висновки компонента і вектора шини, тільки в цьому випадку при натисканні кнопки ОК Multisim попереджає, що фрагмент шини, до якої необхідно провести підключення, вибирається подвійним кліком ЛКМ. Готова схема представлена на рис. 2.25.

Рис. 2.25. Схема підключення зовнішньої пам'яті до МК-51

У вікні розробки (див. Рис. 2.25) вказана вся структура створеного проекту.

У висновку у властивостях МК на вкладці Value в полі Built-in External RAM необхідно вказати обсяг підключеної зовнішньої пам'яті (рис. 2.26).

Розробка програмного файлу

Активуємо ятати програмного файлу prog2.asm (prog2.с), клацнувши по ній ЛК миші або вибравши програмний файл у вікні розробки.

Рис. 2.26. Вікно властивостей МК, вкладкаValue

Якщо є готова програма, розробка якої виконана, наприклад, в середовищі PRO View [1], то вставляємо отриманий асемблерний (або С) програмний код і зберігаємо його.

Покажемо програму тестування зовнішньої пам'яті на наступному прикладі: потрібно перевірити 255 байт зовнішньої пам'яті, починаючи з клітинки 00h, використовуючи тестовий набір 055h.

Асемблерний файл програми:

$ MOD51 ; підключення МК-51

org 00h ; починаємо програму з адреси 00h

mov dptr, # 00h ; завантажити в регістр-покажчик число 00h

mov r2, # 0ffh ; завантажити в регістр R2 число 0ffh (лічильник циклу)

mov r1, # 055h ; завантажити в регістр R1 число 55h

test:

mov a, r1 ; завантажити акумулятор ACC операндом з регістра R1

movx @ dptr, a ; переслати в осередок зовнішньої пам'яті XRAM вміст `акумулятора АСС

movx a, @ dptr ; вважати в акумулятор вміст поточної комірки зовнішньої пам'яті

xrl a, # 055h ; операція XOR ліченого і початкового операнда, якщо 0 в Акк, то осередок працює нормально

jnz error ; помилка - вихід їх програми

inc dptr ; інкремент вмісту регістра DPTR - перехід до наступного адресою

djnz r2, test ; відняти 1 з вмісту регістра R2 і перейти по мітці, якщо в осередку не 0

error:

END

Вибираємо в меню MCU - MCU 8051 U1, пункт Build, який дозволяє відкомпілювати і відредагувати програмний файл. У вікні повідомлень на екрані відображається інформація про помилки та попередження. Якщо є помилки, у вікні повідомлень вказані номери рядків, в яких вони знаходяться. Для відображення нумерації рядків необхідно вибрати меню MCU - Show lines numbers.

Моделювання роботи схеми проводиться через меню Simulate - Run, або гарячу клавішу F5, або іконку на панелі Моделювання – . При цьому відкривається вікно відладчика. Для покрокового моделювання використовується пункт Step into в меню MCU, гаряча клавіша F11 або ікона на панелі Моделювання .

Кнопка Pause або гаряча клавіша F6 ініціюють паузу моделювання, при натисканні якої можливо подивитися на якому етапі перебуває симуляція .Кнопка Stop зупиняє виконання моделювання.

Перегляд пам'яті мікроконтролера активується через меню MCU - MCU 8051 U1 - Memory view, також можна використовувати пункт MCU Windows, де у спливаючому вікні можна відзначити галочкою необхідні для роботи вікна атрибути. При необхідності виконання програми до певної інструкції в Multisim передбачені точки зупину, встановити які можливо через меню MCU - Toggle breakpoint або через панель Моделювання - .

Кнопка Remove all breakpoints видаляє всі точки зупину.

Після виконання програмою інструкції djnz r2, test подивимося результати записи в зовнішню пам'ять (рис. 2.27). У ACC записано число 00h, в R1 - 55h, в R2 - FEh, в першій клітинці зовнішньої пам'яті XRAM - 55h.

Рис.2.27. Результати моделювання після інструкції djnz r2, test

Після завершення моделювання в кожному осередку зовнішньої пам'яті буде записано число 55h, регістр R2 матиме нульове значення.

Робота з С-файлом аналогічна. Нижче розглядається варіант тестування зовнішньої пам'яті з адресами від 400h до 7FFh.

#include <8051.h> // підключаємо заголовні файли

 void main () // головна функція, точка входу в програму

{

int i; // Оголошуємо змінні

// Змінна ptr - вказівник на адресу комірки пам'яті зовнішнього ОЗУ

char xdata * ptr;

// Символьні змінні test, nabor (байтові змінні)

char test, nabor;

nabor = 0x55; // Тестовий набір

Ріс.2.27. Результати моделювання після інструкції djnz r2, test

Після завершення моделювання в кожному осередку зовнішньої пам'яті буде записано число 55h, регістр R2 матиме нульове значення.

Робота з С-файлом аналогічна. Нижче розглядається варіант тестування зовнішньої пам'яті з адресами від 400h до 7FFh.

#include <8051.h> // підключаємо заголовні файли

 void main () // головна функція, точка входу в програму

{

int i; // Оголошуємо змінні

// Змінна ptr - вказівник на адресу комірки пам'яті зовнішнього ОЗУ

char xdata * ptr;

// Символьні змінні test, nabor (байтові змінні)

char test, nabor;

nabor = 0x55; // Тестовий набір

Рис. 2.28. Підключення осцилографа і його інструментальна панель під час моделювання

  Завдання на лабораторну роботу

1. Підключити до МК зовнішнє ОЗУ ємністю N кбайт і використовуючи тестовий набір XX призвести тестування області пам'яті 1 кбайт, починаючи з адреси ZZZ. Включити світлоіндикатор, якщо записаний і лічений з комірки пам'яті набори не збігаються. Підключити осцилограф, як показано на рис 2.28, і зняти осциллограмму з виведення ALE МК. Варіанти завдань наведені в табл. 2.9. Таблиця 2.9

Варіанти завдання 1

Параметри

1

2

3

4

5

6

N, кбайт

8

2

8

8

8

2

XX

0AAh

55h

00h

0FFh

55h

0AAh

ZZZ

800h

100h

0C00h

1000h

1400h

400h

2. Підключити до МК зовнішнє ПЗУ ємністю N кбайт (табл. 2.10). Підрахувати контрольну суму області пам'яті ємністю K байт, починаючи з адреси ZZZ і порівняти її з константою, що знаходиться в резидентном ПЗУ. Якщо порівнювані величини збігаються, тестування ПЗУ пройшло успішно, інакше включити світлоіндикатор. Підключити осцилограф, як показано на рис 2.28, і зняти осциллограмму з виведення ALE МК ..

Таблиця 2.10.

Варіанти завдання 2

Параметри

7

8

9

10

11

12

N, кбайт

8

16

32

8

16

32

K, байт

100

300

500

150

350

650

ZZZ

800h

1000h

2000

0C00h

1000h

400h

Зміст звіту

1. Найменування і мета роботи.

2. Опис мікросхеми пам'яті з призначенням висновків і осцилографа, використаного в експерименті, з його крат¬кімі характеристиками.

3. Копія схемного файлу під час моделювання із зазначенням позиційних позначень елементів і шин.

4. Копія програмного файлу (на асемблері або на С) з докладними коментарями.

5. Отримані результати і висновки по роботі.

Лабораторна робота №20

Тема: «Організація заданих інтервалів часу на базі мікроконтролера Intel 8051»

Мета роботи: на основі вбудованих таймерів МК-51 навчитися реалізовувати необхідні часові інтервали.

Основи налаштування і використання таймерів МК-51

До складу МК-51 входять два 16-розрядних таймера / лічильника Т / С0, Т / С1. Стан таймерів / лічильників відображається в програмно-доступних регістрах (ТН0, ТL0), (ТН1, ТL1), які розміщені в просторі SFR за адресами (8Сh, 8Аh), (8Dh, 8Bh).

Таймери / лічильники Т / С0 і Т / С1 можуть бути запрограмовані для роботи або в якості таймера, або в якості лічильника. Функція таймера полягає в рахунку числа машинних циклів, наступних з частотою FOSC / 12. Функція лічильника полягає у відстеженні числа переходів з 1 в 0 на відповідних входах Т0, Т1.

Управління режимами роботи пристроїв Т / С0, Т / С1 здійснюється регістром TMOD (Timer / Counter Mode), який розташований за адресою 89h, до нього можливе звернення тільки байтом даних (рис. 2.29).

7

6

5

4

3

2

1

0

GATE

С/Т

М1

М0

GATE

C/T

М1

М0


Рис. 2.29. Структура регістра TMOD

Регістр розбитий на два 4-розрядних подрегістра T0MOD і T1MOD, які відповідальні за управління Т / С0 (біти 0 - 3) і Т / С1 (біти 4 - 7):

TMOD.0 - M0. Молодший біт поля управління режимом Т / С0.

TMOD.1 - M1. Старший біт поля управління режимом Т / С0.

При цьому режим таймера Т / С0 програмується відповідно до значень М0 і М1 наступним чином:

М0 М1 Режим М0 М1 Режим

0 0 0 0 1 2

1 0 1 1 1 3

TMOD.2 - C / T. Вибір функції таймера або лічильника Т / С0.

При С / Т = 0 вибирається функція таймера, інакше - лічильника.

TMOD.3 - GATE. Прапорець управління роботою Ст0. При GATE = 1 робота дозволяється, якщо вхід INT0 = 1 і біт TR0 = 1 (див. Рис. 2.30). При GATE = 0 робота лічильника залежить тільки від стану TR0.

TMOD.4 - M0. Те саме, але для Т / С1.

TMOD.5 - M1. Те саме, але для Т / С1.

TMOD.6 - C / T. Те саме, але для Т / С1.

TMOD.7 - GATE. Те саме, але для Т / С1.

За керування таймерами Т / С0, Т / С1 також відповідальний регістр TCON (Timer / Counter Control), розташований за адресою 88h, який може управлятися побитно (рис. 2.30).

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

Рис. 2.30. Структура регистра TCON

Молодша половина регістра використовується для управління входами запиту на переривання INT0 і INT1, старша - для управління безпосередньо таймерами Т / C0, Т / С1:

TCON.0 - IT0. Управління типом входу запиту на переривання INT0. При IT0 = 0 програмується динамічний по зрізу тип входу, в іншому випадку - статичний.

TCON.1 - IE0. Прапорець запиту переривання INT0 при динамічному вході. При підтвердженні переривання скидається.

TCON.2 - IT1. Те ж, що і IT0, але для входу INT1.

TCON.3 - IE1. Те ж, що і IЕ0, але для INT1.

TCON.4 - TR0. Прапорець програмного запуску / зупинки Т / C0.

TCON.5 - TF0. Прапорець переповнення Т / C0, який викликає запит переривання. При підтвердженні переривання скидається.

TCON.6 - TR1. Те ж, що і TR0, але для Т / С1.

TCON.7 - TF1. Те ж, що і TF0, але для Т / С1.

 МК-51 має чотири режими роботи вбудованих таймерів, що визначаються установкою відповідних бітів регістра TMOD. Режими роботи таймерів 0, 1, 2 збігаються для обох таймерів. Установка в режим 3 таймера-лічильника Т / С0 впливає на режим роботи Т / С1.

Розглянемо режими роботи таймерів-лічильників.

Режим 0

 Таймери / лічильники є пристроями на базі 13-розрядних регістрів, утворених відповідними регістрами ТНХ (х дорівнює 0 або 1) і 5-ю молодшими розрядами регістрів TLx (три старших розряду TL0 і TL1 є незначущими). Регістри TLx виконують в таймерах функцію дільника на 32. Таймери починають вважати при установці біта TRx регістра TCON в стан «1». Установка в «1» біта GATEx регістра TMOD дозволяє управління таймерами / лічильниками ззовні (по входах INT0, INT1). Установка в «0» біта TRx регістра TCON забороняє рахунок незалежно від стану інших бітів. Біт С / Тх визначає роботу Т / С як таймерів («0»), так і лічильників («1»).

Режим 1

Даний режим відрізняється від попереднього тільки тим, що в лічильнику використовується 16-розрядний, а не 13-розрядний регістр.

Режим 2

У цьому режимі використовуються 8-розрядні регістри TL0 (в Т / С0) і TL1 (в Т / С1). При переповненні цих регістрів в процесі рахунку відбувається перезавантаження їх значенням, заданим, регістрами TH0 або TH1. Регістри TH0 (TH1) завантажуються програмно, і процес перезавантаження їх вмісту в TL0 (TL1) не змінює їх значення.

Режим 3

У цьому режимі працює тільки Т / С0. Лічильник Т / С1 заблокований і зберігає вміст своїх регістрів TL1 і TH1 (як при TR1 = 0). Лічильник Т / С0 представлений двома незалежними 8-розрядними регістрами TH0 і TL0. Пристрій на базі TH0 може працювати тільки як таймер і використовує деякі керуючі біти і прапори Т / С1, наприклад, при переповненні ТН0 відбувається установка TF1, а для включення використовується біт TR1. Решта керуючі біти лічильника Т / З1 з роботою таймера TH0 не пов'язані. Установка Т / С0 в режим роботи 3 призводить до позбавлення Т / С1 керуючого біта TR1. З цієї причини при налаштуванні пристрою Т / С0 в 3 режим, пристрій Т / С1, що працює в режимах 0, 1, 2 і при GATE1 = 0, завжди включено. При переповненні в режимах 0 і 1 таймер Т / С1 обнуляється, а у 2-му режимі - перезавантажується, що не встановлюючи прапор TR1. Цей режим роботи Т / С0 може бути використаний в тих випадках, коли практично вимагається робота трьох незалежних каналів рахунку.

Лічильники / таймери Т / С0, Т / С1 є внутрішніми джерелами переривань і використовують для вироблення запитів переривань прапори переповнення TF0, TF1, представлені в регістрі управління TCON. Обробка переривань (вектора переривання) для T / С0 і Т / С1 починається з адрес 000Вh і 001Вh відповідно.

  Порядок виконання лабораторної роботи

Розглянемо для прикладу таку задачу: потрібно підключити світлодіоди до ліній одного з портів (Р0 - Р3) і забезпечити їх попеременное запалювання протягом заданого інтервалу часу. При виконанні роботи проведемо вимірювання електричних параметрів світлодіодів за допомогою мультиметра.

Створюємо схемний проект Circuit 3, розміщуємо на робочому полі мікроконтролер МК-51, 8 резисторів по 270 Ом (для організації необхідного для запалювання діодів струму), 8 світлодіодів, землю та харчування. Можна для підключення реалізувати шину Bus1. Під'єднуємо 8 світлодіодів до ліній порту Р1 МК-51 і будемо по черзі підтримувати кожен з них у включеному стані протягом 10 с, а потім вимикати. (Рис. 2.31).

Рис. 2.31. Схема для проведення лабораторної роботи №3

У властивостях діода на вкладці Value в полі On Current (Ion) необхідно вказати діюче значення струму 0,1 мА (рис. 2.32).

Рис. 2.32. Властивості діода, вкладка Value

 Розглянемо асемблерний файл програми.

Використовуємо перший режим роботи Т / С0, налаштуємо його на рахунок машинних циклів (режим таймера) і організуємо переривання пристрою на частоті кварцу 12 Мгц через кожні 50 мс (інкрімент самого таймера

відбуватиметься кожну мікросекунду). Для цього таймер повинен рахувати до 50000, переходити в режим переривання і обнулятиметься.

$ MOD51; підключення МК-51

jmp start; перехід на мітку start

org 0bh; підпрограма переривання по переповнення таймера T0

clr tcon.4; забороняємо рахунок таймера

reti; команда повернення з переривання

org 20h

start:; основна програма

clr c; скидання перенесення

       mov tmod, # 01h; настройка T / C0 на роботу в першому режимі в якості таймера

setb ie.7; загальний дозвіл переривання

setb ie.1; дозволяємо переривання по таймеру T / С0

    mov p1, # 0h; налаштовуємо порт Р1 на висновок інформації

        met1:

     mov a, 1h; заносимо в акумулятор значення 1h (для включення діода LED1)

       mov r0, # 0C8h; r0 - лічильник циклу

     ; заносимо число 200 в регістр r0 (200 разів по 50 мс, щоб було 10с)

met:

        mov TL0, #low (not (50000-1))

               ; поміщаємо в регістр TL0 молодший байт числа 50000, вважаємо від -50000 до 0

      mov TH0, #high (not (50000-1)

      ; поміщаємо в регістр TН0 старший байт числа 50000, вважаємо від -50000 до 0

       mov p1, a; включаємо перший світлодіод

       setb tcon.4; включаємо таймер T / С0

       next:

       jnb tcon.5, next; чекаємо прапор переповнення TF0

djnz r0, met; організуємо цикл 200 разів (10 с)

rlc a; після закінчення 10 с. зрушуємо вміст Аcc і включаємо наступний діод

mov r0,0C8h; знову завантажуємо лічильник циклу r0

jnc met; якщо не carry (не 8 діод горить), йдемо на met

       clr c; скидання перенесення

       jmp met1; нескінченний цикл

       end

 Розглянемо програмний код на С, змінюючи умови роботи світлодіодів.

Припустимо, кожен діод горить по 40 с, потім після поперемінного включення 8 діодів йде пауза в 20 с.

Програмний код включає основну програму і підпрограму msec, в якій реалізується отримання періоду часу 10 мс. Параметром підпрограми msec є коефіцієнт розподілу необхідного тимчасового інтервалу на 10 мс.

#include <8051.h>

// Підпрограма отримання необхідного тимчасового інтервалу; x - коефіцієнт розподілу тимчасового інтервалу на 10 мс

void msec (int x)

{

while (x--> 0) // декремент х, до тих пір, поки х> 0

{

TH0 = (-10000) >> 8 // настройка TH0 на значення старшого байта (-10000)

TL0 = -10000; // Настройка TL0 на значення молодшого байта (-10000)

TR0 = 1; // Включити таймер

do; while (TF0 == 0); // Очікування 10 мс

TF0 = 0; // Очистити прапор переповнення

TR0 = 0; // Вимкнути таймер

}

}

void main () // основна програма

{

int i;

unsigned char array [9];

TMOD = 0x1; // Настройка TC0 на перший режим роботи

array [0] = 0x0; // Значення масиву для паузи

// Значення масиву для почергового запалювання восьми діодів

array [1] = 0x1;

array [2] = 0x2;

array [3] = 0x4;

array [4] = 0x8;

array [5] = 0x10;

array [6] = 0x20;

array [7] = 0x40;

array [8] = 0x80;

// Організувати паузу 20 мс

P1 = array [0];

msec (2);

for (i = 1; i <9; i ++) // організувати цикл від 1 до 8

{

P1 = array [i]; // Почергово включати діоди

msec (4); // Утримувати світіння по 40 мс

}

        while (1);

}

Розглянемо включення в досліджувану схему мультиметра. Підключимо прилад до ліній порту Р1. Для цього вибираємо на поле вимірювальних приладів іконку мультиметра і встановлюємо на робочу область. Зображення приладу містить висновки, що підключаються до досліджуваного компоненту схеми. Якщо струм «втікає» в висновок «+», то виходять позитивні значення виміряного струму, при іншому підключенні - від'ємне значення струму (рис. 2.33).

Рис. 2.33. Приклад підключення мультиметра до схеми для вимірювання струму

За допомогою мультиметра можна вимірювати струми, напруги, опору електронних компонентів - в повній аналогії з реальним фізичним приладом, у якого на лицьовій панелі теж є такі перемикачі (рис. 2.34).

Рис. 2.34. Передня панель мультиметра

Передня панель мультиметра містить ще один перемикач - режим виміру перешкод в децибелах, а також кнопки для перемикання вимірювань по постійному і змінному струму.

  Кнопка на панелі дозволяє відобразити параметри мультиметра як приладу в окремому вікні (рис. 2.35).

Рис. 2.35. Вікно параметрів мультиметра

У вікні властивостей приладу можна бачити наступне:

в групі Electronic Setting показано що він має внутрішній опір, рівне 1ном, якщо він вимірює електричний струм, має внутрішній опір 1 ГОм, якщо вимірює напругу, і для вимірювання опору прилад формує струм 10 нА через підключений елемент схеми, який потім використовується для обчислення опору ;

в групі Display Setting наводяться значення, що визначають умови індикації помилки при вимірі. Так, якщо, наприклад, вимірювана напруга перевищить значення Voltmeter Over range, то програмою видається повідомлення про помилку (рис. 2.36).

Рис. 2.36. Повідомлення про помилку на передній панелі мультиметра

Всі зазначені вище параметри можуть бути змінені при налаштуванні роботи приладу в схемі: якщо, наприклад, послідовне або паралельне опір (вимірювач струму або напруги) будуть впливати на роботу схеми, то їх можна змінити на нові значення.

  При запуску режиму моделювання МК починає виконувати програму, а на екрані мультиметра з'являться значення вимірюваного струму або напруги (рис. 2.37).

Рис. 2.37. Показання мультиметра при запалюванні першого світлодіода

Завдання на лабораторну роботу

Потрібно підключити світлодіод до однієї з лінії порту PX.Y (X - номер порту, Y- номер виводу порту) і забезпечити загоряння світлодіода протягом S с, потім вимикання світлодіода протягом До с; організувати попеременное включення / вимикання світлодіода протягом Т хв. Провести підключення мультиметра до світлодіоду і виміряти його струм і / або напругу під час роботи. Варіанти завдань наведені в табл. 2.11.

Таблиця 2.11

Варіанти завдань

Параметры

1

2

3

4

5

6

7

8

9

10

РХ.Y

Р1.3

Р1.7

Р2.5

Р2.1

Р3.5

Р1.6

Р3.2

Р1.4

Р2.6

Р3.3

S, с

2

3

1

0,5

4

6

0,7

5

6

7

К, с

1

2

0,5

1

3

4

0,3

4

5

6

Т, мин

3

5

2

1

8

10

2

1

5

15

Зміст звіту

1. Найменування і мета роботи.

2. Опис схемних особливостей лінії порту МК, використовуваної для підключення світлодіода і мультиметра, вживаного в експерименті, з його крат¬кімі характеристиками.

3. Опис особливостей програмування таймера МК, використовуваного для реалізації тимчасового інтервалу.

3. Копія схемного файлу під час моделювання із зазначенням позиційних позначень елементів.

4. Копія програмного файлу (на асемблері або на С) з докладними коментарями.

5. Отримані результати і висновки по роботі.

Лабораторна робота №21

Тема: «Основи організації послідовного порту»

Мета роботи: навчитися використовувати послідовний порт МК для різних застосувань.

Основні відомості про режими роботи послідовного порту

У структуру МК-51 входить двобічний канал послідовної зв'язку з буферизацією, який може бути запрограмований для роботи в одному з чотирьох режимів:

а) Режим 0 - синхронний, послідовний введення-виведення зі швидкістю ,

б) Режим 1 - асинхронний з 10-бітовим кадром і змінною швидкістю передачі, яка залежить від частоти переповнення таймера / лічильника 1 - Т / С1,

в) Режим 2 - асинхронний з 11-бітовим кадром і фіксованою швидкістю передачі чи ,

г) Режим 3 - асинхронний з 11-бітовим кадром і змінною швидкістю передачі також визначається частотою переповнення Т / С1.

Прийняті вхідні і передані вихідні дані в паралельному коді зберігаються в буферному регістрі SBUF, який розташовується в просторі SFR за адресою 99h. Управління роботою приемопередатчиков здійснюється через слово управління та стану SCON, розташоване в регістрі за адресою 98h, що має наступну структуру (рис. 2.38):

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

Рис. 2.38. Структура регистра SCON

SCON.0 - RI. Прапор переривання приймача.

SCON.1 - TI. Прапор переривання передавача.

SCON.2 - RB8. Восьмий біт приймача в режимах 2 і 3. У режимі 1, якщо SM2 = 0, то відображає стоп-біт. У режимі 0 не використовується.

SCON.3 - TB8. Восьмий біт передавача в режимах 2 і 3.

SCON.4 - REN. Дозвіл прийому.

SCON.5 - SM2. Заборона прийому кадрів з нульовим восьмим бітом даних. У режимі 0 повинен бути скинутий.

SCON.6 - SM1. Молодший розряд для кодування номера режиму.

  SCON.7 - SM0. Старший розряд для кодування номера режиму.

Режим роботи послідовного порту визначається таким чином:

SM0 SM1 Режим SM0 SM1 Режим

0 0 0 1 0 2

0 у середньому 1 1 1 1 3

Біти SCON.0 - SCON.2 встановлюються апаратно, а скидаються програмно, біти SCON.3 - SCON.7 встановлюються і скидаються програмно.

У режимі 0 роботи послідовного порту для синхронізації зовнішніх пристроїв використовується лінія TxD (Р3.0), по якій передаються синхроімпульсів, а прийом і передача інформації здійснюється по лінії RxD (Р3.1).

Швидкість прийому / передачі в режимі 0 визначається як

, де

– частота кварцового резонатора.

За один машинний цикл МК послідовний порт передає один біт інформації.

Швидкість прийому / передачі послідовного порту в режимі 2 визначається як

,

де біт SMOD є 7 бітом регістра PCON (рис. 2.39).

Регістр PCON розташовується в просторі SFR за адресою 87h і повністю реалізований в мікросхемах КМОП технології для управління режимом енергоспоживання. Призначення біт регістра наступне:

SMOD

-

-

-

GF1

GF0

PD

IDL

Рис. 2.39. Структура регистра PCON

PCON.0 - IDL. Біт холостого коду. При PCON.0 = 1 МК переходить в режим холостого ходу.

 PCON.1 - PD. Біт зниженої потужності. При PCON.1 = 1 МК переходить в режим зниженого споживання потужності.

 PCON.2 - GF0. Прапор, спеціфіціруемий користувачем.

PCON.3 - GF1. Прапор, спеціфіціруемий користувачем.

PCON.4. Не використовується.

PCON.5. Не використовується.

PCON.6. Не використовується.

PCON.7 - SMOD. Подвоєна швидкість роботи послідовного порту, якщо SMOD = 1.

Швидкість передачі в режимах 1 і 3 визначається не тільки бітом SMOD, але і частотою переповнення таймера-лічильника Т / С1. При налаштуванні порту на ці режими роботи необхідно заборонити переривання по переповнення таймера Т / С1.

, де

– частота переповнення таймера-лічильника Т / С1. Найбільш зручно при роботі послідовного порту використовувати другий режим роботи Т / С1 режим 8-бітного підсумовуючого лічильника з автоперезагрузка. При цьому частота передачі визначається виразом:

,

де (ТН1) - вміст регістра ТН1 таймера лічильника Т / С1.

Параметри налаштування Т / С1 для управління частотою роботи послідовного порту представлені в табл. 2.12.

Таблиця 2.12

Налаштування МК для управління частотою послідовного порту

Частота

, Мгц

SMOD

С/Т1

Режим Т/С1

ТН1

Режим 0: 1 Мгц

12

Х*

Х

Х

Х

Режим 2: 375 Кгц

12

1

Х

Х

Х

Режимы 1, 3: 62,5 Кгц

12

1

0

2

0FFh

19,2 Кгц

11,059

1

0

2

0FDh

9,6 Кгц

11,059

0

0

2

0FDh

4,8 Кгц

11,059

0

0

2

0FAh

2,4 Кгц

11,059

0

0

2

0F4h

1,2 Кгц

11,059

0

0

2

0F8h

137,5 Гц

11,059

0

0

2

1Dh

110 Гц

6

0

0

2

72h

Символ * Позначає байдужість в налаштуванні відповідного параметра.

Передача даних по послідовному порту ініціюється всякий раз, коли нові дані заносяться в регістр SBUF, наприклад, по команді MOV SBUF, A. Ознакою закінчення передачі служить установка прапорця переривання TI.

Операція прийому даних активізується тільки при встановленому біті REN = 1, коли прапорець RI скинутий. Установка прапорця RI свідчить про готовність даних для зчитування з регістра SBUF, тоді може бути використана, наприклад, команда MOV A, SBUF.

Порядок виконання лабораторної роботи

Створюємо схемний проект Circuit4, встановлюємо на робочій області мікроконтролер МК-51. До висновку P3.0 підключаємо осцилограф (мал. 2.40) для зняття сигналу при передачі інформації.

Розглянемо, наприклад, асемблерну програму управління послідовним портом в режимі передачі. Припустимо, необхідно передати символи А, В, С зі швидкістю 4800 біт / с в асинхронному режимі 11-бітовим кадром (3 режим роботи). При написанні програми будемо використовувати режим переривань послідовного порту при передачі символу. Передані дані розміщуються в програмному коді, починаючи з адреси 30h

Рис. 2.40. Схема моделювання роботи послідовного порту

Активуємо вкладку програмного файлу prog4.asm і вставимо наступний асемблерний код:

$ MOD51; підключення МК-51

org 00h

jmp start

org 23h; адреса початку процедури переривань по послідовному порту

clr TI; при вході в підпрограму переривань Обнуляємо прапор TI

inc r1; інкрементіруем r1 - лічильник кількості переданих символів

mov a, r1; пересилаємо значення r1 в акумулятор

subb a, # 3h; перевірка значення r1, щоб не перевищило трьох символів

jnz metka; якщо не перевищує, то йдемо на metka

mov r1, # 00h; інакше Обнуляємо r1

metka:

reti; повернення з переривання

org 30h

tabl:

db 61h; таблиця даних для передачі

db 62h

db 63h

org 40h

start:

clr c; Обнуляємо біт carry

mov scon, # 0C0h; налаштовуємо порт на роботу в режимі 3

mov tmod, # 20h; встановлюємо лічильник Т / С1 в другій режим роботи

mov IE, # 90h; дозволяємо загальне переривання і переривання від порту

setb IP.4; максимальний пріоритет послідовного порту

mov tl1, # 0FAh; заносимо в таймер число FAh, щоб налаштувати порт

mov th1, # 0FAh; швидкість передачі 4800 біт / с

setb TR1; включаємо Т / С1

mov r1, # 0h

mov r0, # 03h; число байт, що підлягають відправці

mov dptr, #tabl; заносимо в dptr початкова адреса таблиці даних

met1:

mov a, r1

movc a,a + dptr

mov c, PSW.0; встановити біт парності при передачі кадру

mov TВ8, c; встановити біт ТВ8, рівним біту парності

mov sbuf, a; відправляємо символ таблиці на передачу

met:

jnb TI, met; чекаємо переривання

djnz r0, met1; організація циклу передачі

END

Розглянемо приклад проектування С-програми для передачі рядка «privet iz Ekaterinburga» з послідовного порту при його роботі в 2 режимі (11- бітовий кадр, фіксована швидкість передачі 375 Кбіт / с).

#include <8051.h>

// Функція відправки символу по послідовному порту

void tput (unsigned char c1)

{

SBUF = c1; // Заносимо символ в буфер передачі

while (! TI); // Очікуємо закінчення передачі

TI = 0; // Скидаємо прапор закінчення передачі

}

void main ()

{

char z;

int i;

// Оголошуємо і ініціалізіруем передану рядок

unsigned char src [] = {"privet iz Ekaterinburga"};

// Встановлюємо біт SMOD в 1, для того щоб швидкість прийому / передачі дорівнювала 1/32 частоти кварцового резонатора

PCON = 0x80;

for (i = 0; i <24; i ++)

{ACC = src [i]; // Заносимо поточний символ в акумулятор

// Число одиничних біт в акумуляторі непарне?

if (! (PSW && 0x01))

{

// Включаємо асинхронний 9-ти бітовий режим роботи послідовного порту, біт парності скинутий

z = 0x80;

}

else

{

// Включаємо асинхронний 9-ти бітовий режим роботи послідовного порту, біт парності встановлений

z = 0x88;

}

// Заносимо значення в регістр управління режимом приемопередатчика

SCON = z;

// Передаємо поточний символ у функию відправки

tput (src [i]);

}

while (1) {} // нескінченний цикл

}

Завдання на лабораторну роботу

Припустимо, необхідно прийняти / передати (R / T) N байт інформації, налаштувавши послідовний порт на К-режим роботи зі швидкістю обміну S кбіт / с. Необхідні для передачі байти знаходяться в резидентної пам'яті даних, починаючи з адреси ХХ.

У режимі прийому ХХ - початкова адреса резидентної пам'яті даних, де розміщуються прийняті байти. При моделюванні прийому будемо використовувати два мікроконтролера МК-51, один з яких передає інформацію в заданому режимі роботи, а інший приймає.

Варіанти завдань на лабораторну роботу представлені в табл. 2.13

Таблиця 2.13

Варіанти домашнього завдання

Параметры

1

2

3

4

5

6

7

8

9

10

R/T

T

T

R

T

R

R

T

T

R

T

K

0

1

2

3

0

1

2

3

1

1

S, кбит/с

1000

19,2

375

2,4

1000

4,8

187,5

62,2

9,6

1,2

XX

50h

30h

40h

50h

40h

60h

30h

40h

30h

50h

N

10

6

15

8

20

10

20

15

20

10

Зміст звіту

1. Найменування і мета роботи.

2. Опис особливостей роботи послідовного порту МК в режимі, використовуваному в завданні

3. Копія схемного файлу під час моделювання із зазначенням позиційних позначень елементів.

4. Копія програмного файлу (на асемблері або на С) з докладними коментарями.

5. Отримані результати і висновки по роботі.

Лабораторна робота №22

Тема: «Вивчення принципів роботи цифроаналогових перетворювачів»

Мета роботи: Ознайомлення з особливостями роботи інтегрального цифроаналогового перетворювача.

Загальні відомості про цифроаналогових перетворенні

Пристрій, що здійснює автоматичне перетворення вхідних значень, представлених числовими кодами, в еквівалентні їм значення якої-небудь фізичної величини (напруги, струму та ін.), Називають цифроаналоговим перетворювачем (ЦАП).

Основи класифікації ЦАП представлені на рис. 2.47.

Детальна інформація про ЦАП викладена, наприклад, в [9]. Поділ на послідовні і паралельні пристрої розглядається з точки зору паралельного або послідовне в часі перетворення сигналів.

Рис. 2.48. Загальна класифікація ЦАП

Особливості роботи паралельних ЦАП з підсумовуванням струмів

Існує два широко поширених паралельних способу цифроаналогового перетворення за допомогою підсумовування струмів, показані на рис. 2.49: з двома номіналами опорів R-2R і з ваговими двійковій-зваженими опорами.

Рис. 2. 49. Паралельні 3-х розрядні ЦАП з підсумовуванням струмів на резистивних матрицях: а) з двома номіналами опорів R-2R;

б) з ваговими двійковій-зваженими опорами

ЦАП з ваговими двійковій-зваженими опорами (рис. 2.49, б) складається: з п перемикачів Si (по одному на кожен розряд), керованих двійковим кодом Аi; з матриці двійковій-зважених резисторів з опорами 2 (п-1-i) R; джерела опорного напруги u0 і вихідного операційного підсилювача ОУ, за допомогою якого підсумовуються струми, що протікають через резистори, для отримання аналогового вихідної напруги Uвих.

Кожен i-й розряд управляє перемикачем Si, який підключається до джерела опорного напруги u0, коли аi дорівнює 1, або до загальної шини, коли аi одно 0. Опору резисторів 2 (п-1-i) R (п - розрядність ЦАП), з'єднаних з ключами, такі, що забезпечують пропорційність у них струму бінарного вазі відповідного розряду вхідного коду. Отже, струм на вході ОП і вихідна напруга ЦАП визначаються як:

Напруга на виході ЦАП пропорційно "вазі" присутнього на входах коду, а максимальне значення має місце, коли всі розряди візьмуть значення 1, тобто

і воно завжди менше опорного напруги на крок квантування uoRос/(2nR).

Номінали опорів резисторів в молодшому і старшому розрядах відрізняються в 2п-1 раз і повинні бути витримані з високою точністю. Наприклад, для 12-розрядної ЦАП використання в старшому розряді резистора з опором 10 кому потребують включення в молодший розряд перетворювача резистора з опором близько 20 МОм. Широкий набір номіналів резисторів і вимоги їх високої точності, особливо при значному числі розрядів п вхідного коду, створюють труднощі при реалізації ЦАП допомогою інтегральної технології.

У схемі ЦАП (див. Рис. 2.49, а) з матрицею R-2R використовують резистори з двома номіналами опорів, причому резистори з опором R включені в кожен розряд, проте в цій схемі збільшуються значення паразитних ємностей.

Принцип роботи представленої схеми заснований на властивості резистивного подільника R-2R зберігати постійний опір навантаження для джерела опорного напруги при замиканні ключів. Внаслідок цього на висновках резистора R, починаючи зі старшого п  1 розряду, опорна напруга послідовно ділиться навпіл, як і вхідний в кожен вузол матриці струм. При цьому напруга на виході перетворювача з матрицею R-2R:

Основні технічні характеристики

Основними параметрами ЦАП є число розрядів коду, абсолютна роздільна здатність, точність ЦАП, максимальна частота перетворення.

 Число розрядів коду - п, зазвичай становить величину 8, ..., 24.

 Абсолютна роздільна здатність  середнє значення мінімальної зміни сигналу на виході ЦАП, обумовлене збільшенням або зменшенням його коду на одиницю.

Теоретично ЦАП, що перетворить п-розрядні двійкові коди, повинен забезпечити 2п різних значень вихідного сигналу з роздільною здатністю 1 / (2п - 1). При числі розрядів п = 8 кількість незалежних квантів (ступенів) вихідної напруги ЦАП одно 28 - 1 = 255, при п = 12, кількість незалежних ступенів одно 212 - 1 = 4095 і т. Д.

Абсолютне значення мінімального кванта напруги визначається як граничним прийнятою числом 2п - 1, так і максимальним вихідним напругою ЦАП, також званим напругою шкали або опорною напругою Uо. Значення абсолютної роздільної здатності ЦАП, часто позначається як ЗМР (значення молодшого розряду).

При п = 8 і опорному напрузі Uо = 5 В ЗМР = Uо / (28 - 1) = 5/255 0,0196 В = 19,6 мВ.

Відмінність реального значення роздільної здатності від теоретичного обумовлено похибками і шумами входять до ЦАП вузлів.

Точність ЦАП визначається значенням абсолютної похибки а і нелінійністю перетворювача л.

Абсолютна похибка а характеризується відхиленням максимального значення вихідної напруги umax від розрахункового, відповідного кінцевій точці характеристики ідеального пре¬образователя, і вимірюється зазвичай в одиницях ЗМР (ріс.2.49, лінія 1).

Нелінійність перетворювача л характеризує відхилення дійсної характеристики 2 від ідеальної 1 (рис. 2.49), проведеної через центри сходинок або через нуль і точку максимального значення вихідного сигналу.

Рис. 2.49. Характеристики перетворення ЦАП: 1) ідеальна характеристика, 2) реальна. Uпш - похибка повної шкали

Нелінійність зазвичай визначається у відносних одиницях, але в довідкових даних наводиться також і в ЗМР. Для характеристики, наведеної на рис. 2.50

Диференціальна нелінійність дл - максимальна зміна (з урахуванням знака) відхилення реальної характеристики перетворення U вих (D) від оптимальної при переході від одного значення вхідного коду до іншого суміжного значенню. Зазвичай визначається у відносних одиницях або в ЗМР. Для характеристики, наведеної на рис. 2.50

З динамічних параметрів найбільш важливим параметром є максимальна частота перетворення fmax (десятки і сотні кілогерц) - найбільша частота дискретизації, при якій параметри ЦАП відповідають заданим значенням.

 Перетворення сигналу в ЦАП часто супроводжується специфічними перехідними імпульсами у вихідному сигналі. Вони виникають через різницю часу відкривання і закривання аналогових перемикачів у ЦАП. Особливо сильний вплив перехідних процесів проявляється, наприклад, коли вхідний код 01 ... 111 змінюється кодом 10 ... 000, а перемикач старшого розряду ЦАП відкривається пізніше, ніж закриваються перемикачі молодших розрядів.

Слід зазначити, що сучасні мікросхеми ЦАП відрізняються особливостями підключення (інтерфейсом) до мікроконтролера: паралельним (як у розглянутій нижче моделі), так і послідовними стандартними інтерфейсами типу I2C або SPI [9].

Хід виконання лабораторної роботи

Завдання 1. Зібрати схему (рис. 2.50) для випробування інтегрального ЦАП [10]. У схемі використаний бібліотечний віртуальний 8-розрядний цифроаналоговий перетворювач А1 (з групи елементів Mixed), на входи якого можуть подаватися сформовані за допомогою перемикачів J1, ..., J8 (група Basic) відповідні завданням двійкові коди (табл.2.16). Потрібно виміряти за допомогою вольтметра V1 (група Indicator) або осцилографа XSC1 вихідні напруги ЦАП, що відповідають вхідним кодами завдання (табл. 2.16) і занести отримані результати в звіт з лабораторної роботи.

Рис. 2.50. Схема моделювання.

Завдання 2. Отримати необхідні вхідні коди ЦАП за допомогою мікроконтролера. Для цього створюємо схемний проект Circuit6 (рис. 2.51), підключаємо ЦАП до висновків порту Р2 МК (або будь-якого іншого порту). Отримані значення напруги перетворення ЦАП порівнюємо з результатами завдання 1.

Програма спільної роботи МК і ЦАП, написана на С, показана нижче:

#include <8051.h>

void main ()

{

unsigned char var [3];

// Масив вхідних значень (згідно варіанту завдання);

P2 = 0x00; // Настройка порту Р2 на вихід;

for (i = 0; i <10; i ++) // потім виводимо код у циклі в порт Р2

{

P2 = var [i]; // Перетворення змінної в аналогове значення

for (j = 0; j <100; j ++)

// Тимчасова затримка для сталого вимірювання результату

continue;

}

while (1);

}

Рис. 2.51. Схема взаємодії МК-51 з ЦАП

Завдання на лабораторну роботу

Необхідні значення вхідних 8-бітних кодів ЦАП, відповідні варіанту завдання (табл. 2.16), отримати за допомогою перемикачів (див. Рис. 2.50, завдання 1) і при підключенні ЦАП до одного з портів мікроконтролера (див. Рис. 2.51, завдання 2 ).

Таблиця 2.16.

Варіанти завдання

Параметри:

Варіанти завдання

1

2

3

4

5

6

7

8

9

10

Коди

8

36

107

19

101

205

13

99

243

28

125

222

39

88

167

47

165

250

1

100

200

30

145

244

55

155

198

59

144

217

Порт підключення

Р1

Р2

Р3

Р1

Р2

Р3

Р1

Р2

Р3

Р1

Зміст звіту

1. Найменування і мета роботи.

2. Копія схемного файлу.

3. Копія програмного файлу (на асемблері або на С) з докладними коментарями.

4. Отримані результати і висновки по роботі.

Лабораторна робота №23

Тема: «Вивчення принципів роботи аналого-цифрових перетворювачів»

Мета роботи: вивчення основ роботи аналого-цифрових перетворювачів (АЦП) і дослідження особливостей їх функціонування на прикладі віртуального 8-розрядного АЦП, представленого в базі даних Multisim.

Основні відомості про аналого-цифрових перетворювачах

Принципи перетворення безперервних сигналів у цифрові коди

Аналого-цифровий перетворювач (Analog-to-digital converter, ADC) - це пристрій, який приймає вхідні аналогові сигнали і генерують відповідні їм цифрові сигнали, придатні для обробки мікропроцесорами та іншими цифровими пристроями [9].

Як правило, спочатку різні по фізичній природі величини перетворюються у функціонально пов'язані з ними електричні величини, а потім вже за допомогою перетворювачів напруга-код - в цифрові.

Аналого-цифрове перетворення безперервних сигналів, яке реалізують за допомогою АЦП, це перетворення неперервної функції часу U (t), яка описує вихідний сигнал, в послідовність чисел {Uк(tj)}, j = 0,1,2,..., Uк = 0, 1, 2, …, N-1, віднесені до деяких фіксованих моментів часу. Таке перетворення складається з двох незалежних процедур. Перша з них називається дискретизацією і полягає в перетворенні неперервної функції часу U (t) в безперервну послідовність відліків{U(tj)}. Друга називається квантуванням і полягає в перетворенні неперервної за значенням послідовності відліків {U(tj)} в дискретну {Uк (tj)}, де Uк = 0, 1, 2, …, N-1.

В основі дискретизації безперервних сигналів лежить принципова можливість їх подання у вигляді зважених сум

де aj – деякі коефіцієнти або відліки, які характеризують початковий сигнал в дискретні моменти часу; j = 1, 2, 3, … ,

fj(t) - набір елементарних функцій, які використовуються при відновленні сигналу за його відліками.

В основі найбільш поширеною рівномірної дискретизації лежить теорема відліків Котельникова, для якої в якості коефіцієнтів aj потрібно використовувати миттєві значення сигналу U (tj) в дискретні моменти часу tj = jΔt, а період дискретизації вибирати з умови Δt = 1/2Fm , де Fm - максимальна частота спектра перетворюваного сигналу.

При виконанні процедури квантування безперервна за рівнем послідовність відліків U (tj) представляється к-розрядним кодом Uк (tj), яке дорівнює 0, 1, 2, …, N-1. Кількість рівнів квантування N залежить від значення до - розрядності АЦП. N = 2к.

Класифікація та принцип дії АЦП

В даний час використовується [9] велике число методів перетворення напруга-код. Ці методи відрізняються потенційної точністю, швидкістю перетворення і складністю апаратної реалізації. На рис. 2.52 представлена ​​класифікація АЦП за методами перетворення. В основі класифікації АЦП використовується ознака, що вказує на те, як в часі розгортається процес перетворення аналогової величини в цифрову. Для перетворення дискретних за часом сигналів у цифрові еквіваленти використовуються операції квантування та кодування. Вони можуть бути здійснені за допомогою або послідовної, або паралельної, або паралельно-послідовної процедур наближення цифрового еквівалента до перетворюваної величини.

 Найбільш швидкими є паралельні АЦП, проте вони найдорожчі і споживають (розсіюють) значну потужність. Послідовно-паралельні АЦП займають проміжне положення по спроможності та швидкодії між паралельними АЦП і послідовними.

Рис. 2.52. Класифікація АЦП

Особливості побудови і функціонування різних типів АЦП викладені, наприклад, в [9]. Розглянуті нижче АЦП послідовного рахунку та наближення знаходить широке застосування в системах управління, контролю та цифрової обробки сигналів.

АЦП послідовного рахунку

Цей перетворювач є типовим прикладом послідовних АЦП з одиничними приближениями і складається з компаратора, лічильника і ЦАП (рис. 2.53). На один із входів компаратора надходить преутворений аналоговий сигнал, а на іншій -сигнал зворотного зв'язку з ЦАП.

Робота АЦП починається з приходу імпульсу запуску, який включає лічильник, що підсумовує кількість імпульсів, що надходять від генератора тактових імпульсів - ГТВ. Вихідний код лічильника подається на ЦАП, що здійснює його перетворення в напругу зворотного зв'язку Uос. Процес перетворення продовжується до тих пір, поки напруга зворотного зв'язку зрівняється з вхідною напругою і переключиться компаратор, який своїм вихідним сигналом припинить надходження тактових імпульсів на лічильник. Перехід вихідного значення компаратора з 1 в 0 означає завершення процесу перетворення.

Рис. 2.53. Структурна схема АЦП послідовного рахунку

Отриманий вихідний код, пропорційний вхідній напрузі в момент закінчення перетворення, зчитується з виходу лічильника.

АЦП даного типу без пристрою вибірки-зберігання (УВ / Х) придатні для роботи з постійними або повільно змінюються напругами, які за час перетворення змінюються не більше, ніж на значення кванта перетворення. Таким чином, недоліком АЦП послідовного рахунку є невелика частота дискретизації, що досягає декількох кілогерц.

Перевагою АЦП даного класу є порівняльна простота побудови, обумовлена ​​послідовним характером виконання процесу перетворення.

Призначення і структура пристрою вибірки і зберігання

 Пристрій вибірки та зберігання (УВ / Х) призначено для прийому та зберігання на час перетворення вхідних відліків, рівних напруженням вхідних сигналів у відповідні дискретні моменти часу. Структурна схема УВ / Х представлена ​​на рис.2. 54.

Буферні підсилювачі

Вихід

Вход

Ключ

С

ТС

Рис. 2.54. Спрощена структурна схема УВ / Х

Необхідність зберігання значення вхідного сигналу протягом часу його перетворення пов'язана з невизначеністю значення цього сигналу в разі швидкого його зміни, що за відсутності УВ / Х може призвести до динамічної помилку перетворення. Крім того, УВ / Х вживається в багатоканальних АЦП для запам'ятовування миттєвих значень якого-небудь каналу і його перетворення з одночасним перемиканням мультиплексора на наступний канал.

За переднього фронту тактового сигналу (ТС) пристрій здійснює відлік (вибірку) вхідного аналогового сигналу при замиканні ключа.

Режим вибірки характеризується часом захоплення (2, 4, 6, 10 і більше мкс), коли конденсатор заряджається на величину Uвх (t). Чим менше час захоплення (менше ємність конденсатора С), тим менше відповідна точність і збільшується падіння напруги в процесі зберігання.

По задньому фронту тактового сигналу ТС відбувається розмикання ключа, і значення відліку (напруги) зберігається, поки АЦП виконує перетворення. Слід зазначити, що збережене напруга не залишається постійним, через наявність витоку заряду конденсатора С. Зв'язок УВ / Х з АЦП представлена ​​на рис. 2.55.

Код

Uвх(t)

АЦП

УВ/Х

Рис. 2.55. Спрощена схема АЦП з УВ / Х

 АЦП послідовного наближення

Перетворювач цього типу, також званий АЦП з порозрядним врівноваженням, є найбільш поширеним варіантом послідовних АЦП. В основі його роботи лежить принцип дихотомії, тобто послідовного порівняння вимірюваної величини з 1/2, 1/4, 1/8 і т.д. від можливого максимального значення її.

Розглянемо основи роботи АЦП послідовного наближення на прикладі класичної структури 4-розрядного перетворювача, що складається з трьох основних вузлів: компаратора, регістра послідовного наближення (РПП) і ЦАП (рис. 2.57).

Після подачі команди "Пуск" з приходом першого тактового імпульсу РПП примусово задає на вході ЦАП код, який дорівнює половині його шкали (для 4-розрядного ЦАП це 10002 = 810). Завдяки цьому, напруга зворотного зв'язку на виході ЦАП - Uос = 23h, де h - квант вихідної напруги ЦАП, що відповідає одиниці молодшого розряду (ОМР).

Дане значення Uос становить половину можливого діапазону перетворюваних сигналів. Якщо вхідна напруга АЦП більше, ніж ця величина, то на виході компаратора встановлюється 1, якщо менше, то 0. При 0 на виході компаратора схема управління повинна переключити старший розряд d3 АЦП назад в стан нуля. Отриманий залишок (Uвх - d323h) таким же чином порівнюється з найближчим молодшим розрядом і т.д.

 Після чотирьох подібних кроків в регістрі послідовного наближення виявляється двійкове число, з якого після цифро-аналогового перетворення виходить напруга, відповідне значенню Uвх з точністю до ОМР. У процесі перетворення на виході компаратора (див. Рис. 2.56) формується вихідне число у вигляді послідовного коду старшими розрядами вперед.

Даний клас АЦП займає проміжне положення між послідовно-паралельними і інтегруючими АЦП по швидкодії, вартості та роздільної здатності і знаходить широке застосування в системах управління, контролю та цифрової обробки сигналів.

Рис. 2.56. Структурна схема АЦП послідовного наближення

Основні параметри АЦП

До основних параметрів АЦП відносять число розрядів вихідного коду, діапазон зміни вхідного напруги uвх.max , абсолютну роздільну здатність, абсолютну похибка перетворення, максимальну частоту перетворення, час перетворення вхідного сигналу.

Число розрядів вихідного коду - к до відображає вихідну аналогову величину, яке формується на виході АЦП. При використанні двійкового коду к = log2N , де N  максимальне число кодових комбінацій (рівнів квантування) на виході АЦП (0, 1, ... N-1).

Діапазон зміни вхідного напруги - uвх.max. Відзначимо, що АЦП може обробляти вхідну інформацію у вигляді однополярного ана¬логового напруги з межами 0,…,uвх.max та двуполярного  uвх.max /2.

Абсолютна роздільна здатність - середнє значення мінімальної зміни вхідного сигналу uвх, обуславливающего збільшення або зменшення вихідного коду на одиницю. Роздільна здатність визначається розрядністю вихідного коду і діапазоном вхідної напруги.

Абсолютна похибка перетворення  i в кінцевій точці шкали є відхилення реального максимального значення вхідного сигналу uвх.max від максимального значення ідеальної характеристики L АЦП (рис. 2 .57). Зазвичай I вимірюється в ЗМР - значенні молодшого розряду.

Аi

111

101

011

001

011

010

001

000

Рис. 2.57. Абсолютна похибка перетворення АЦП

Максимальна частота перетворення (десятки і сотні кілогерц) - максимальне значення частоти вхідного сигналу.

Час перетворення вхідного сигналу tnp.max  (1/2)t.

Хід виконання лабораторної роботи

Завдання 1. Зібрати схему [10] для дослідження точності перетворення АЦП.

Створюємо схемний проект (рис. 2.58), в якому використано елементи: віртуальний 8-розрядний АЦП -А1 (рис. 2.60) і віртуальний ЦАП - А2 з групи елементів Mixed; джерела напруг (з групи елементів Sources): постійного опорного напруги V1 і V2 (підключені до входів Vref + і Vref-, якщо у варіанті завдання вказано різнополярних опорна напруга, або Vref + і земля, якщо використовується тільки позитивне опорна напруга); генератор імпульсної напруги V4 для синхронізації роботи АЦП (підключений до входу SОС); джерело постійної напруги V3 для подачі вхідної напруги, яке необхідно перетворити в код; пробники Х0, ..., Х9 і вольтметр U1 (з групи елементів Indicators), а також інвертор U2A з групи елементів TTL, який подає перепад напруги від 5 В до 0 на вхід ОЕ АЦП від джерела V4 в протифазі з входом SOC, дозволяючи появи цифрового коду D0 ... D7 на виходах АЦП.

Рис. 2.59. Схема для дослідження роботи 8- розрядного АЦП

Рис. 2.60. Умовне графічне позначення УДО АЦП

Призначення висновків використовуваного в схемі АЦП наводиться в табл. 2.17.

Таблиця 2.17 Призначення основних висновків віртуального АЦП

Обозначення

Вход/

вихід

Призначення

Vin

I

Аналогове вхідна напруга

Vref+

I

Опорна напруга (+)

Vref-

I

Опорна напруга (-)

D0- D7

O

цифрові виходи

SOC

I

почати перетворення

EOC

O

кінець перетворень

OE

I

Дозвіл цифрового виводу


Дослідження точності АЦП проводиться за наступною схемою [10]:

Для джерел V1 і V2 встановлюються відповідні завданням (табл. 2.19) значення опорного напруги, наприклад, V1 = +2,5 В, V2 = 2,5 В.

По черзі на вхід Vin АЦП подається 10 різних напруг з діапазону зміни опорної напруги Vref , наприклад, uвх = 0,1; 0,2; 0,5; 1,0; 1,5; 2,0; 2,4; -0,5; 1,0: 2,0 В (використовується джерело вхідної напруги V3).

Для кожного значення вхідної напруги Vin запускається програма моделювання. Вихідний код, який визначається за світінням пробників Х7, ..., Х0, і значення напруги U вих (ЦАП) з виходу ЦАП, вимірювані вольтметром U1, заносяться в поля таблиці виду 2.18.

Для 8-розрядного АЦП за значенням вхідної напруги uвх можна визначити значення вихідного коду – D(10)расч по формулі:

D(10)расч = 256uвх /( V1 +  V2 ), (2.7.1)

Виробляються необхідні розрахунки для заповнення всіх стовпців табл. 2.18. Якщо значення опорного напруги різнополярні, то код, який визначається за світінням пробників, є інверсним. При цьому, якщо отримане значення коду більше 128, то результат позитивний, а якщо менше - негативний. Десяткові інверсні сигнали D(10)инв перетворюються в прямі D(10) по виразу:

D(10) = D(10)инв128. (2.7.2)

Розраховуються похибки вимірювання напруги за виразом:

ΔU% = 100(uвых(ЦАП)uвх)/uвх . (2.7.3)

Таблиця 2.18

Таблиця результатів дослідження АЦП

uвх,

В

uвых(ЦАП),

В

D(2)

D(16)

D(10).инв

D(10)

D(10)расч

ΔU%

0,1

0,09375

10000100

84

132

4

4,27

6,25

0,5

0,5156

10010101

95

149

21

21,33

3,12

1,0

0,9644

10101010

АА

170

42

42,67

3,56

2,0

2,017

11010101

D5

213

85

85,34

0,85

2,5

2,484

11101010

ЕА

234

106

106,67

0,64

2,9

2,906

11111011

FB

251

123

123,74

0,21

-1,0

-0,9844

01010101

55

85

-43

-42,67

3,56

Завдання 2. Виконати відповідний варіант завдання при підключенні МК до АЦП. Отримати значення вихідного коду АЦП для будь-яких трьох значень зміни Uвх (вибирається з діапазону змін Vref, див. Табл. 2.19).

Створюємо схемний проект Circuit 7, встановлюємо на робочій області МК-51, досліджуваний віртуальний АЦП (8- або 16- розрядний). Подаємо з джерела постійного струму V1 на вхід АЦП напругу, наприклад, 1В, висновку опорного напруги АЦП підключаємо джерело напруги V2, наприклад, 5В. До порту P2 МК підключаємо пробники Х0, ... Х7, висновок P3.6 з'єднуємо з входом АЦП - SOC. Схема підключення MCS-51 до АЦП представлена ​​на рис. 2.61.

Рис 2.61. Схема підключення МК-51 до АЦП

Активуємо вкладку програмного файлу main.c і вставимо наступний програмний код:

#include <8051.h> // Підключаємо заголовки

void main ()

{

unsigned char val; // Змінна містить цифровий код, відповідальний Uвх

P1 = 0xFF; // Ініціалізіруем P1 на вхід

P2 = 0x00; // Ініціалізіруем Р2 на вихід

P36 = 0; // Р3.6 - вихід

P36 = 1; // Почати перетворення

val = P1; // Р1 містить цифровий код

P2 = val; // Включаємо пробники

while (1); // Нескінченний цикл

}

Пробник показує цифровий код, рівний 51, що відповідає виразу (2.7.2).

Завдання на лабораторну роботу

У відповідність з варіантом завдання (табл. 2.19) досліджувати точність віртуального АЦП (завдання 1) згідно зі схемою, наведеною на рис. 2.59, і заповнити таблицю виду 2.18. Порядок виконання завдання 1 наведено в п. 2.7.2. Для виконання завдання 2 зібрати схему (рис. 2.61) і для будь-яких 3 значень Uвх з таблиці виду 2.18 за допомогою пробників зняти отриманий цифровий код.

Таблиця 2.19.

Варіанти завдань

1

2

3

4

5

6

7

8

9

10

Разряд-ность АЦП

8

16

8

16

8

16

8

16

8

16

Eref1

+2,5

+5

+4

+5

+3

+2,5

+2

+5

+5

+4

Eref2

-2,5

0

-1

0

-2

-2,5

-2

0

0

-1

Зміст звіту

1. Назва та мета роботи.

2. Перелік елементів, використаних у схемі, з їх крат¬кімі характеристиками.

3. Копія вікна схемного файлу при моделюванні.

4. Заповнена при проведенні моделювання за схемою 2.59. таблиця типу 2.18.

5. Зняті показання пробників при моделюванні за схемою 2.61.

6. Висновки по роботі.

Лабораторна робота №25

Тема: «Оптоелектронні прилади та пристрої»

Мета роботи: Ознайомлення з принципами роботи та випробування світлодіодів, фото¬тран-зістора, столбикових індикаторів і лінійки світлодіодів.

Принцип дії напівпровідникових оптоелектронних приладів заснований на використанні електромагнітного випромінювання оптичного діапазону для передачі, обробки або відображення інформації. У сімейство приладів некогерентної оптоелектроніки входять випромінюють світлодіоди, цифробуквене індикатори (дисплеї), резисторні, діодні, транзисторні, тиристорні оптопари і оптоелектронні інтегральні мікросхеми.

Оптопарою називають прилад, що складається з випромінюючого і фотопріёмного елементів, між якими є оптична зв'язок і забезпечена електрична ізоляція. У резисторной оптопаре в якості фотопріёмного елемента використовується фоторезистор (рис. 37.1, а), в диодной, транзисторной і тиристорної  відповідно фотодіод, фототранзистор і фототиристор (рис. 37.1, б-р).

У оптоелектронних інтегральних мікросхемах здійснюється оптична зв'язок між окремими вузлами або компонентами з метою ізоляції їх один від одного (гальванічна розв'язка). У цих ІМС, представля¬ющіх собою гібридні модулі з компараторами, лічильниками, дешифраторами і індикаторами, крім випромінювача і фотоприймача, міститься пристрій обробки сигналу, одержуваного від фотоприймача, зокрема, пристрій узгодження оптико-елек¬тронного тракту з логічними ІМС за рівнями сигналів , швидкодії, функціональним параметрам [5].

До складу бібліотек програмного середовища MS10 входять наступні оптоелектронні прилади:

• світлодіоди різних кольорів, в тому числі двоколірні;

• транзисторні оптопари і гібридні мікросхеми;

• 7- і 16-сегментні діодні дисплеї;

• лінійні шкали (лінійки з десяти незалежних світлодіодів, в тому числі з вбудованими АЦП) і дисплеї.

Світлодіоди

Світлодіоди - це випромінюючі напівпровідникові прилади (індикатори), призначені для безпосереднього перетворення електричної енергії в енергію некогерентного світлового випромінювання.

В основі функціонування світлодіодів лежить явище перетворення елеꬬтріческой енергії в електромагнітне випромінювання, спектр якого повністю або частково лежить у видимій області, діапазон довжин хвиль якої становить 0.45 ... 0,68 мкм. Світлодіодна структура являє собою р-п-перехід, в якій при протіканні прямого струму в неско¬лько міліампер в обох областях переходу відбувається рекомбінація інжектованих електронів і дірок, але найбільш ефективне перетворення інжектованих електронів в світлову енергію протікає в базовій р-області.

Максимальне значення енергії, яке може виділитися при реко¬м¬¬бінаціі, дорівнює ширині забороненої зони даного напівпровідника. У п¬лупроводнікових матеріалах з шириною забороненої зони менше 1,8 еВ мо¬жет збуджуватися випромінювання з довжиною хвилі більше 0,7 мкм, яке ле¬жіт за межами діапазону довжин хвиль видимого світла. Тому основними напівпровідниковими матеріалами, пріменяеми¬мі для виготовлення серійних світлодіодів, є фосфід галію (GaP), тверді розчини GaAsP, GaAlP і карбід кремнію (SiC) з шириною забороненої зони більше 2 еВ.

Важнейшей характеристикой светодиода является яркостная характеристика В(Iпр), где В – яркость света, в которой используется линейный участок (рис. 37.2, а). Номинальные токи серийных светодиодов Iпр = = 2…20 мА, при прямом и обратном напряжениях 2…3 В (Uобр.max  5 В).

Світлодіоди різних кольорів, як і всі светоизлучающие прилади в пристроях відображення, використовуються для візуального відображення ін¬фо¬рмаціі. Світлодіоди з перемінним кольором світіння (зарубіжні LTR293, вітчизняні АЛС331А та ін.) Містять в корпусі два світловипромінюючих р-п-переходу, один з яких має різко виражений максимум спектральної характеристики в червоній смузі, інший - в зеленій. При спільній роботі р-п-переходів колір випромінювання світлодіода залежить від співвідношення струмів

через ці переходи. Вони можуть служити індикаторами зміни струмових режимів в електронній ланцюга.

Світлодіоди мають ряд переваг: малі габарити, низька напруга живлення, набір різних кольорів світіння, великий термін слу¬жби та ін., Тому з успіхом використовуються в схемах індикації включення, готовності до роботи, наявності напруги в блоці, аварійної ситуації вузла і в інших схемах, добре узгоджуючи по електричним параметрам з напівпровідниковими приладами і мікросхемами. Пряме падіння напруги бібліотечних діодів дорівнює 1,5 В, однак внутрішній опір в моделях світлодіодів прийнято рівним нулю.

У практичних цілях світлодіоди часто об'єднують в єдиний набір з десяти елементів, утворюючи так звану лінійну шкалу або лінійку незалежних світлодіодів.

Фотодіод, оптрон, пробники, дісплеї

Фотодиод - це напівпровідниковий прилад з pn-переходом, зворотний струм якого залежить від освітленості Ф (рис. 37.2, б). При поглинанні квантів світла в pn-переході або в прилеглих до нього областях кристала напівпровідника утворюються нові носії заряду (пари електрон-дірка), тому зворотний струм (фотострум) через фотодіод при освітленні зростає. Зі збільшенням світлового потоку Ф опір переходу зменшується (рис. 37.2, в). Прилади, призначені для використання цього явища, називають фоторезисторами, а транзистори і тиристори, що реагують на ефект опромінення світловим потоком і здатні одночасно посилювати фототок, називають відповідно фототранзисторами і Фототиристори.

 Діодні оптрони - це прилади, що складаються з оптично зв'язаних між собою елементів оптронной пари (керованого світлодіода і приймає випромінювання фотодіода) і призначені для виконання фунꬬ¬ціональних електричних і оптичних перетворень. На рис. 37.2, г зображена схема діодного оптрона з внутрішньої прямий оптичної зв'язком. Зміна вхідного струму Iвх через світлодіод супроводжується зміною яскравості його світіння і зміною освітленості фотодіода, що призводить до зменшення опору фотодіода і відповідно до збільшення струму Iвих через ви¬ход оптрона (рис. 37.2, д).

Важливою властивістю такого оптрона є повна електрична розв'язка входу і виходу приладу, що виключає зворотну електричну зв'язок з його виходу на вхід.

Алфавітно-цифрові 7- і 16-сегментні дисплеї і різнокольорові логічні пробники широко використовуються при моделюванні цифрових пристроїв. Напруга спрацьовування 2,5 В пробників відповідає мінімальному значенню сигналу логічної одиниці цифрових ІМС ТТЛ-серії (з живленням 5 В). Пробники не споживають струму, тому не впливають на функціонування схем.

Бібліотечний недешіфрірующій Столбикова індикатор являє собою набір з десяти діодів, аналогічний набору світлодіодів, але відрізняється від нього по ряду параметрів. По-перше, діоди мають внутрішнім опором, по-друге, вони вимагають струму 5 мА, що слід враховувати при проектуванні схем. Струм через кожен діод може проходити в обох напрямках за відсутності на них прямого падіння напруги в 1,5 В, характерного для світлодіодів. Проте кожен діод володіє внутрішнім опором 500 Ом і характеризується граничним значенням струму (5 мА), нижче якого характерна риса в приладі не світиться. Як опір діодів, так і пороговий струм можна змінити в діалоговому вікні приладу.

У бібліотеці середовища МВ10 розміщені також аналогові стовпчикові індикатори з одним аналоговим входом. Завдяки вбудованим логічним схемам індикатори перетворять аналоговий сигнал в десять цифрових сигналів, які відображаються в рівень стовпчика на своїх дисплеях.

Великий вибір індикаторів сигналів і оптоелектронних приладів програмного середовища MS10 надає наочність, барвистість і динаміку експерименту, що має викликати інтерес студентів до проведення експериментів і сприяти більш глибокому осмисленню процесів, що відбуваються в електронних приладах і пристроях.

Завдання та методичні вказівки до лабораторної роботи:

Завдання 1. Запустити лабораторний комплекс Labworks і середу МS10 (клацнувши мишею на команді Експеримент меню комплексу Labworks). Відкрити файл 37.3.ms10, розміщений в папці Circuit Design Suite 10.0 середовища МS10, або зібрати на робочому полі середовища MS10 схему індикації стану виходу л огічного елемента І-НЕ (NAND) (рис. 37.3) і встановити в діалогових вікнах компонентів їх параметри або режими роботи. Скопіювати схему (рис. 37.3) на сторінку звіту.

Запустити програму моделювання елемента NAND з індикацією його стану за допомогою двокольорового світлодіода VD1, світлодіода оранжевого кольору VD2 і пробників Х1, Х2 і Х3. Замкнути ключ Space / Так як на обидва входи елемента NAND подана логічна 1 (пробники Х1 і Х2 світяться), то на його виході формується логічний 0 (пробник Х3 НЕ засвічується, а світлодіоди VD1 і VD2 світяться, так як на їх аноди подано напругу 5 В від джерела VCC). При розмиканні ключа Space на виході елемента NAND формується логічна 1, тому світлодіоди VD1 і VD2 і пробник Х2 гаснуть, а пробник Х3 засвічується.

Змінюючи опір потенціометра R1, визначити за допомогою ам¬перметров А1 і А2 струми, що протікають через р-п-переходи світлодіода VD1, при яких випромінюється червоне світло, обидва переходу гаснуть і починає випромінюватися зелене світло.

Завдання 2. Відкрити файл 37.4.ms10, розміщений в папці Circuit Design Suite 10.0 середовища МS10, або зібрати на робочому полі середовища MS10 схему для випробування фототранзистора з відкритим оптичним каналом (рис. 37.4) і встановити в діалогових вікнах компонентів їх параметри або режими роботи з урахуванням наведених на малюнку коефіцієнтів моделі фототранзистора МСТ6. Скопіювати схему (рис. 37.4) на сторінку звітy

Запустити програму моделювання, зняти і побудувати перехідну характеристику Iвых(Iвх) фототранзистора МСТ6, визначити коефіцієнт передачі струму Ki = Iвых/Iвх і диференційний коефіцієнт передачі струму Kiд = ΔIвых/ΔIвх.

Завдання 3. Відкрити файл 37.5.ms10, розміщений в папці Circuit Design Suite 10.0 середовища МS10, або зібрати на робочому полі середовища MS10 схему для випробування транзисторного оптрона (рис. 37.5, а) і встановити в діалогових вікнах компонентів їх параметри або режими роботи. Скопіювати схему (рис. 37.5) на сторінку звіту.

За допомогою схеми (рис. 37.5, а) зняти і побудувати амплітудно-час¬тотную характеристику по напрузі Ku = Uвых(Uвх), Uвх = 1 мB транзисторного оптрона (фототранзистора) MCT6.

  Визначити верхню межу fв смуги пропускання сигналу і порівняти її зі значенням, отриманим за допомогою плоттера XBP1 на рівні 1 / від коефіцієнта Ku на лінійній ділянці характеристики (рис. 37.5, б).

Завдання 4. Відкрити файл 37.6.ms10, розміщений в папці Circuit Design Suite 10.0 середовища МS10, або зібрати на робочому полі середовища MS10 схему для демонстрації роботи індикаторів (пробників, дисплея, лінійок) (рис. 37.6) і встановити в діалогових вікнах компонентів їх параметри або режими роботи.

У схему (рис. 37.6) включені пробники Х1, ..., Х10, 7-сегментний дисплей DCD_HEX, недешіфрірующій Столбикова індикатор BARGR, аналоговий стовпчик LBARGR, лінійка з десяти незалежних світлодіодів LED4, джерела живлення Е1, Е2 і VCC, логічний аналізатор XLA1, перемикачі 1, ..., 4, лічильник СТ, дешифратор DC та інші компоненти.

На рис. 37.6 зафіксовано стан індикаторних пристроїв після подачі сьомого тактового імпульсу з генератора E1 на вхід лічильника CT: розрядні сигнали (код 0110) на виході лічильника викликали індикацію цифри 6 на 7-сегментному дисплеї DCD_HEX, формування на виході дешифратора DC логічного нуля тільки на лінії Q6. Тому не засвічуються пробник Х7 і сьомі смужки в столбиковая диодном індикаторі BARGR і в світлодіодним лінійці LED4.

Для демонстрації роботи індикаторних пристроїв в одиночному режимі потрібно розімкнути ключ Space, набрати за допомогою ключів 1, …, 4 будь-який код (від 0000 до 1111) і подати його на лічильник СТ.

У схемі (рис. 37.6) аналоговий сто¬лбік LBARGR підключений до джерела синусоїдальної напруги Е2 з амплітудою ЕРС Е2 = 14,14 В. При моделюванні показання індикатора (переміщення рисок знизу вгору і назад) змінюється відповідно до відліками синусоїдальної напруги. Вихідні значення: напруга 10 В і внутрішній опір 500 Ом аналогового стовпчика LBARGR можуть бути змінені в його діалоговому вікні.

      При включенні в схему лінійки LED4 з восьми незалежних світлодіодів (див. Рис. 37.6) послідовно з кожним світлодіодом були включені резистори з опорам R = 200 Ом, значення яких визначені, виходячи з параметрів світлодіодів (на кожному светодиоде падіння напруги одно 1,66 В при номінальному струмі 15 мА) і напружень вузлів схеми, куди включені світлодіоди лінійки.

Тимчасові діаграми вихідних сигналів дешифратора DC можна спостерігати на екрані логічного аналізатора XLA1.

Зміст звіту:

1. Найменування і мета роботи.

2. Перелік приладів, використаних в експериментах, з їх крат¬кімі характеристиками.

3. Зображення електричних схем для випробування оптоелектронних пристроїв.

4. Таблиці та графіки перехідної і амплітудно-частотної характеристик фототранзистора.

5. Висновки по роботі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]