Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бродин В.Б., Калинин А.Б. Схемы на микроконтроллерах и БИС программируемой логики, 2002

.pdf
Скачиваний:
278
Добавлен:
11.03.2016
Размер:
9.1 Mб
Скачать

ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

49

GRFON

.OUTPUT;

-- сигнал команды на включение высокого напряжения при съемке

 

)

 

 

 

VARIABLE

 

-- триггеры

 

TR_grfon

DFFE

-- триггер для формирования сигнала RADON

 

TR_sub

DFFE

-- триггер для формирования сигнала SUB

 

TR_imrr

DFFE

-- триггер для формирования сигнала IMRR

 

TRJmrl

DFFE

-- триггер для формирования сигнала IMRL

 

TRJmrev

DFFE

-- триггер для формирования сигнала IDSRH0

 

TR_flim

DFFE

-- триггер для формирования сигнала IDFLIT

 

TR_fluo

DFFE

-- триггер для формирования сигнала COFL

 

TR_clal

DFFE

-- триггер для формирования сигнала CLAL

 

TR_copy

DFFE

-- триггер для формирования сигнала COPY

 

TR_600hz

DFFE

-- триггер для формирования сигнала CLAL

 

EnaB

DFFE

-- триггер, работающий no ILDOUT

 

Count_sec[6..0]

DFFE;

-- триггеры 0.5 и 2 секунд для сигнала COPY

Count_5sec[7..0] :DFFE;

-- счетчик для форирования сигнала ошибки TIMAL

Count_600hz[5..0] :DFFE;

-- счетчик для формирования сигнала ошибки CLAL-H

Reg_out[15..0]

:DFFE; -- регистр вывода данных в ПЛИС из микроконтроллера

-- временные переменные, сигналы ошибок

TIMAL

NODE

 

-- сигнал ошибки: авария no времени съемки

CLAL

NODE

 

-- сигнал ошибки: авария синхронизации

CLALtemp

NODE

 

-- временная переменная CLAL

COPYtemp

NODE

 

-- временная переменная COPY

COPY L

NODE

 

-- временная переменная COPY

FLUO L

NODE

 

-- временная переменная COFL

IMREV L

NODE

 

-- временная переменная IDSRH0

IMRR L

NODE

 

-- временная переменная IMRR

IMRL L

NODE

 

-

временная переменная IMRL

FLIM H

NODE

 

-- временная переменная IDFLIT

SUB L

NODE

 

-- временная переменная SUB

CERR

NODE

 

-- временная переменная CERR

VIDERR

NODE

 

-- временная переменная VIDERR

TPAL

NODE

 

-- временная переменная TPAL

nSAL

NODE

 

-- временная переменная SAL

BEGIN

 

 

-

начало программы

DEFAULTS

 

 

-- значения, присвоенные по умолчанию

SUB_L=VCC;

 

-- временная переменная SUB

FLIM_H=GND;

 

-- временная переменная IDFLIT

COPY_L=VCC;

 

-• временная переменная COPY

CLUO_L=VCC;

 

-- временная переменная COFL

IMREV_L=VCC;

 

-- временная переменная IDSRH0

IMRR_L=VCC;

 

-- временная переменная IMRR

IMRL_L=VCC;

 

-- временная переменная IMRL

CLAL=GND;

 

 

-- сигнал ошибки: авария синхронизации

END DEFAULTS;

 

 

 

-- формирование сигналов GRFON, SUB, FLIM, FLUO, IMREV, IMRR, IMRL--

TR_grfon.D=EXP_H;

-- вход триггера, есть сигнал RADON

TR_grfon.clk=GCK1;

-- вход тактовых импульсов, 32,768 кГц

GRFON=TR_grfon.Q;

-- сигнал RADON - активный уровень

TR_sub.D=SUB_L;

-- вход триггера, временная переменная SUB

50

TR_sub.clk=GCK1; nSUB=TR_sub.Q;

TR flim.D=FLIM_H; TRlflim.clk=GCK1; FLIM=TR_flim;

TR_fluo.D= FLUO_L;

TR_fluo.clk=GCK1;

nFLUO=TR_fluo;

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

--вход тактовых импульсов, 32,768 кГц

--сигнал вычитания кадров

--вход триггера, временная переменная IDFLIT

--вход тактовых импульсов, 32,768 кГц

--сигнал импульсного просвечивания

--вход триггера, временная переменная FLUO

--вход тактовых импульсов, 32,768 кГц

