Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Доступ до зовнішньої і резидентної пам’яті




В МПС на базі МК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- Регістр режиму роботи таймера/лічильника.

Символ Позиція Ім’я та призначення
GATE TMOD.7 для Т/Л1 і TMOD.3 для Т/Л0 Керування блокуванням. Якщо біт установлено, то таймер/ лічильник “х” дозволений до тих пір, доки на вході “INTx” високий рівень і біт керування “TRx” установлено. Якщо біт скинуто, тоді Т/Л дозволений, як тільки біт керування “TRx” установлено.
Л/ TMOD.6 для Т/Л1 і TMOD.2 для Т/Л0 Біт вибору режиму таймера або лічильника подій. Якщо його скинуто, то працює таймер від внутрішнього джерела сигналу синхронізації. Якщо біт установлено, тоді працює лічильник від зовнішніх сигналів на вході “Тх”.
М1   М0 TMOD.5 для Т/Л1 і TMOD.1 для Т/Л0     TMOD.4 для Т/Л1 і TMOD.0 для Т/Л0 М1 М0 Режими роботи
        Таймер-лічильник ”TLx” працює як 5-бітовий дільник.
        16-бітовий таймер/лічильник. “THx” і “TLx” включені послідовно.
        8-бітовий таймер-лічильник з автоперезавантаження. “THx” зберігає значення, яке перезавантажується в “TLx” після чергового переповнення.
        Таймер/лічильник 1 зупиняється. Таймер/ лічильник 0: TLO працює як 8-бітовий таймер/ лічильник, і його режим визначається керуючим бітом таймера 0. ТНО працює як 8-бітовий таймер, і його режим визначається керуючим бітом таймера1.

 

Таблиця 8.8- Регістр керування/статуса таймера

Символ Позиція Ім’я та призначення
TF1 TCON.7 Індикатор переповнення таймера 1. Установлюється апаратно. Скидається апаратно при обслуговуванні переривань.
TR1 TCON.6 Біт керування таймера 1. Визначається програмно, для його пуску або зупинки.
TF0 TCON.5 Індикатор переповнення таймера 0. Установлюється апаратно і скидається при обслуговуванні переривань.
TR0 TCON.4 Біт керування таймера 0. Визначається програмно для пуску або зупинки таймера/лічильника.
IE1 TCON.3 Індикатор фронту переривання 1. Визначається програмно для специфікації запиту INT1.
IT1 TCON.2 Біт керування типом переривання 1. Визначається програмно для специфікації запиту INT1 (зріз / низький рівень).
IE0 TCON.1 Індикатор фронту переривання 0. Установлюється за зрізом сигналу INT0. Скидається при обслуговуванні переривань.
IT0 TCON.0 Біт керування типом переривання 0. Визначається програмно для специфікації запиту INT0 (зріз / низький рівень).

Для розуміння роботи таймерів/лічильників необхідно попередньо проглянути схемотехніку організації режимів роботи таймера/лічильника, показану на рисунку 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...