у і два 16-розрядних програмованих таймера. У відмінності від 51 контролери 52 серії має більший обсяг ОЗУ, 3 таймера, можливість роботи по шині I2C, що дозволяє підключити зовнішнє ПЗУ і достатня кількість портів (4 Г— 8). p>
Свій вибір я зупинив на контролері сімейства МК51 AT89C51. Тому що у цього контролера найбільш доступна ціна при достатній кількості портів, пам'яті і функцій; архітектура даного контролера вивчена в курсі лабораторних робіт. p align="justify"> Параметри AT89C51:
Пам'ять програм - 4 Кбайта
Пам'ять даних - 128 байт
Висновки введення/виведення - 32
бітові таймери лічильники - 2
Джерела переривань - 6
Біти захисту - 3
Розробка функціонування програми
Перед початком розробки алгоритму роботи програми необхідно продумати призначення клавіш і індикацію на РКІ дисплеї.
При включенні пристрою в мережу відбувається автоматичне включення радіо тюнера. Автоматичний пошук станцій продовжується до тих пір, поки не знайдеться активна радіостанція. Гучність за замовчуванням 25% від потужності УЗЧ. Гучність звучання відображається як V і 15 - одиниць гучності за шкалою від 0-60. p align="justify"> Індикація на РКІ буде виглядати наступним чином:
_TUNER_AM___V15 Рисунок 1 - Індикація на РКІ
Для регулювання гучності використовуємо енкодер підключений до висновків 3 і 4 буфера регістрів БК-3. p align="justify"> Для переходу в режим авто магнітоли натискаємо клавішу 7, для повернення в режим радіоприймача натискаємо клавішу 8. br/>
_MAGNITOLA__PLAYV15 Рисунок 2 - Індикація на РКІ
Для включення режиму CD плеєра натискаємо клавішу 13. Індикація на дисплеї показана на малюнку 3. br/>
_CD-PLAER___STOPV15 Рисунок 3 - Індикація на РКІ
Клавіші 14, 17, 18 мають багатофункціональне призначення. У режимі авто магнітоли і CD плеєра - це клавіші перемотування назад, грати зупинити, перемотування вперед. У режимі радіо НЧ ВЧ, AM FM, Викл звук (MUTE). p align="justify"> Для того щоб виводити на екран дані я вирішив оголосити масив і надалі в циклі виконувати висновок масиву з певними затримками між передачею кожного елемента на РК - індикатор. Щоб економити пам'ять, процедура виведення використовує автоматичний перехід на другу сходинку із заповненням невидимих ​​позицій нулями. Тому перша строчка заповнює перші 12 символ, друга - другі 12 символ. p align="justify"> Для зручності використання, більшу частину прапорів я задав як бітові, але деякі прапори, наприклад, напрям...