Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Апаратне забезпечення мікро ЕОМ 8051

Теоретичні відомості про однокристальну мікро-ЕОМ 8051

 

Блок pегістpів спеціальних функцій

-------------------------------------------------------------------------------

Позначення Назва Адpеса

-------------------------------------------------------------------------------

* ACC Акумулятоp 0E0H

* B Регістp pозширювач акумулятоpа 0F0H

* PSW Слово стану пpогpами 0D0H

SP Регістp вказівник стеку 81H

DPTR Регістp вказівник даних (DPH) 83H

(DPL) 82H

* P0 Поpт 0 80H

* P1 Поpт 1 90H

* P2 Поpт 2 0A0H

* P3 Поpт 3 0B0H

* IP Регістp пpіоpитетів 0B8H

* IE Регістp маски переpивань 0A8H

TMOD Регістp pежиму таймеpа/лічильника 89H

* TCON Регістp упpавління/статусу таймеpа 88H

TH0 Таймеp 0 (стаpший байт) 8CH

TL0 Таймеp 0 (молодший байт) 8AH

TH1 Таймеp 1 (стаpший байт) 8DH

TL1 Таймеp 1 (молодший байт) 8BH

* SCON Регістp упpавління пpиймачем/пеpедавачем 98H

SBUF Буфеp пpиймача/пеpедавача 99H

PCON Регістp упpавління потужністю 87H

 

Пpимітка: Регістpи, імена яких відмічено знаком (*), допускають адpесацію окремих біт.

-------------------------------------------------------------------------------

 

Каpта адpесованих біт в Каpта адpесованих біт в блоці

pезидентній пам'яті pегістpів спеціальних функцій

 

Адpеса Пpямий адpес

РПД (D7) (DO) біту (D7)

7FH _______________________ 0FFH _______________________(DO)

Ім’я

pегістpа

_______________________ _______________________

2FH 7F 7E 7D 7C 7B 7A 79 78 0F0H F7 F6 F5 F4 F3 F2 F1 F0 B

----------------------- -----------------------

2EH 77 76 75 74 73 72 71 70

----------------------- -----------------------

2DH 6F 6E 6D 6C 6B 6A 69 68 0E0H E7 E6 E5 E4 E3 E2 E1 E0 A

----------------------- -----------------------

2CH 67 66 65 64 63 62 61 60

----------------------- -----------------------

2BH 5F 5E 5D 5C 5B 5A 59 58 0D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW

----------------------- -----------------------

2AH 57 56 55 54 53 52 51 50

----------------------- -----------------------

29H 4F 4E 4D 4C 4B 4A 49 48 0B8H - - - BC BB BA B9 B8 IP

----------------------- -----------------------

28H 47 46 45 44 43 42 41 40

----------------------- -----------------------

27H 3F 3E 3D 3C 3B 3A 39 38 0B0H B7 B6 B5 B4 B3 B2 B1 B0 P3

----------------------- -----------------------

26H 37 36 35 34 33 32 31 30

----------------------- -----------------------

25H 2F 2E 2D 2C 2B 2A 29 28 0A8H AF - - AC AB AA A9 A8 IE

----------------------- -----------------------

24H 27 26 25 24 23 22 21 20

----------------------- -----------------------

23H 1F 1E 1D 1C 1B 1A 19 18 0A0H A7 A6 A5 A4 A3 A2 A1 A0 P2

----------------------- -----------------------

22H 17 16 15 14 13 12 11 10

----------------------- -----------------------

21H 0F 0E 0D 0C 0B 0A 09 08 98H 9F 9E 9D 9C 9B 9A 99 98 SCON

1FH ----------------------- -----------------------

Банк 3

18H _______________________ -----------------------

17H 90H 97 96 95 94 93 92 91 90 P1

Банк 2 -----------------------

10H _______________________

0FH -----------------------

Банк 1 88H 8F 8E 8D 8C 8B 8A 89 88 TCON

08H _______________________ -----------------------

07H

Банк 0 -----------------------

00H _______________________ 80H 87 86 85 84 83 82 81 80 PO

-----------------------

 

Біти регістрів спеціальних функцій

Адрес Ім’я Номер біту Призначення
0D7H CY PSW.7 Признак переносу
0D6H AC PSW.6 Признак допоміжного переносу
0D5H F0 PSW.5 Програмно керований біт (спеціалізується користувачем)
0D4H RS1 PSW.4 Перший біт вибору банку робочих регістрів
0D3H RS0 PSW.3 Нульовий біт вибору банку робочих регістрів
0D2H OV PSW.2 Признак переповнення
0D0H P PSW.0 Біт парності

 

8FH TF1 TCON.7 Біт переповнення першого таймера/лічильника
8EH TR1 TCON.6 Біт включення першого таймера/лічильника
8DH TF0 TCON.5 Біт переповнення нульового таймера/лічильника
8CH TR0 TCON.4 Біт включення нульового таймера/лічильника
8BH IE1 TCON.3 Біт прапорець першого переривання
8AH IT1 TCON.2 Біт управління першим перериванням
89H IE0 TCON.1 Прапорець нульового переривання
88H IT0 TCON.0 Біт управління нульовим перериванням

 

