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

Лабораторна робота №6 Тема: Програмування накопичувачів типу Compact| Flash.

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

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

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

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

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

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

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

Хід роботи:

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

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

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

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

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

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

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

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

Бібліотека для роботи з|із| Compact| Flash| надає програми для доступу до даних на картах Compact| Flash| (далі по тексту - CF|). CF| карти - це широко використовувані пристрої|устрої| пам'яті, вживані, наприклад, в цифрових камерах. Велика ємкість|місткість| (8MB| ~ 2GB|, і більш) і відмінна швидкість доступу (типове значення декілька мікросекунд) роблять|чинять| їх дуже привабливими для використання з|із| мікроконтролерами|мікроконтроллерами|.

У CF| картах дані діляться на сектори, один сектор зазвичай|звично| складається з 512 байтів (деякі застарілі моделі мають сектори по 256 байтів). Операції читання і запису здійснюються не безпосередньо|прямо|, а послідовно, через буфер на 512 байт. Програми бібліотеки можуть бути використані для роботи з|із| CF| картами, що мають файлові системи FAT16| і FAT32|. Проте|однак| програми управління файлами можуть працювати тільки|лише| з|із| файловою системою FAT16|.

Важливо|поважно|! Програми доступу до файлів можуть записувати|занотовувати| файл. Ім'я файлу має бути завдовжки рівно 8 символів верхнього регістра|реєстру|. Користувач сам відповідає за унікальність імен файлів, оскільки програми роботи з|із| CF| цього не контролюють.

Важливо|поважно|! Перед операцією запису необхідно переконатися, що запис проводиться|виробляє| не в завантажувальний сектор або сектор таблиці FAT|, оскільки це зробить карту нечитабельною в камері або комп'ютері. Тут істотну|суттєву| допомогу можуть надати засоби|кошти| низькорівневого доступу до носіїв, ніби|начеб| Winhex|.

Наступна програма записує|занотовує| 512 байтів в сектор 590, потім читає дані і виводить їх в PORTD| для візуального контролю.

unsigned| i;

void| main|() {

TRISC| = 0; // PORTC| - вихід

Cf_Init|(&PORTB| &PORTD); // Ініціалізація портів

while| (!Cf_Detect()); // Очікування|чекання| підключення CF| карти

Delay_ms|(500);

Cf_Write_Init|(590, 1); // Ініціалізація запису сектора 590

// Запис 512 байтів в сектор (590)

for| (i = 0; i < 512; i++|)

Cf_Write_Byte|(i + 11);

PORTC| = 0xFF|;

Delay_ms|(1000);

Cf_Read_Init|(590, 1); // Ініціалізація читання сектора 590

// Читання 512 байтів з|із| сектора (590)

for| (i = 0; i < 512; i++|) {

PORTC| = Cf_Read_Byte|(); // Читання байта і виведення його в PORTC|

Delay_ms|(1000);

}

}

Підключення компонентів:

Схема підключення виводів|висновків| CF| карти пам'яті