DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Синтез цифрових пристроїв

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Розрахунково - графічна робота
Предмет:
Обчислювальна техніка та мікропроцесори

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка»  ГРАФІЧНО-РОЗРАХУНКОВА РОБОТА з дисципліни: «Обчислювальна техніка та мікропроцесори» на тему: «Синтез цифрових пристроїв» Варіант №4 Львів - 2013 ЗМІСТ: Вступ Розробка мікропроцесорної системи на базі MKMCS-51. Розробка і опис принципової схеми Блок-схема алгоритму Розробка програми на мові Асемблер Висновок Список використаної літератури ВСТУП Системи автоматичного управління виробничими процесами, інформаційно-вимірювальні та контрольно-діагностичні системи, а також автоматизація наукових досліджень не можуть бути реалізовані без пристроїв, що виконують функції управління. При побудові системи управління будь-яким об'єктом постає ряд завдань: робити вимірювання (можливо у великій кількості і від декількох об'єктів), проводити їх обробку, забезпечувати зберігання інформації, виробляти керуючі сигнали. Все це буде займати у оператора багато часу і може призводити до грубих помилок. Тому постає питання про автоматизацію вимірювань, що збільшує швидкість зняття відліків, а, отже, і обсяг одержуваної інформації, веде до підвищення точності та достовірності результатів вимірювань і звільняє людину від заняття монотонної і трудомісткою роботою. У зв'язку з цим останнім часом в якості пристроїв управління зростає застосування мікроконтроллерів. Сучасні мікроконтролери володіють такими обчислювальними ресурсами і можливостями управління в режимі реального часу, для одержання яких раніше необхідні були дорожчі багатокристальні компонування. 2.Розробка функціональної схеми мікропроцесорної системи на базі МК 51.  3.Розробка і опис принципової схеми: Для реалізації мікропроцесорної системи відображення інформації на семи сегментному індикаторі (LED) я використовую такі елементи: а) мікроконтролерIntel 8051 б) 9 розрядний (LED) семи-сегментнийіндикатор АЛС318 в) дешифратор К155ИД3 (4-16) г) 8-ми розрядний паралельно-паралельний регістр зсуву К155ИР13 г) кварцовий генератор «HC-49 S» з частотою 11,0592 МГц Спроектована мікропроцесорна система живиться від стабілізованого джерела напруги величиною +5В. Частота з якою працює контролер від кварцового резонатора становить 11.0592 МГц, тому тривалість одного машинного циклу становить 2 мкс. В даній схемі реалізований принцип динамічної індикації. Індикатор АЛС318 має спільний катод, а тому щоб засвітити певний розряд необхідно подати на анод логічну «1» а на катод логічний «0». Для засвічування потрібного розряду використовується дешифратор на виході якого є тільки один логічний нуль ( до катода ). Для засвічування необхідних сегментів використовується порт 1, який з’єднаний з анодами індикатора через буферний регістр зсуву, який виконує узгодження рівнів сигналів мікропроцесора і індикатора. Сам регістр синхронізується з 4-ої ніжки порта2 кожен раз при активації відповідного розряду індикатора. Зважаючи на те, що у дешифратора є невикористаними аж 7 виходів, ми легко можемо збільшити кількість розрядів індикатора аж до 16. 4.Блок-схема алгоритму роботи індикатора АЛС318  5.Розробка програми на мові Асемблер з необхідними коментарями Код програми яка реалізує виведення даних на спроектованому нами цифровому пристрої. ;===================== Ініціалізація банків ==================== bank0 equ 00000000B bank1 equ 00001000B bank2 equ 00010000B bank3 equ 00011000B ;===================== Оголошення змінних =================== adressequ R1 ; для пересування по буферу даних indexequ R0 ; для зміни розряду індикатора ;===================Сегмент даних ======================== DSEG ORG 20H ORG 30h BufROM: DS 10H ; визначення масиву даних для відображення ORG 70H Stack: DS 10H ;=================== Сегмент коду ========================= CSEG ORG 0000H ; старт програми jmpstart ; перехід до початку програми ORG 0003H reti ; вектор переривання INT0 ORG 000BH call INTERUPT ; вектор переривання таймера 0 ORG 0013H reti ; вектор переривання INT1 ORG 001BH reti ; вектор переривання таймера 1 ORG 0023H reti ; вектор переривання UART ORG 0030H Start: movsp, #(stack-1) ;встановлення вершини стеку ;================ ініціалізація портів ================== mov p0, #11111111B mov p1, #11111111B mov p2, #11111111B mov p3, #11111111B ;================= запис попередніх значень в буфер ====== movbufROM,#0 mov bufROM+1,#1 mov bufROM+2,#2 mov bufROM+3,#3 mov bufROM+4,#4 mov bufROM+5,#5 mov bufROM+6,#6 mov bufROM+7,#7 mov bufROM+8,#8 mov bufROM+9,#9 ;=================== ініціалізація ======================= call INITIALIZATION ; ініціалізація змінних mov TL0,#LOW(-5000) ; встановлення таймера 0 на 5 мс mov TH0,#HIGH(-5000) ; в режим зворотнього відліку mov IE,#0ffh ;глобальний дозвіл переривань mov TMOD,#00000001b ;встановлення Т0 в 16 бітний режим mov TCON,#10h ;запуск таймера 0 ;============ основне тіло програми ====================== MAIN: jmp MAIN ;================= обробка переривань ==================== INTERUPT: mov P2,#0FFh ;скидання порта2 mov IE,#0 ;заборона переривань mov TCON,#0h ;вимкнення таймера mov A,@adress ;зчитування значення розряду з буфера даних callDecoder ;декодування зчитаного значення в 16h mov P1,A ;виведення обробленого значення на індикатор mov P2,index ;активація поточного розряду індикатора incadress ;перейти на наступний байт в буфері даних djnzindex,skip ;якщо при переході на інший розряд відбувсявихід за межі розрядної сітки індикатора то викликаємо функцію ініціалізації call INITIALIZATION skip: mov TL0,#LOW(-5000) ;встановлення таймера mov TH0,#HIGH(-5000) ; встановлення таймера mov IE,#0ffh ;дозвіл переривань mov TCON,#10h ;включення таймера reti ;повернення з переривань ;================== функція ініціалізації ==================== INITIALIZATION: movindex,#9 ;перехід на 0 розряд індикатора movadress,#BufROM ;перехід на перший байт буфера даних mov P1,#0 ;очищення порта 1 mov P2,#0FFh ;встановлення порта 2 ret ;========== функція двійково-шістнадцяткового декодування ===== Decoder: movc A,@A+PC ;зчитування потрібного значення з таблиці даних ret ;============= таблиця значень декодера ===================== db 01100000b db 11011010b db 11110010b db 01100110b db 10110110b db 10111110b db 11100000b db 11111110b db 11110110b db 11101110b db 00111110b db 10011100b db 01111010b db 10011110b db 10001110b ;================== кінець програми ======================= end ВИСНОВОК: При створенні алгоритму роботи пристрою і написанні коду програми на мові асемблер, було зроблено акцент на економічності використання ресурсів і часу роботи процесора. Алгоритм може бути з легкістю модифікований, оскільки задача виведення тут реалізована через переривання, а весь інший час роботи можна використовувати для вирішення інших задач. Використана література: Микроконтроллеры. Это же просто. Том 1 , Фрунзе А.В., 2002. Цифровые и аналоговыеинтегральныемикросхемы., С. В. Якубовский, Л. И. Ниссельсон, В. И. Кулешова,1990. Популярныемикросхемы ТТЛ , Шило В.Л. ,Аргус,1987.
Антиботан аватар за замовчуванням

25.07.2013 13:48

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!