Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Мета роботи


Дата добавления: 2014-11-10; просмотров: 869



Вивчення схемотехнічних та програмних засобів динамічної індикації МПС. Набуття навичок розробки програмного забезпечення для відображення цифрової інформації на семисигментних динамічних індикаторах, спряжених з ОМК сімейства MCS-51

2.3.2. Теоретичні відомості

При побудові підсистем відображення великої кількості розрядів інформації на світлодіодних індикаторах часто використовують динамічну схему індикації, структурна схема якої наведена на рис.2.16. В динамічних схемах індикації використовується інерційна властивість людського ока, завдяки якій побачене зображення деякий час зберігається в зоровій пам‛яті. На вказаній властивості грунтується принцип демонстрації кінофільмів, де кадри змінюються 24 рази за секунду. Якщо з такою ж частотою засвічувати окремі розряди індикатора, то в цілому отримується стійке зображення всіх розрядів індикатора. Тому для відображення багаторозрядних чисел використовується один регістр даних RD, який періодично підключається до окремих розрядів на такий час, щоб інформація в усіх розрядах оновлювалась з частотою не менше 24 раза за секунду. Одночасно із зміною даних в RD в регістрі адреси RA змінюється адреса (номер) знакомісця, в яке треба вивести існуючу в RD цифру.

Таким чином, в регістрі RD зберігається цифровий код, що призначений для відображення. Вибір знакомісця (розряда) індикатора для виведення цифри здійснюється дешифратором DA, причому двійковий код адреси розряда тимчасово зберігається в регістрі RA.

….
Рис.2.16. Структурна схема динамічної індикації.

Описана схема динамічної індикації реалізована в учбово-відлагоджувальному стенді. Для її реалізації кожний з індикаторів HL1÷HL4 почергово і циклічно підключається через загальну шину даних ШД та регістр даних RD до джерела інформації – портів ОМК.

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

Динамічна індикація реалізована на платі розширення за допомогою чотирьохрозрядного семисегментного індикатора HL2 (Рис.2.6.), принципова схема підключення якого наведена на рис. 2.13. Керування динамічною індикацією здійснюється по лінях порту В: РВ0; РВ1; РВ2; РВ3; РВ4; РВ5; РВ6 і РВ7. Сигнали вибору відповідного індикатора (D1, D2, D3, D4) надходять по лініях порту С: РС0 і РС1 через дешифратор адреси розряду (DС 2:4).

Підготовку програм керування динамічною індикацією треба починати з розрахунку часових затримок світного стану окремих розрядів індикатора.

Наприклад, для 4-хрозрядного динамічного індикатора стенду слід порахувати час світіння одного розряду. Якщо частоту опитування розрядів прийняти 25 Гц, то час, за який треба засвітити всі чотири розряди дорівнює Тінд = 1/25 Гц = 40 мс, а кожний розряд треба світити Трозр = 40/4 = 10 мс. Таким чином, час затримки даних в одному розряді дорівнює 10 мс. Такий час формується програмними засобами практичної роботи №1:DELAY1:- затримка на 1 мс та допрацьована DELAYCD на 10 мс.

DELAY10: ;затримка 10 мс

MOV R3, #0АН ;0АН = 10D

TCD: LCALL DELAY1

DJNZ R3, TCD ;10 разів зовнішний цикл по 1 мс

RET

DELAY1:

MOV R1, #19Н ;1 мкс, (19Н = 25D)

LREX: MOV R2, #012Н ;1 мкс, (12Н = 18D)

LRIN: DJNZ R2, LRIN ;(36) мкс на 12 МГц

DJNZ R1, LREX ;25 разів внутрішній цикл по 37 мкс

MOV R0, # 8Н ;1 мкс,

M1: DJNZ R0, M1 ;2×8=16 мкс,

RET ;2 мкс

 

Рис.2.17. Підпрограма затримки на 10 мілісекунд.

Для прикладу керування динамічним індикатором розглянемо алгоритм виведення на динамічний індикатор часу (10) і хвилин (58), розділених символом ":". Алгоритм містить 4 блоки для виведення кожної цифри на своє знакомісце і 4 блоки виклику затримки:

1) Вивести на перше ліворуч знакомісце цифру 1.

2) Викликати затримку на 10 мс.

3) Вивести на друге зліва знакомісце цифру 0: .

4) Викликати затримку на 10 мс.

