Приклад програми для лабораторної роботи №1
Приклад програми для лабораторної роботи №1 На світлодіодній лінійці засвітити біжучу точку. // address of LEDs 0x07 // define DATA transfer register DAT EQU R0 // define ADDRESS transfer register ADDR EQU R1 // define temporary0 register Temp0 EQU R2 // Address for PUSH and POP commands _Temp0 EQU 0x02 //Interrupt vector ORG 0x0000 JMP RESET ORG 0x0033 RESET: MOV DAT, #11111111b MOV ADDR, #00000111b CALL write MOV A, #0x01 Forever: Rr A MOV DAT, A MOV ADDR, #0x07 CALL write CALL LDelay CALL LDelay CALL LDelay CALL LDelay CALL LDelay CALL LDelay CALL LDelay JMP Forever // Write to periferal device subroutine write: setb P3. 6 // Set Data bus buffer to TX mov P0, DAT //moving data to bus buffer mov P2, ADDR // set periferals address nop //wait nop mov P2, #0x00 //clock pulse for device latch ret //exit from subroutine // Delay 17. 9 ms LDelay: MOV Temp0, #0xFF LD1: DEC Temp0 PUSH _Temp0 MOV Temp0, #0xFF DJNZ Temp0, $ POP _Temp0 CJNE Temp0, #0x00, LD1 RET END Варіанти індивідуальних завдань
Лабораторна робода №2. Схема статичного відображення інформації та робода з семисегментним індикатором
Тема: Схема статичного відображення інформаціїта робода з семисегментним індикатором. Мета: Вивчити метод статичного відображення інформації на прикладі семисегментного індикатора.
Порядок виконання роботи: 1. Вивчити принцип статичного методу відображення інформації на прикладі семисегментного індикатора. 2. Розробити алгоритм індивідуального завдання до початку заняття. 3. Розробити програму і скомпілювати її.
4. Завантажити програму в стенд, переконатись в правильності її роботи, при негативному результаті виявити допущені помилки і виправити їх. Повторити завантаження програми в стенд.
Рисунок 2. 1 – Схема для лабораторної роботи №2
Короткі теоретичні відомості До вузла статичної індикації входять: 4 регістри-фіксатори, струмообмежуючі резистори і чотири цифровий світлодіодний семисегментний дисплей. Схема їх увімкнення показана на рисунку 3. 1. Зміст статичної індикації полягає у тому, щоб кожен індикатор постійно висвічувався від свого джерела інформації. Число, яке виводиться на індикатор, фіксується відповідним регістром. Після запису числа в регістр, шина даних може приймати довільне значення, воно не буде впливати на значення, що висвічується на індикаторі. Хоча застосування статичної індикації і потребує відносно великих апаратних затрат, зате відпадає потреба в постійному переключенні індикаторів, як у випадку динамічної індикації, спрощується програмне забезпечення, контролер звільняється від необхідності постійної почергової передачі чисел на кожен індикатор, як у випадку динамічної індикації. Коли потрібно засвітити сегмент індикатора, слід встановити відповідний біт регістра, рівний логічному нулю. Для того, щоб погасити відповідний індикатор, у регістр потрібно записати число 0FFh. Оскільки індикатори підключені без дешифраторів, то процес дешифрування слід проводити програмно. Програмне дешифрування дозволяє виводити на індикатор не тільки числа, а й деякі букви та інші символи.
Рисунок 3. 1 – Схема позначення сегментів індикатора
Таблиця 3. 1 – Дешифрування двійкового коду для семисегментного індикатора
Для засвічування десяткової коми (dp, decimal point) потрібно встановити біт 7 дешифратора, рівний 0. Адреси цифр дисплея розміщені наступним чином:
для запису в перший (справа наліво) розряд адрес рівний 01h; для запису в другий розряд Р2 адрес рівний 02h; для запису в третій розряд Р2 адрес рівний 03h; для запису в четвертий розряд Р2 адрес рівний 04h. Запис відбувається згідно послідовності, вказаної в лабораторній рободі №2.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|