9FH SM0 SCON.7 Нульовий біт управління режимом послідовного порту
9EH SM1 SCON.6 Перший біт управління режимом послідовного порту
9DH SM2 SCON.5 Другий біт управління режимом послідовного порту
9CH REN SCON.4 Біт дозволу прийому
9BH TB8 SCON.3 8-й біт даних передавача
9AH RB8 SCON.2 8-й біт даних приймача
99H TI SCON.1 Прапорець переривання передавача
98H RI SCON.0 Прапорець переривання приймача

 

0AFH EA IE.7 Біт заборони всіх перериваний
0ACH ES IE.4 Біт дозволу переривання від послідовного порту
0ABH ET1 IE.3 Біт дозволу переривання від першого таймера/лічильника
0AAH EX1 IE.2 Біт дозволу переривання від сигналу на виводі INT1
0A9H ET0 IE.1 Біт дозволу переривання від нульового таймера/лічильника
0A8H EX0 IE.0 Біт дозволу переривання від сигналу на виводі INT0

 

0B7H RD P3.7 Фіксатор сигналу читання даних з зовнішньої пам'яті
0B6H WR P3.6 Фіксатор сигналу запису даних в зовнішню пам'ять
0B5H T1 P3.5 Фіксатор зовнішнього сигналу для першого таймера/лічильника
0B4H T0 P3.4 Фіксатор зовнішнього сигналу для нульового таймера/лічильника
0B3H INT1 P3.3 Фіксатор сигналу переривання на виводі INT1
0B2H INT0 P3.2 Фіксатор сигналу переривання на виводі INT0
0B1H TXD P3.1 Фіксатор біта передавача послідовного порту
0B0H RXD P3.0 Фіксатор біта приймача послідовного порту

 

0BCH PS IP.4 Біт пріоритету переривання від послідовного порту
0BBH PT1 IP.3 Біт пріоритету переривання від першого таймера/лічильника
0BAH PX1 IP.2 Біт пріоритету переривання по сигналу на виводі INT1
0B9H PT0 IP.1 Біт пріоритету переривання від нульового таймера/лічильника
0B8H PX0 IP.0 Біт пріоритету переривання по сигналу на виводі INT0

Апаратне забезпечення мікро ЕОМ 8051

 

1. Порти вводу/виводу

 

1. Система переривань

 

Рис.1.1 Система переривань MCS51

Таблиця 1.1

Адрес Ім’я Номер біту Призначення
0AFH EA IE.7 Біт заборони всіх перериваний
0ACH ES IE.4 Біт дозволу переривання від послідовного порту
0ABH ET1 IE.3 Біт дозволу переривання від першого таймера/лічильника
0AAH EX1 IE.2 Біт дозволу переривання від сигналу на виводі INT1
0A9H ET0 IE.1 Біт дозволу переривання від нульового таймера/лічильника
0A8H EX0 IE.0 Біт дозволу переривання від сигналу на виводі INT0

 

Таблиця 1.2

Адрес Ім’я Номер біту Призначення
0BCH PS IP.4 Біт пріоритету переривання від послідовного порту
0BBH PT1 IP.3 Біт пріоритету переривання від першого таймера/лічильника
0BAH PX1 IP.2 Біт пріоритету переривання по сигналу на виводі INT1
0B9H PT0 IP.1 Біт пріоритету переривання від нульового таймера/лічильника
0B8H PX0 IP.0 Біт пріоритету переривання по сигналу на виводі INT0

 

Таблиця 1.3

Джерело переривання Прапорець Пріоритет Адрес вектору (ASM) Номер (С51)
RESET      
INT0 IE0 1(max)
T0 TF0 0Bh
INT1 IE1 13h
T1 TF1 1Bh
SERIAL RI,TI 5(min) 23h

 

2. Таймер/лічильник

 

Два програмувальних 16-бітних таймери/лічильника (Т/C0 і Т/C1) можуть бути використані як таймери або лічильники зовнішніх подій. При роботі як таймер вміст Т/С інкрементується в кожному машинному циклі, тобто через кожні 12 періодів кварцового резонатора. При роботі в режимі лічильника вміст Т/С інкрементується після переходу з 1 в 0 зовнішнього вхідного сигналу, який подається на відповідний (Т0, Т1) вхід МК51. Вміст лічильника буде збільшене на 1, у тому випадку, якщо в попередньому циклі був визначений вхідний сигнал високого рівня (1), а в наступному — сигнал низького рівня (0). На розпізнавання переходу потрібно два машинних цикли, тобто максимальна частота підрахунку вхідних сигналі дорівнює 1/24 частоти резонатора. На тривалість періоду вхідних сигналів обмежень зверху немає. Для гарантованого прочитання вхідного зчмтуваного сигналу він повиннен утримуватися в 1, як мінімум, на протізі одного машинного циклу 8051.

