Лабораторний стенд „МПТ” призначений для отримання навичок програмування на асемблері та мовами високого рівня мікроконтролера Atmel AT89C52 (прототип – Intel MCS-51), а також вивчення допоміжних і інтерфейсних мікросхем, застосовуваних в МПС:
– паралельного програмуємого інтерфейсу (ППІ) КР580ВВ55А;
– годинника реального часу з послідовним інтерфейсом Dallas Semiconductor DS1307;
– цифрового давача температури Dallas Semiconductor DS1621/ DS1631;
– пам‘яті з послідовним доступом на 256 байт Atmel AT24C02. Стенд містить у собі персональний комп‘ютер та навчально-відлагоджувальний пристрій (НВП) EV8031/AVR. Персональний комп ‘ютер використовується для створення вхідного програмного модуля, його трансляції та відлагодження за допомогою крос-засобів. Завантажен-ня відлагодженої програми у НВП EV8031/AVR виконується за допомогою послідовного інтерфейсу RS-232C через COM-порт персонального комп‘ютера.
Структурну схему НВП EV8031/AVR наведено на рисунку 1.1.
НВП являє собою відлагоджувальну мікроЕОМ, до системної шини якої підключені в якості зовнішніх пристроїв мікросхеми, що використовуються в лабораторних роботах. НВП містить наступні вузли:
ОЭВМ – однокристальна ЕОМ;
RS232C/1 – послідовний порт для зв‘язку з персональним
комп‘ютером;
RS232C/2 – послідовний порт для зв‘язку з периферійними пристроями;
PORTA, PORTB, PORTC – паралельні приймачі/передавачі.
Логіку НВП EV8031/AVR реалізовано на програмуємій логічній мікросхемі EPM7128STC100 (DD4). Системний контролер керує режимами роботи, формує керуючі сигнали для ОЗП, регістрів защілки, динамічного світлодіодного індикатора та клавіатури.
Схему розміщення складових частин НВП наведено на рисунку 1.2.
На рисунку 1.2 позначені наступні елементи НВП:
X1 – системний інтерфейс з повним адресним простором;
X10 – інтерфейс розширення для підключення зовнішніх пристроїв з використанням паралельного приймача/передавача;
X11 – інтерфейс послідовного порту СОМ1 для зв‘язку НВП з комп‘ютером;
X12 – інтерфейс послідовного порту СОМ2 для зв‘язку НВП з інши-ми пристроями, які мають стандартний порт RS232C;
Структурну схему базової плати розширення наведено на рисунку 1.3. Плата містить набір приладів, які дозволяють засвоїти основні прийо-ми програмування периферії МПС.
На рисунку 1.3 позначені наступні елементи плати розширення: 8888 – 4-розрядний індикатор з динамічною індикацією; ІПП інтерфейс периферійних пристроїв;
ЦАП – цифроаналоговий перетворювач; СДІ – світлодиодні індикатори;
ЗСІ – світлодіодний знакосинтезуючий матричний індикатор 5х7;
ГЗЧ – генератор із змінною частотою сигналу;
КЗП – кнопки запиту переривання;
ДНВ – джерело напруги, що вимірюється;
ШД – шина даних.
Після увімкнення стенда або скидання МК (DD1) стартує програма-завантажувач, яка знаходиться у резидентній Flash-пам‘яті МК AT89C52. Ця програма виконує ініціалізацію послідовного приймача/передавача МК, перевіряє наявність і ємність пам‘яті даних.
Пам‘ять ОЗП обсягом 32Кб розподілено на дві частини по 16Кб. Одна частина використовується в якості пам‘яті програм для завантаження програм користувача . Інша частина є для МК звичайною зовнішньою пам‘яттю даних. Під час завантаження вся зовнішня пам‘ять 32Кб відображується в адресний простір в якості пам‘яті даних (рис. 1.4).
Звертання процесора до периферійних пристроїв НВП EV8031/AVR реалізовано як адресація до комірок пам‘яті в адресному просторі від 8000h до FFFFh. Сигнали вибору периферійних пристроїв формуються дешифратором адреси у складі мікросхеми системного контролера DD4. Адресний простір пристроїв введення/виведення наведений в таблиці 1.1. Чотирирозрядний семисегментний світлодіодний індикатор підключений до системного контролера, який автоматично виконує динамічну ре-генерацію зображення та декодування двійкового коду в код семисегмент-ного індикатора. Індикатор починає працювати одразу після подання жив-лення. Контролер індикатора містить два восьмирозрядних регістри, вміст яких відображується на індикаторі. Вміст регістра з адресою 0xA000 відо-бражується на двох лівих розрядах, вміст регістра з адресою 0xA001 (0xB000) – на двох правих розрядах в шістнадцятковій формі. Керування десятковими крапками та гасінням здійснюється через регістр DC_REG (0xA004). Біти DP3..DP0 керують десятковими крапками.
Запис 1 у відповідний розряд вмикає десяткову крапку. Біти BL3..BL0 керують гасінням розрядів індикатора. Запис 1 у ці біти призводить до гасіння відповідного розряду індикатора.
Стан стовпчика матриці клавіатури зчитується з комірки з базовою адресою 0x9000, бити 3..0. Відповідний стовпчик вибирають нулем в розрядах адреси A2..A0. Тобто адреса 0x9006 вибирає перший стовпчик, адреса 0x9005 – другий стовпчик, адреса 0x9003 – третій стовпчик. Признак нажатої клавіши зчитується як нуль у відповідному розряді.
Під час завантаження програми з персонального комп‘ютера в НВП на екрані відеомонітора відображуються дані, що передаються. Ці ж дані відображуються на індикаторі НВП HG1. Світлодиод HL1 засвічується.
Після передавання останнього байта програми завантажена програма запускається автоматично.
Зупинка запущеної програми та перехід в режим очікування на прийом даних з персонального комп‘ютера можливе натисканням кнопки SW2. При цьому світлодиод HL1 погасне.
Завантаження нової програми можливе в будь-який момент роботи раніше завантаженої програми.
При постійній практичній роботі з НВП дуже зручним рішенням буде налаштування файлової асоціації Windows таким чином , аби автоматично при при виборі файла з росширенням “hex” запускався допоміжний пакетний файл DOS (тобто з розширенням “bat”), в якому був би присутній всього лише один рядок виду:
EVAL32.EXE -hs -com 1 9600 %1
Таблиця 1.1 – Адресний простір пристроїв введення/виведення НВП EV8031/AVR