Доступ до зовнішньої і резидентної пам’яті
В МПС на базі МК51 можливе використання двох типів зовнішньої пам’яті: постійної пам’яті програм (ЗПП) і оперативної пам’яті даних (ЗПД). Доступ до ЗПП здійснюється за допомогою строб-сигналу читання . Доступ до ЗПД можливий через сигнали i , які формуються на лініях Р3.7 і Р3.6 порту 3 в режимі альтернативних функцій. При зверненні до ЗПП завжди використовується 16-бітова адреса, а до ЗПД-16-бітова адреса (MOVX, @ DPTR) або 8-бітова адреса (MOVX A, @ R1). Доступ до ЗПП можливий при наявності двох умов: або на вхід відключення резидентної пам’яті програм () подається сигнал низького рівня, або вміст лічильника перевищує значення 0FFFH (при суміщенні РПП і ЗПП). Наявність сигналу забезпечує доступ до молодших 4К адрес адресного простору ЗПП. Часова діаграма вибирання коду команди з ЗПП приведена на рисунку 8.6. У фазах S2P1, S2P2 на виводах порту Р0 формується молодший байт комірки зовнішньої пам’яті програм, де знаходиться код наступної команди. В цей же момент старший байт адреси видається через порт Р2. Заднім фронтом сигналу (фаза S2P2) фіксується, а порт РО переходить у Z-стан. За переднім фронтом стробу PSEN (фаза S4P1) код команди зчитується із ЗПП. Таймер - лічильник МК51 має два програмованих 16-бітних таймери/лічильники (Т/Л0 Т/Л1), які можуть використовуватись як таймери або лічильники зовнішніх подій. При роботі його в режимі таймера вміст Т/Л інкрементується в кожному машинному циклі, тобто через кожні 12 періодів резонатора. При роботі його в режимі лічильника вміст Т/Л інкрементується під дією переходів з 1 в 0 зовнішнього вхідного сигналу на відповідних (Т0 і Т1) виводах МК51. Максимальна частота підрахунку вхідних сигналів рівна 1/24 частоти резонатора.
Для керування роботою Т/Л і організації взаємодії таймерів з системою переривань використовуються два регістри спеціальних функцій (TMOD i TCON), опис яких приведений в таблицях 8.7 – 8.8 відповідно. Таблиця 8.7- Регістр режиму роботи таймера/лічильника.
Таблиця 8.8- Регістр керування/статуса таймера
Для розуміння роботи таймерів/лічильників необхідно попередньо проглянути схемотехніку організації режимів роботи таймера/лічильника, показану на рисунку 8.7. Таймери/лічильники можуть працювати в режимах 0,1,2 і 3 (таблиця 8.7). Коротко розглянемо роботу Т/Л в цих режимах.
Рисунок 8.7- Таймер/лічильник подій: а-Т/Л1 в режимі 0: 13-бітовий лічильник; б-Т/Л1 в режимі 2: 8-бітовий лічильник з перезавантаженням; в-Т/Л0 в режимі 3: два 8- бітових лічильники. Режим 0. В цьому режимі Т/Л працює як 13-бітовий лічильник/таймер. При переході зі стану “всі одиниці” в стан “всі нулі” установлюється індикатор TF1 (рисунок8.7а). Вхідний сигнал таймера 1 дозволений, якщо TR1=1 і або GATE=0 або INT1=1. Коли GATE=1, таймер можна використовувати для вимірювання тривалості імпульсного сигналу на вході INT1. Режим1. Робота Т/Л аналогічна режиму 0, але таймерний регістр має розрядність 16 бітів. Режим 2. В Цьому режимі переповнення 8-бітового лічильника TL1 викликає не тільки установку індикатора TF1, але і автоматично перезавантажує в TL1 вміст старшого байта (ТН1) таймерного регістра, що задається програмно (рисунок 8.7б). Вміст ТН1 не змінюється. Т/Л0 і Т/Л1 працюють однаково. Режим 3. В даному режимі Т/Л0 і Т/Л1 працюють у такий спосіб. Т/Л1 не змінює свого вмісту, а Т/Л0 (рисунок 8.7в) функціонує, як два незалежний 8-бітових лічильники. Проте ТН0 може працювати тільки як таймер при TR1=1. При цьому ТН0 використовує індикатор переповнення TF1. Робота ТL0 визначається керуючими бітами Л/T, GATE, TRO, вхідним сигналом INTO та індикатором TF0.
Читайте также: Аудит доступа к ресурсам. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|