- •Інструкція з техніки безпеки та правил поведінки в комп'ютерному класі
- •Комплекс вправ для очей
- •Комплекс вправ для поліпшення мозкового кровообігу
- •Критерії оцінювання навчальних досягнень
- •Лабораторна робота №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.
Лабораторна робота №14 Тема: Робота мікроконтролера з сигналом шім (широтно імпульсної модуляції).
Мета роботи: навчитися програмувати мікроконтролер, програмно звертатися до вбудованих модулів, отримати навички по використанню програмної бібліотеки формування широтно імпульсного сигналу на виході порту.
Матеріальне забезпечення роботи: персональний комп’ютер, програмне забезпечення віртуального середовища Proteus ISIS, мова програмування С, відлагоджувальний комплект ICD2.
Завдання для попередньої підготовки.
Вивчити відповідний теоретичний матеріал.
Опрацювати контрольні запитання.
Підготовити звіт.
Намалювати схеми для моделювання та дослідження.
Хід роботи:
В програмному симуляторі зібрати схему згідно завдання лабораторної роботи.
Створити проект програмного коду в програмі mikroC.
Внести заготовлений код програми до програмного середовища.
Компілювати проект.
Внести отриманий двійковий компільований код до програми відлагоджувальника.
Запустити програму відлагоджувальник.
Проаналізувати роботу програми в різних режимах.
Вихідні дані до роботи:
Апаратний модуль CCP| є|наявний| у ряді|в ряді| мікроконтролерів|мікроконтроллерів| PIC|. MIKROC| надає бібліотеку, яка спрощує використання апаратного модуля CCP| в режимі PWM|.
Примітка|тлумачення|: Окремі PICmicro| з|із| двома або більш модулями CCP|, як, наприклад, P18F8520|, вимагають заздалегідь визначити модуль, який буде використаний. Для цього досить просто додати|добавляти| номер 1 або 2 до Pwm| в імені функції. Наприклад, Pwm2_Start|(); Також, з метою зворотної сумісності з|із| попередніми версіями компілятора і полегшення управління кодами, мікроконтролери|мікроконтроллери| з|із| декількома модулями CCP| мають Pwm| бібліотеку, яка ідентична Pwm1| (тобто можна використовувати Pwm_Init|(5000) замість Pwm1_Init|(5000) для ініціалізації модуля CCP1|).
Тут безперервно міняється шпаруватість сигналу PWM| на виході RC2|. Якщо до цього виводу|висновку| підключити світлодіод, можна буде спостерігати зміну яскравості свічення.
// мікроконтролер|мікроконтроллер|: P16F877A|
// модуль PWM| використовує RC2|.
unsigned| short| j, oj|;
void| InitMain|() {
PORTB| = 0; // Скидання|скид| PORTB| в 0
TRISB| = 0; // PORTB| - вихід
ADCON1| = 6; // Всі входи ADC| - цифрові
PORTA| = 255;
TRISA| = 255; // PORTA| - вхід
PORTC| = 0xFF|; // Установка PORTC| в 0xFF|
TRISC| = 0; // PORTC| - вихід
Pwm_Init|(5000); // Ініціалізація модуля PWM|
}//~
void| main|() {
InitMain|();
j = 80; // Початкове значення j
oj| = 0; // oj| зберігатиме старе j 'Old| j'
Pwm_Start|(); // запуск PWM|
while| (1) { // Нескінченний|безконечний| цикл
if| (Button|(&PORTA|, 0,1,1)) // Кнопка на RA0| натиснута|натискувати|
j++| ; // інкремент j
if| (Button|(&PORTA|, 1,1,1)) // кнопка на RA1| натиснута|натискувати|
j-- ; // декремент j
if| (oj| != j) { // якщо була зміна
Pwm_Change_Duty|(j); // встановити нову шпаруватість
oj| = j; // запам'ятати
PORTB| = oj|; // і вивести на PORTB|
}
Delay_ms|(200); // Сповільнювач|уповільнювач| процесу
}
}
Підключення пристроїв
Демонстрація PWM|