- сигнал управление видеопроцессором

TR_imrev.D=IMREV_L;--BXOfl триггера, временная переменная IMREV

TR_imrev.clk=GCK1;

вход тактовых импульсов, 32,768 кГц

nlMREV=TR_imrev;

-- сигнал инверсии изображения

TR_imrr.D=IMRR_L; TR_imrr.clk=GCK1; nlMRR=TR_imrr;

TR_imr1.D=IMRL_L;

TR_imrl.clk=GCK1;

nlMRL=TR_imrl;

--вход триггера, временная переменная IMRR

--вход тактовых импульсов, 32,768 кГц

--сигнал вращения изображения вправо

--вход триггера, временная переменная IMRL

--вход тактовых импульсов, 32,768 кГц

--сигнал вращения изображения влево

формирование сигнала COPYtemp длительностью 0.5 секунды, активный низкий уро

вень ----

 

 

 

 

IF (COPY_L==GND)&(Count_sec[].Q<25) THEN

-- длительность им­

 

 

 

 

пульса COPY < 0 . 5 секунды

Count_sec[].ena=VCC;

 

-- сигнал разрешения

COPYtemp=GND

 

-- временная переменная COPY, активный уровень

ELSIF (COPY_L==GND)&(Count_sec[].Q>25) THEN

- длительность

 

 

 

 

пульса COPY > 0 . 5 секунды

COPYtemp=VCC;

 

-- временная переменная COPY, начальный уровень

Count_sec[].ena=GND;

 

-- сигнал, запрещающий работу

ELSE

 

-- если сигнал COPY=VCC

COPYtemp=VCC;

 

- временная переменная COPY,начальный уровень

END IF;

 

 

 

 

счетчик для сигнала COPY.........

 

 

 

Count_sec[].clrn=nLDOUT;

 

-- сигнал, обнуляющий счетчик

Count_sec[].clk=MNSYNC;

 

-- вход тактовых импульсов

Count_sec[].d=(Count_sec[].Q+1)& nLDOUT; -- счетчик,который на­

 

 

 

чинает работать при ILDOUT

...................формирование сигналаCOPY..............

 

 

TR_copy.d=COPYtemp;

-- вход триггера

 

 

TR_copy.clk=GCK1;

-- вход тактовых импульсов

nCOPY=TR_copy.Q;

-- выход триггера, сигнал COPY

формирование сигнала ошибки TIMAL, 5сек. продолжительность сигнала GRFON,---

IF (Count_5sec[].Q<250)&(EXP_H==VCC) THEN

- длительность сигната GRFON < 5 сек

Count_5sec[].clk= MNSYNC;

 

-

вход тактовых импульсов

Count_5sec[].d=Count_5sec[].Q+1;

 

-- счетчик тактовых импульсов

TIMAL= GND;

 

 

 

- нет сигнала ошибки

ELSIF (EXP_H==GND) THEN

 

 

-- нет сигнала GRFON

TIMAL= GND;

 

 

 

-- нет сигнала ошибки

ГЛАВА 1. РАЗРАБОТКА СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

51

ELSE

-- длительность сигнала GRFON > 5 секунд

 

TIMAL= VCC;

 

-- есть сигнал ошибки

 

END IF;

 

 

 

формирование сигнала ошибки CLAL, на вход 600HZ подается <500 Гц или >700 Гц

 

TR_600hz.d=600HZ;

 

-- вход триггера, 600 Гц

 

TR_600hz.clk= GCK1;

 

-- вход тактовых импульсов

 

IF (TR_600hz.Q==1) THEN

-- 1/2 периода импульса 600 Гц

 

Count_600hz[].clk = GCK1;

-- вход тактовых импульсов

 

Count_600hz[].d=Count_600hz[].Q+1;

-- счетчик такт, импульсов

 

Count_600hz[] .clrn=TR_600hz;

-- очистка счетчика

 

END IF;

 

 

 

IF (Count_600hz[]>=33)#(Count_600hz[]<23) THEN -- если число импульсов >=33 или <23

 

CLALtemp=VCC;

 

-- есть ошибка

 

ELSE

 

-- если число импульсов <33 или >=23

CLALtemp=GND;

 

-- нет ошибки

 

END IF;

 

 

 

TR_clal.d=CLALtemp;

 

 

 

TR_clal.clc=!600HZ;

 

 

 

CLAL=TR_clal.Q;

 

-- сигнал ошибки CLAL

 

