Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Мікроконтролер виведення малюнків на графічний РК-індикатор

Реферат Мікроконтролер виведення малюнків на графічний РК-індикатор





лей надсилається послідовність з 21 байта (сім команд).

Потім мікроконтролер посилає на лінію Ack # LPT порту через вихід Р2.4 логічну одиницю, яка б означала готовність до прийому, після чого дозволяє всі переривання. p align="justify"> По приходу логічного нуля на 12 лінію мікроконтролера виникає переривання INT0, вступає в дію обробник цього переривання, який зчитує дані з порту Р1 і запускає процедуру обробки прийнятого байта. p align="justify"> У викликаної процедурі прийнятий байт запам'ятовується і мікроконтролер очікує наступного байта виставляючи одиницю на Р2.4.

Коли приходить другий байт, процедура обробки прийнятого байта, використовуючи перший байт, обчислює координату на бітовій карті дисплея. p align="justify"> Потім мікроконтролер зчитує з LCD байт з таким же місцем розташування, наступним способом:

В· На вихід Р2.2 виставляється одиниця, що означає що буде команда.

В· На порт Р0 надсилається почергово три байти команди установки позиції на бітовій карті дисплея.

В· Зчитується байт, записаний в цій позиції.

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

У програмі також передбачена можливість очищення дисплея, яка відбувається при надсиланні з LPT порту байта 0FFH.


4.2 Лістинг програми


ts: do;

$ include (reg51.dcl) (i, r0, r1, a, a1, x, y, bait, ostatok, nomer, counter, mask, j) byte, (*) byte constant ( 80h, 07h, 40h,

eh, 00h, 41h,

h, 00h, 42h,

eh, 00h, 43h,

00h, 00h, 81h,

h, 00h, 24h,

h, 00h, 98h);

/* Перевірка готовності дисплея */

status: procedure; c byte; = p2 or 00000100b;/* cd = 1 */= 0ffh; = 0bh; = 0; while r1-c <> 0; = p2 and 11111101b; /* rd = 0 */= p0; = p2 or 00000010b; /* rd = 1 */= r1 and c;; status;

/* Читання байта з дисплея * /: procedure; status; = p2 or 00000100b;/* cd = 1 */= low (nomer); = p2 and 11111110b;/* wr = 0 * /= p2 or 00000001b;/* wr = 1 */= high (nomer); = p2 and 11111110b;/* wr = 0 */= p2 or 00000001b;/* wr = 1 */= 24h; = p2 and 11111110b ;/* wr = 0 */= p2 or 00000001b;/* wr = 1 */= p0 and 11111011b;/* cd = 0 */= p2 and 11111101b;/* rd = 0 */= p0; = p2 or 00000010b;/* rd = 1 */read;

/* Запис байта на дисплей */

write: procedure;

p0 = a; = p2 and 11111110b;/* wr = 0 */= p2 or 00000001b;/* wr = 1 */...


Назад | сторінка 3 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організаційно-економічна характеристика ТОВ &Байт-сервіс&
  • Реферат на тему: Відображення на екрані дисплея графічної ІНФОРМАЦІЇ
  • Реферат на тему: Мікроконтролер сімейства MCS-51
  • Реферат на тему: Мікроконтролер типу AVR компанії ATMEL
  • Реферат на тему: Конкурентні позиції: перехоплення вантажів у конкурентів порту Калінінграда ...