Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторки.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Лабораторна робота №17 Тема: Взаємодія пристроїв на базі шини usb.

Мета роботи: навчитися програмувати мікроконтролер, програмно звертатися до вбудованих модулів, отримати навички по використанню програмної бібліотеки для роботи з апаратним модулем USB|.

Матеріальне забезпечення роботи: персональний комп’ютер, програмне забезпечення віртуального середовища Proteus ISIS, мова програмування С, відлагоджувальний комплект ICD2.

Завдання для попередньої підготовки.

  1. Вивчити відповідний теоретичний матеріал.

  2. Опрацювати контрольні запитання.

  3. Підготовити звіт.

  4. Намалювати схеми для моделювання та дослідження.

Хід роботи:

  1. В програмному симуляторі зібрати схему згідно завдання лабораторної роботи.

  2. Створити проект програмного коду в програмі mikroC.

  3. Внести заготовлений код програми до програмного середовища.

  4. Компілювати проект.

  5. Внести отриманий двійковий компільований код до програми відлагоджувальника.

  6. Запустити програму відлагоджувальник.

  7. Проаналізувати роботу програми в різних режимах.

Вихідні дані до роботи:

Універсальна послідовна шина (Universal| Serial| Bus|, USB|) є стандартом на послідовний інтерфейс обміну, для підключення до комп'ютера широкого діапазону пристроїв|устроїв|, таких як стільникові телефони, ігрові приставки|префікси|, PDA|, і тому подібне

MIKROC| включає бібліотеку для роботи з|із| пристроями|устроями| інтерфейсу людини з|із| машиною (human| interface| devices|, HID|) через USB|. HID| пристрою|устрою| - це різновид комп'ютерних пристроїв|устроїв|, що безпосередньо|прямо| взаємодіють з|із| людиною, наприклад: клавіатура, миша, графічний планшет і подібні до них.

Файл дескриптора

Кожен проект на базі бібліотеки USB| HID| повинен включати початковий|вихідний| файл дескриптора, що містить|утримує| ідентифікатор і ім'я виробника, ідентифікатор і ім'я продукту, розмір посилки|посилання| і іншу важливу|поважну| інформацію. Для створення|створіння| файлу дескриптора слід використовувати USB| HID| термінал, інтегрований в mikroC| (Tools| › USB| HID| Terminal|). Ім'я файлу дескриптора за умовчанням USBdsc|.c, але|та| його можна перейменувати.

Код, поміщений в теку|папку| “Examples|” працює на частоті 48 Мгц, і прапори не слід змінювати|зраджувати|, заздалегідь не ознайомившись з|із| відповідною документацією.

Бібліотечні функції

Hid_Enable

Hid_Read

Hid_Write

Hid_Disable

Наступний|такий| приклад|зразок| постійно відправляє|відряджає| послідовність чисел 0..255 у комп'ютер через USB|. Файл usbdsc|.c має бути включений в проект засобами|коштами| середовища|середи| mikroC| IDE| або директивою #include| в початковому|вихідному| коді).

unsigned| short| m, до;

unsigned| short| userRD_buffer|[64];

unsigned| short| userWR_buffer|[64];

void| interrupt|() {

asm| CALL| _Hid_InterruptProc|

asm| nop|

}//~

void| Init_Main|() {

// Забороняються всі переривання

// Забороняються GIE|, PEIE|, TMR0IE|, INT0IE|, RBIE|

INTCON| = 0;

INTCON2| = 0xF5;

INTCON3| = 0xC0;

// Забороняється пріоритетність переривань

RCON|.IPEN = 0;

PIE1| = 0;

PIE2| = 0;

PIR1| = 0;

PIR2| = 0;

// Конфігурація всіх аналогових портів як цифрових

ADCON1| |= 0x0F|;

// Конфігурація решти портів

TRISA| = 0;

TRISB| = 0;

TRISC| = 0xFF|;

TRISD| = 0xFF|;

TRISE| = 0x07;

LATA| = 0;

LATB| = 0;

LATC| = 0;

LATD| = 0;

LATE| = 0;

// Очищення|очистка| призначеної для користувача RAM|

// Банки [00 .. 07] ( 8 x 256 = 2048 байтів )

asm| {

LFSR| FSR0|, 0x000

MOVLW| 0x08

CLRF| POSTINC0|, 0

CPFSEQ| FSR0H|, 0

BRA| $ - 2

}

// Timer0|

T0CON| = 0x07;

TMR0H| = (65536-156) >> 8;

TMR0L| = (65536-156) & 0xFF|;

INTCON|.T0IE = 1; // вирішується T0IE|

T0CON|.TMR0ON = 1;

}//~

/** Основна програма **/

void| main|() {

Init_Main|();

Hid_Enable|(&userRD_buffer| &userWR_buffer);

do| {

for| (до = 0; до < 255; k++|) {

// Підготовка буфера запису

userWR_buffer|[0]= до;

// Відправка числа по USB|

Hid_Write|(&userWR_buffer|, 1);

}

} while| (1);

Hid_Disable|();

}//~!

Підключення пристроїв

Схема підключення USB|

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