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

Лабораторна робота №9 Тема: Вивід інформації на графічний дісплей glcd.

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

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

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

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

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

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

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

Хід роботи:

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

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

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

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

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

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

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

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

MIKROC| надає бібліотеку для роботи з|із| поширеним графічним LCD| 128x64.

Приведений приклад|зразок| тестує функції бібліотеки GLCD|.

#include| <my_images|.h> // Включення|приєднання| власного файлу зображень

unsigned| short| j, до;

void| main|() {

GLCD_Init|(PORTB|, 2, 0, 3, 5, 7, 1, PORTD|);

// Установка шрифту для тексту, що виводиться

GLCD_Set_Font|(&FontSystem5x8|, 5, 8, 32);

do| {

// Виведення власного малюнка

GLCD_Image|(mikro_logo_32|);

Delay_ms|(4000);

// Малювання кіл

GLCD_Fill|(0); // Очищення|очистка| екрану

GLCD_Write_Text|("Circles|", 0, 0, 1);

j = 4;

while| (j < 31) {

GLCD_Circle|(63, 31, j, 2);

j += 4;

}

Delay_ms|(4000);

// Малювання прямокутників

GLCD_Fill|(0); // Очищення|очистка| екрану

GLCD_Write_Text|("Rectangles|", 0, 0, 1);

j = 0;

while| (j < 31) {

GLCD_Box|(j, 0, j + 20, j + 25, 2);

j += 4;

}

Delay_ms|(4000);

// Малювання ліній

GLCD_Fill|(0); // Очищення|очистка| екрану

GLCD_Write_Text|("Lines|", 0, 0, 1);

for| (j = 0; j < 16; j++|) {

до = j*4| + 3;

GLCD_Line|(0, 0, 127, до, 2);

}

for| (j = 0; j < 31; j++|) {

до = j*4| + 3;

GLCD_Line|(0, 63, до, 0, 2);

}

Delay_ms|(4000);

} while| (1);

}//~!

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

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

Лабораторна робота №10 Тема: Підключення завнішнього eeprom з використанням шини i2c.

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

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

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

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

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

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

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

Хід роботи:

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

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

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

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

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

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

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

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

Апаратний модуль MSSP|, який може працювати в режимі I2C є|наявний| в цілому ряду|лаві| представників сімейства PIC| MCU|. MIKROC| надає бібліотеку, яка підтримує апаратну реалізацію I2C у режимі ведучого.

Примітка|тлумачення|: Окремі PICmicro| з|із| двома модулями I2C, як наприклад P18F8722|, вимагають заздалегідь визначити модуль, який буде використаний. Для цього досить просто додати|добавляти| номер 1 або 2 до I2C| в імені функції. Наприклад, I2C2_Wr|(); Також, з метою зворотної сумісності з|із| попередніми версіями компілятора і полегшення управління кодами, мікроконтролери|мікроконтроллери| з|із| декількома модулями I2C| мають I2C бібліотеку, яка ідентична I2C1| (тобто можна використовувати I2C_Init|() замість I2C1_Init|() для операцій з I2C).

Цей код демонструє використання бібліотеки I2C. PIC| MCU| підключений (виводи|висновки| SCL|, SDA|) до 24c02 EEPROM|. Програма посилає дані в EEPROM| (Дані записуються|занотовують| за адресою 2). Після|потім| цього дані читаються по I2C| з|із| EEPROM| і відправляються|вирушають| на PORTD|, для перевірки що цикл був успішний (підключення 24с02 до PIC|).

void| main|(){

PORTB| = 0;

TRISB| = 0;

I2C_Init|(100000);

I2C_Start|(); // Видати комбінацію START|

I2C_Wr|(0xA2); // Передача байта (адреса 24cO2 і команда запису)

I2C_Wr|(2); // Передача байта (адреса EEPROM|

// до якого буде проведено|виробляти| звернення|звертання|)

I2C_Wr|(0xF0); // Передача байта (дані для запису)

I2C_Stop|(); // Видати комбінацію STOP|

Delay_ms|(100);

I2C_Start|(); // Видати комбінацію START|

I2C_Wr|(0xA2); // Передача байта (адреса 24c02 і команда запису)

I2C_Wr|(2); // Передача байта (адреса EEPROM|

// до якого буде проведено|виробляти| звернення|звертання|)

I2C_Repeated_Start|(); // Повтор видачі комбінації STERT|

I2C_Wr|(0xA3); // Передача байта (адреса 24cO2 і команда читання)

PORTB| = I2C_Rd|(0u|); // Читання байта без видачі підтвердження

I2C_Stop|(); // Видати комбінацію STOP|

}

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

Підключення 24c02 до PIC| по I2C