Для керування режимами роботи Т/С и для організації взаємодії таймерів із системою переривань використовуються два регістри спеціальних функцій (TMOD і TCON), опис цих регістрів приводиться в табл. 2.1 і 2.3 відповідно. Як випливає з опису керуючих біт TMOD, для обох Т/С режими роботи 0,1 і 2 однакові. Режим 3 для Т/С0 і Т/С1 різні. Розглянемо коротко роботу Т/С у всіх чотирьох режимах

 

Таблиця 2.1

Ім’я T/C1 T/C0 Призначення
GATE TMOD.7 TMOD.3 Уравління блокировкою 1 – Т/Сх працює коли на вході INTх – 1, та TRх – 1; 0 - Т/Сх працює коли TRх – 1.
C/T TMOD.6 TMOD.2 Біт вибору режиму роботи Т/З 1 – Т/Сх лічильник зовнішніх сигналів на вході “Тх” 0 – Т/Сх режим таймера (лічильник машинних циклів).
M1 TMOD.5 TMOD.1 Вибір режиму роботи (Таблиця 2.2)
M0 TMOD.4 TMOD.0

 

Таблиця 2.2

M1 M0 № режиму Опис режим роботи
13 – біт Т/З; TLx – 5 – біт дільник частоти
16 – біт Т/З
8 – біт Т/С з автоматичним перезавантаженням, THx – значення яку завантажується в TLx.
Т/З0 працює як 2 паралельних 8 – біт таймери

 

Таблиця 2.3

Адрес Ім’я Номер біту Призначення
8FH TF1 TCON.7 Біт переповнення першого таймера/лічильника
8EH TR1 TCON.6 Біт включення першого таймера/лічильника
8DH TF0 TCON.5 Біт переповнення нульового таймера/лічильника
8CH TR0 TCON.4 Біт включення нульового таймера/лічильника
8BH IE1 TCON.3 Біт прапорець першого переривання
8AH IT1 TCON.2 Біт управління першим перериванням
89H IE0 TCON.1 Прапорець нульового переривання
88H IT0 TCON.0 Біт управління нульовим перериванням

 

Рис. 2.1. Таймер/лічильник подій: 1 а - Т/С1 у режимі 0: 13-бітний лічильник; б - Т/С1 у режимі 2: 8-бітний автоперезаписуваний лічильник; у - Т/С0 в режимі 3: два 8-бітний лічильники

 

Режим 0. Первід будь-якого Т/С в режим 0 робить його схожим на таймер 8048 (8-бітний лічильник), на вхід якого підключений 5-битий дільник частоти на 32. Роботу Т/С в режимі 0 на прикладі T/C1 ілюструє мал. 2.1, а цьому режимі таймерний регістр має розрядність 13 біт. При переході зі стану «всі одиниці» у стан «всі нулі» встановлюється прапорець переривання TF1. Вхідний синхросигнал таймера 1 дозволено (надходить на вхід таймера Т/С1), коли керуючий біт TR1 встановлений в 1 і або керуючий біт GATE (блокування) дорівнює 0, або на зовнішній вивід запиту переривання INT1 надходить 1.

Установка біта GATE в 1 дозволяє використовувати таймер для вимірювання тривалості імпульсу, який подається на вхід INT.

Режим 1. Робота будь-якого Т/С в режимі 1 така ж, як і в режимі 0, за винятком того, що таймерний регістр має розрядність 16-біт.

Режим 2. В режимі 2 робота організована таким чином, що переповнення (перехід зі стану «всі одиниці» у стан «всі нулі») 8-бітного лічильника TL1 приводить не тільки до встановлення прапорця TF1, (мал. 2.1, б), але й автоматично перезавантажує в TL1 вміст старшого байта (ТН1) таймерного регістра, який попередньо було задано програмним шляхом. Перезавантаження залишає вміст ТН1 незмінним. У режимі 2 Т/С0 і Т/С1 працюють ідентично.

Режим 3. В режимі 3 Т/С0 і Т/С1 працюють по-різному. Т/С1 зберігає незмінним своє поточне вміст. Іншими словами, ефект, такий же, як і при скиданні керуючого біта TR1 у нуль.

Роботу Т/С0 в режимі 3 ілюструє мал. 2.1, в. В режимі 3 TL0 і ТН0 функціонують як два незалежних 8-бітних лічильники. Роботу TL0 визначають керуючі біти Т/С0 (С/Т, GATE, TRO), вхідний сигнал INTO і прапорець переповнення TF0. Роботу ТН0, який може виконувати тільки функції таймера (підрахунок машинних циклів), визначає керуючий біт TR1. При цьому ТНО використовує прапорець переповнення TF1.

Режим 3 використовується в тих випадках застосування МК51, коли потрібна наявність додаткового 8-бітного таймера або лічильника подій.

Можна вважати, що в режимі 3 МК51 має у своєму складі три таймери/лічильники. Якщо Т/С0 використовується в режимі 3, Т/С1 може бути використаний послідовним портом як генератор частоти передачі, чи, у будь-як інакше у випадку, що він не вимагає переривання.

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.