5) Вивести на третє зліва знакомісце цифру 5.

6) Викликати затримку на 10 мс.

7) Вивести на крайнє праворуч знакомісце цифру 8.

8) Викликати затримку на 10 мс.

Наведений алгоритм реалізується наступною програмою.

D_IND1:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Підпрограма керування динамічним індикатором для виведення

;чотирьохзначного числа

;Вхід: константи 1, 0, 5, 8

;Вихід: цифри на динамічному світлодіодному індикаторі HL2.

;Прапори: немає

;Використані регістри: А, DPTR.

;Вимагає вільних байт в стеку: 2 (для збереження адреси

;повернення з підпрограми).

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ORG 0 ;розміщення програми з адреси 0000.

mov DPTR, #0A004h ;гасіння розрядів

mov A,#00Fh ;статичного індикатора.

movx @DPTR, A

Continue:

;підготовка першого ліворуч (№0) розряду HL2.

mov A, #0000b ;запис в А адреси 00 розряду №0 HL2.

mov DPTR,#8002h ;запис в DPTR адреси 8002 (порту С).

movx @DPTR, A ;вміст А записати в порт С.

;завантаження даних в розряд.

mov A,#00000110b ;запис семисегментного коду 00000110

;цифри 1 в А.

mov DPTR,#8001h ;запис в DPTR адреси 8001 порту В

movx @DPTR, A ;записати вміст А в порт В.

call DELAY10: ;затримка

;підготовка другого ліворуч (№1) розряду HL2.

mov DPTR, #8002h ;запис в DPTR адреси 8002 (порту С).

mov A,#0001b ;запис в А адреси розряду №1 індикатора HL2.

movx @DPTR, A ;вміст А записати в порт С.

;завантаження даних в розряд.

mov A,#10111111b ;запис коду 10111111 цифри 0 в А.

mov DPTR,#8001h ;запис в DPTR адреси 8001 порту В,

;звідки дані виводяться на HL2.

movx @DPTR,A ;записати вміст А за адресою, що міститься

;в DPTR, тобто засвітити сегменти A,B,C,D,E,F цифри 0,

;та сегмент H - ‘:’ для розділення годин та хвилин

call DELAY10: ;затримка

;підготовка розряду №2 індикатора HL2.

mov DPTR,#8002h ;запис у DPTR адреси 8002 (порту С).

mov A,#0010b ;запис в А адреси розряду №2 індикатора HL2.

movx @DPTR, A ;вміст А записати в порт С.

;завантаження даних в розряд.

mov A, #01101101b ;запис коду 01101101 горіння цифри 5 в А.

mov DPTR, #8001h ;запис у DPTR адреси 8001 порту В.

movx @DPTR, A ;записати вміст А за адресою, що міститься

; в DPTR, тобто в розряд №2 HL2,

call DELAY10: ;затримка.

;підготовка розряду №3 індикатора HL2.

mov DPTR,#8002h ;запис у DPTR адреси 8002 (порту С).

mov A,#0011b ;запис в А адреси розряду №3 HL2.

movx @DPTR, A ;вміст А записати в порт С.

;завантаження даних в розряд.

mov A,#001111111b ;запис коду 01111111 горіння цифри 8 в А.

mov DPTR,#8001h ;запис у DPTR адреси 8001 порту В.

movx @DPTR,A ;в розряді №3 HL2 засвітити сегменти A,B, ;C, D, E, F,G що формують цифру 8.

call DELAY10: ;затримка.

Jmp Continue ;перехід на початок програми

Рис.2.18. Приклад програми керування динамічним індикатором.

2.3.3. Підготовка до роботи.

1) Вивчити принцип та переваги динамічної схеми керування цифровою індикацією.

2) Вивчити апаратні засоби та діапазон адрес керування динамічним світлодіодним індикатором стенду (Рис.2.14.).

3) Розробити детальну БСА підпрограми D_IND1 керування динамічним індикатором (Рис.2.18.).

4) Вивчити призначення та порядок виконання команд керування індикатором, що використані в програмі D_IND1.

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


<== предыдущая лекция | следующая лекция ==>
Мета роботи | Виконання роботи.
1 | 2 | 3 | <== 4 ==> | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Studopedia.info - Студопедия - 2014-2024 год . (0.23 сек.) російська версія | українська версія

Генерация страницы за: 0.23 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7