- •Інструкція з техніки безпеки та правил поведінки в комп'ютерному класі
- •Комплекс вправ для очей
- •Комплекс вправ для поліпшення мозкового кровообігу
- •Критерії оцінювання навчальних досягнень
- •Лабораторна робота №1 Тема: Програмне середовище віртуального відлагоджування Proteus isis.
- •Лабораторна робота №2 Тема: Мова інтегрованого програмування високого рівня mikroC.
- •Лабораторна робота №3 Тема: Аналого цифровий перетворювач та його програмування.
- •Лабораторна робота №4 Тема: Інтерфейс can мережді передачі даних.
- •Лабораторна робота №5 Тема: Доступ до мережі can з використанням spi інтерфейсу.
- •Лабораторна робота №6 Тема: Програмування накопичувачів типу Compact| Flash.
- •Лабораторна робота №7 Тема: Інформаційний обмін з накопичувачем ммс/sd.
- •Лабораторна робота №8 Тема: Вивід інформації на текстовий lcd дісплей у 4 бітному коді.
- •Лабораторна робота №9 Тема: Вивід інформації на графічний дісплей glcd.
- •Лабораторна робота №10 Тема: Підключення завнішнього eeprom з використанням шини i2c.
- •Лабораторна робота №11 Тема: Підключення 16 кнопочної клавіатури.
- •Лабораторна робота №12 Тема: Самосинхронізуючий манчестерський код.
- •Лабораторна робота №13 Тема: Інформаційний обмін по протоколу OneWire.
- •Лабораторна робота №14 Тема: Робота мікроконтролера з сигналом шім (широтно імпульсної модуляції).
- •Лабораторна робота №15 Тема: Інформаційний обмін по протоколу rs-485| .
- •Лабораторна робота №16 Тема: Інформаційний обмін по протоколу rs-232| .
- •Лабораторна робота №17 Тема: Взаємодія пристроїв на базі шини usb.
Лабораторна робота №17 Тема: Взаємодія пристроїв на базі шини usb.
Мета роботи: навчитися програмувати мікроконтролер, програмно звертатися до вбудованих модулів, отримати навички по використанню програмної бібліотеки для роботи з апаратним модулем USB|.
Матеріальне забезпечення роботи: персональний комп’ютер, програмне забезпечення віртуального середовища Proteus ISIS, мова програмування С, відлагоджувальний комплект ICD2.
Завдання для попередньої підготовки.
Вивчити відповідний теоретичний матеріал.
Опрацювати контрольні запитання.
Підготовити звіт.
Намалювати схеми для моделювання та дослідження.
Хід роботи:
В програмному симуляторі зібрати схему згідно завдання лабораторної роботи.
Створити проект програмного коду в програмі mikroC.
Внести заготовлений код програми до програмного середовища.
Компілювати проект.
Внести отриманий двійковий компільований код до програми відлагоджувальника.
Запустити програму відлагоджувальник.
Проаналізувати роботу програми в різних режимах.
Вихідні дані до роботи:
Універсальна послідовна шина (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|