ввод данных в ПЛИС из микроконтроллера........

 

 

Reg_out[].clc = CLK;

 

-- вход тактовых импульсов

 

Reg_out[j.ena = InLDOUT;

-- сигнал разрешения

 

Reg_out[j.d = (Reg_out[14..0].Q,MOSI);

-- сдвиговый регистр

 

выработка внешних сигналов........

 

 

EnaB.clk= nLDOUT;

 

-- вспомогательный триггер

 

EnaB.d= VCC;

 

 

 

EnaB.elm=nLDOUT;

 

 

 

IF EnaB.Q==VCC THEN - если выход триггера=УСС,

т.е. сдвиговый регистр не работает

 

IMRL_L=Reg_in[15];

--временная переменная nIMRL

 

IMRR_L=Reg_in[l4];

--временная переменная nIMRR

 

IMREV_L=Reg_in[13];

--временная переменная nIMRV

 

COPY_L=Reg_in[12];

- временная переменная nCOPY

 

SUB_L=Reg_in[10];

 

--временная переменная nSUB

 

FLUO_L=Reg_in[9];

 

--временная переменная nFLUO

 

FLIM_H=Reg_in[8];

 

--временная переменная FLIM

 

CERR=Reg_in[6];

 

- сигнал ошибки: нет ответа CMXRSC

VIDERR=Reg_in[5]; -- сигнал ошибки: нет стабилизации при автомат, просвечивании

 

TPAL=Reg_in[4];

-- сигнал ошибки: недопустимая температура блока РИ

 

nSUL=Reg_in[3];

-- сигнал ошибки SUL-L: источник питания не готов

 

END IF;

 

 

 

END; -- конец/программы

Синтаксические конструкции языка AHDL описаны в главе 5. Там же приведены примеры реализации программируемого счетчика/таймера и регистрового АЛУ RISC микроконтроллера, тексты которых, кроме ком­ ментариев, снабжены дополнительными комментариями.

ГЛАВА 2

АРХИТЕКТУРА MCS-51

2 .1 . Особенности архитектуры MCS-51

Архитектура MCS-51 фирмы Intel была в свое время определена на­ столько удачно, что является сегодня, по существу, одним из стандартов «де-факто» на мировом рынке 8-разрядных микроконтроллеров. Эту архи­ тектуру воспроизводит в том или ином виде в своих изделиях ряд фирм. По совокупному объему производства этих фирм микроконтроллеры MCS-51 занимают первое место.

Понятие «архитектура» микроконтроллеров далее трактуется как со­ вокупность внутренних и внешних программно доступных ресурсов, сис­ темы команд, системы прерываний, функций ввода/вывода и протоколов обмена по магистрали. Архитектура воплощается производителем в виде набора связанных функционально-топологических модулей. Конкретный микроконтроллер представляет собой определенную комбинацию этих мо­ дулей, основой которой является операционное ядро («соге» у фирмы

Intel).

Исходная архитектура MCS-51 характеризуется следующими особен­ ностями;

архитектура «гарвардская», т.е. память программ и данных разделе­ ны;

операционное ядро имеет «аккумуляторную» организацию, т.е. ре­ зультат операции, как правило, помещается в регистр-аккумулятор;

8-разрядное АЛУ с аппаратным умножителем обрабатывает целочис­ ленные операнды;

ЛАВА 2. АРХИТЕКТУРА MCS-51

53

 

имеются внутренние память программ (4Кбайт) и ОЗУ данных (128 байт);

имеются четыре универсальных программируемых параллельных 8- разрядных порта ввода/вывода с возможностью реализации опреде­ ленных альтернативных функций;

набор блоков ввода/вывода включает два 16-разрядных программи­ руемых счетчика/таймера и дуплексный последовательный порт;

все регистры управления блоков ввода/вывода сведены в группу ре­ гистров спецфункций, которая имеет свой диапазон адресов в пространстве внутренней памяти данных.

Первая линия (product line) микроконтроллеров с исходной архитек­ турой MCS-51 была разработана на основе nMOS технологии (HMOS). Эта линия включала микросхемы 8051АН/8751ВН/8031АН с постоянной памятью программ, с перезаписываемой памятью программ (стираемой ультрафиолетом) и без внутренней памяти программ. Отечественной про­ мышленностью до сих пор выпускается аналог микросхемы 8031АН - микроконтроллер К1816ВЕ31. Мощность, потребляемая микроконтролле­ рами этой группы, довольно велика.

Современные версии микроконтроллеров с исходной архитектурой MCS-51 выполнены с использованием комплементарной МОП технологии (CHMOS). Они имеют маркировку 80С51/31 и выпускаются несколькими фирмами, поскольку дешевы и позволяют решать многие задачи. Техноло­ гия CHMOS позволила уменьшить рассеиваемую мощность при обычной работе и ввести особые режимы, дополнительные снижающие энергопо­ требление. Отечественным аналогом микросхемы 80С31 является микро­ контроллер К1830ВЕ31.

В последние годы бурно развивается технология перезаписываемой flash-памяти программ, которая в значительной степени вытеснила память, стираемую ультрафиолетом. Это объясняется дороговизной металлокера­ мического корпуса с кварцевым стеклом, необходимого для УФмикросхем. Микроконтроллеры с исходной архитектурой MCS-51 и flashпамятью выпускаются фирмами Atmel, Philips и другими под маркировкой 89С51. Микроконтроллеры с УФ-памятью остались, в основном, в виде однократно программируемых (ОТР) версий в пластмассовом корпусе без окна. Они имеют маркировку 87С5ЮТР.

Усовершенствование технологии, рост степени интеграции позволил в рамках архитектуры MCS-51 расширить набор внутренних интерфейсных блоков, увеличить внутреннюю память программ и данных. Таким образом появились микроконтроллеры типа 80С 52/54/58 и микроконтроллеры типа 80L52/54/58 с пониженным напряжением питания. Модернизиро­ ванная архитектура MCS-51 характеризуется увеличенным до 256 байт внутренним ОЗУ данных, внутренней памятью программ 8 /1 6 /3 2 Кбайт,

54 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

наличием сторожевого таймера (watchdog timer). Расширение набора внутренних блоков привело к увеличению числа регистров спецфункций, несколько изменилась система прерываний. Наиболее широко используе­ мыми микроконтроллерами с модернизированной MCS-51 архитектурой можно, в настоящее время, считать микросхемы типа 87С52/89С52/80С32, которые выпускаются большинством производите­ лей, поддерживающих архитектуру MCS-51.

Такие фирмы, как Intel, Philips, Siemens, Dallas Semiconductor, At­ mel, Winbond и ряд других, производят семейства микроконтроллеров с архитектурой MCS-51. В целях повышения производительности некоторые из них используют такие отличия, как расширенная система команд, сжа­ тый цикл обмена по магистрали, увеличенное количество портов вво­ да/вывода.

В таблице указаны характеристики некоторых представителей се­ мейств микроконтроллеров с архитектурой MCS-51.

2.2 . Структура микроконтроллеров MCS-51

На рис. 2.1 приведена внутренняя структура микроконтроллера Intel 8051, соответствующая исходной архитектуре MCS-51.

Она включает следующий набор функциональных модулей:

8-разрядное АЛУ с аппаратной реализацией операций типа умноже­ ние;

внутренние память программ (4Кбайт) и ОЗУ данных (128 байт);

• четыре универсальных параллельных 8-разрядных порта вво­ д а / вывода с возможностью реализации определенных альтернативных функций;

два 16-разрядных программируемых счетчика/таймера;

дуплексный последовательный порт.

Этот набор аппаратных средств и совокупность реализуемых функций делают микроконтроллеры семейства 8051 эффективным средством сбора, предобработки информации и управления объектами.

Внешний вид микросхем MCS-51 в 40-выводном корпусе и функции выводов представлены на рис. 2.2.

Функции выводов микроконтроллеров MCS-51 следующие.

Port 0. Двунаправленный программируемый 8-разрядный параллель­ ный порт ввода/вывода с возможностью установки в высокоимпедансное состояние. При работе в качестве выходов каждая линия обеспечивает на­ грузочную способность, равную 8 входам маломощной серии LS TTL.

ГЛАВА 2. АРХИТЕКТУРА MCS-51

55

Микроконтроллеры с архитектурой MCS-51

Микро­

Память

RAM

Таймеры

АЦП/

Fosc

Особенности

контроллер

программ

 

 

ЦАП

(МГц)

 

(производитель)

 

 

 

 

 

 

8031АН

 

128

2

 

12

Исходная

Intel

 

 

 

 

 

архитектура,

(снят с произ­

 

 

 

 

 

нМОП

водства)

 

128

 

 

 

 

К1816ВЕ31

 

2

"

12

нМОП

Россия

 

 

 

 

 

 

80С31

 

128

2

-

12

КМОП

Intel

 

128

 

 

 

 

К1830ВЕ31

 

2

 

12

КМОП

Россия

 

 

 

 

 

 

87С51

4K EPROM

128

2

 

12,16,

3 бита

Intel

OTP

 

 

 

24,33

защиты

AT87F51

4K Rash

 

 

 

 

 

Atmel

 

 

 

 

 

Rash с пере­

АТ89С51

 

 

 

 

 

записью

Atmel

 

 

 

 

 

 

80С32

-

256

3

-

12,16,

КМОП

Intel

 

 

 

 

24,33

 

87C52

8K EPROM

256

3

-

12,16,

КМОП

Intel

OTP

 

 

 

24,33

 

AT89C52

8K Rash

256

3

 

12,16,

КМОП

Atmel

 

 

 

 

24,33

 

80C52

8K ROM

256

3

-

12,16,

КМОП

Intel

 

 

 

 

20,24

 

87C54

16K EPROM

256

3

 

12,16,

КМОП

Intel

OTP

 

 

 

20,24

 

80C54

16K ROM

256

3

12,16,

КМОП

Intel

 

 

 

 

24,33

 

87C58

32K EPROM

256

3

'

12,16,

КМОП

Intel

OTP

 

 

 

24,33

 

80C58

32K

256

3

 

12,16,

КМОП

Intel

ROM

 

 

 

24,33

 

87L52/54/58

8/16/32K

256

3

 

12,16,

Низковольтная

Intel

OTP

 

 

 

20

серия (Vcc=3B),

80L52/54/58

8/16/3 2K

256

3

 

12,16,20

КМОП

Intel

ROM

 

 

 

 

 

AduC812

8K Rash

256

3

1/2

16

12-разрядные

Analog Devices

 

 

 

 

 

ЦАП и 2 АЦП,

 

 

 

 

 

 

Vcc=(3,0-5,0)B

5 6

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

. Внутренняя магистраль

;

а л у

 

 

;

1

 

 

 

1

Акумулятор

А

 

1

Регистр В

 

 

1

Регистр состояния PSW

 

1

 

1

1

 

 

 

1

1

 

 

 

*

Счетчик команд

 

«

 

(

 

PC

 

 

Регистр указателя

 

1-----

адреса данных

 

1

 

DPTR

 

 

1

1

 

 

 

1

1

 

 

 

1

Память программ

 

 

!

4К х 8

 

 

,--------

|

 

 

 

1

Память данных

 

1

ОЗУ 128x8

 

 

1

Указатель стека SP

 

1--------

t

 

 

 

1

1

 

 

 

1

 

Блок

 

 

1

таймвроя/счетчииоя

 

 

 

 

 

1

 

 

 

 

1

Таймер/счетчик 0

 

1

 

1

Регистр ТНО

 

Регистр TLO

 

(

1

 

 

 

1

Таймер/счетчик 1

1

!

Регистр ТН1

 

1

Регистр TL1

 

1

1

 

 

 

1

Регистр управления

 

1

 

1

 

TCON

 

 

1

 

 

 

1

Регистр режима

 

 

ТМОО

 

 

1

Блок

прорываний

 

 

и последовательного

 

 

;

порта

 

 

;

1

 

 

 

1

Регистр разрешения

 

1

прерываний

IE

 

1

Регистр приоритетов

 

1

прерываний

IP

 

1

>

 

 

 

1

Приемник/передатчик

 

1

 

1

последовательного

 

 

порта

 

 

1

Буфер передатчика sbuf

 

1

 

1

Буфер приемника

SBUF

 

Регистр управления

 

1

1

SOON

 

 

»

 

 

 

1

ПОРТО

 

Регистр

Буфер

РО

РО

ПОРТ 1

 

Регистр

Буфер

Р1

Р1

 

ПОРТ 2

 

-----

Регистр

Буфер

 

Р2

Р2

ПОРТ 3

 

Регистр

Буфер

РЗ

РЗ

Блок управления

 

Регистр

Логика

команд

ввода/

 

вывода

Логика

управления микро­ Формирователь

контроллером временных интервалов

1

32

1

33

1

34

1

35

36

1

37

1

38

1

39

 

1

 

1

 

1

1

t

2

3

1

4

1

5

1

6

1

7

1

8

 

1

 

1

121

22

23

124

25

26

27

28

1

1

1

1 10

111

112

13

114

115

16

1 17

1

 

1

 

1

9

>

29

1

30

 

131

18

19

Рис. 2.1. Структура микроконтроллеров MCS-51

ГЛАВА 2 АРХИТЕКТУРА MCS-51

57

При обращении микроконтроллера к внешней памяти программ или данных порт работает в режиме мультиплексирования младшего байта ад­ реса и 8-разрядной шины данных.

При записи в разряд регистра порта РО логической «1» соответствую­ щая линия порта переходит в режим высокоимпедансного входа. Для ра­ боты в режиме порта ввода/вывода необходимо внешнее подтягивание каждой линии порта к уровню логической «1».

Port 1.

Двунаправленный 8-разрядный параллельный порт вво­

да/вывода.

При работе в качестве выходов каждая линия обеспечивает

нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи в разряд регистра порта Р1 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».

Альтернативная

функция

P1.0

P1.1

пPI.2

о

P1.3

р

т

 

1PI.4

PI.5

P1.0

PI.7 RST

 

RxD

P3.0

 

ТхО

P3.1

п

INTO#

P3.2

о

INTI#

P3.3

р

т

TO

P3.4

3

 

Т1

P3.5

 

WR#

P3.0

 

RD#

P3.7

XTAL2

XTALI

Vss

С

1

 

40

с

2

 

 

с

3

 

38

с

4

 

37

с

5

 

36

с

0

 

35

1=

7

 

34

с

0

 

33

с

0

6051

32

1=

10

 

31

с

11

 

30

с

12

 

20

с

13

 

26

с

14

 

27

с

15

 

26

1=

16

 

25

17

 

24

с

18

 

23

1=

10

 

22

1=

20

 

21

Альтернативная функция

Vcc

 

 

РО.О

ADO

 

Р0.1

ADI

 

Р0.2

AD2

П

РО.З

AD3

О

Р0.4

AD4

Р

Т

Р0.5

AD5

 

Р0.6

AD6

 

Р0.7

AD7

 

EA#

 

 

ALE

 

 

PSEN#

 

 

Р2.7

А15

 

Р2.6

А14

 

Р2.5

А13

 

Р2.4

А12

п

 

 

о

Р2.3

A l l

р

 

 

т

Р2.2

A10

2

Р2.1

АО

 

Р2.0

A8

 

Рис. 2.2. Микроконтроллер MCS-51 в 40-выводном корпусе и функции выводов

58 СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

Port 2. Двунаправленный 8-разрядный параллельный порт вво­ да/вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи в разряд регистра порта Р2 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».

При обращении микроконтроллера к внешней памяти программ или дан­ ных с использованием 16-разрядного адреса (команды MOVX @DPTR) через порт Р2 выдается старший байт адреса. При обращении микрокон­ троллера к внешней памяти данных с использованием 8-разрядного адреса (команды MOVX @Ri) на выводы порта Р2 выдается содержимое регист­ ра специальных функций Р2.

Port 3. Двунаправленный 8-разрядный параллельный порт вво­ да/вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи в разряд регистра порта РЗ логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».

Выводы порта РЗ могут выполнять альтернативные функции в соот­ ветствии со следующей таблицей.

Вывод

РЗ.О.

Р3.1. Р3.2.

РЗ.З.

Р3.4. Р3.5. Р3.6. Р3.7.

Альтернативная функция

RxD - вход приемника последовательного порта TxD - выход передатчика последовательного порта INTO - вход внешнего прерывания 0

INT1 - вход внешнего прерывания 1 ТО - внешний вход таймера/счетчика 0 Т 1 - внешний вход таймера/счетчика 1

W R# - сигнал разрешения записи во внешнюю память данных RD# - сигнал разрешения чтения из внешней памяти данных

RST. Вход инициализации. Высокий уровень на этом входе в течении двух машинных тактов запускает процесс инициализации микроконтрол­ лера.

ALE. Активное значение сигнала на этом выходе разрешает фиксацию младшего байта адреса при обращениях к внешней памяти.

У микроконтроллеров типа 8751 с внутренней памятью программ это вывод имеет альтернативную функцию PROG#. При программировании внутренней памяти на него подается стробирующий сигнал.

PSEN#. Активное значение сигнала на этом выходе разрешает чтение из внешней памяти программ.

ЕА#. Сигнал на этом входе переключает источник кода при обраще­ нии к младшим 4 Кбайтам памяти программ. При ЕА = 0 и диапазоне ад­ ресов 0000Н - FFFFH микроконтроллер 8051 выполняет цикл обращения