Обозначение вывода | Выв. | Тип I/O/P | Тип буфера | Описание |
Двунаправленный порт ввода/вывода PORTD или ведомый параллельный порт для подключения к шине микропроцессора. | ||||
RD0/PSP0 | 19 | I/O | ST/TTL (3) | |
RD1/PSP1 | 20 | I/O | ST/TTL (3) | |
RD2/PSP2 | 21 | I/O | ST/TTL (3) | |
RD3/PSP3 | 22 | I/O | ST/TTL (3) | |
RD4/PSP4 | 27 | I/O | ST/TTL (3) | |
RD5/PSP5 | 28 | I/O | ST/TTL (3) | |
RD6/PSP6 | 29 | I/O | ST/TTL (3) | |
RD7/PSP7 | 30 | I/O | ST/TTL (3) | |
Двунаправленный порт ввода/вывода PORTE. | ||||
RE0/-RD/AN5 | 8 | I/O | ST/TTL (3) | RE0 может использоваться в качестве управляющего входа чтения PSP или аналогового канала 5. |
RE1/-WR/AN6 | 9 | I/O | ST/TTL (3) | RE1 может использоваться в качестве управляющего входа записи PSP или аналогового канала 6. |
RE2/-CS/AN7 | 10 | I/O | ST/TTL (3) | RE2 может использоваться в качестве управляющего входа выбора PSP или аналогового канала 7. |
VSS | 12,31 | P | – | Общий вывод для внутренней логики и портов ввода/вывода. |
VDD | 11,32 | P | – | Положительное напряжение питания для внутренней логики и портов ввода/вывода. |
Обозначение:
I = вход, О = выход, I/O = вход/выход, Р = питание, – = не используется, TTL = входной буфер ТТЛ, ST = вход с триггером Шмидта.
Примечание:
1. Входной буфер с триггером Шмидта при использовании внешних прерываний.
2. Входной буфер с триггером Шмидта при работе в режиме последовательного программирования.
3. Входной буфер с триггером Шмидта в режиме цифровых портов ввода/вывода. В режиме ведомого параллельного порта подключены входные буферы ТТЛ (для совместимости с шиной микропроцессора).
4. Входной буфер с триггером Шмита в режиме RC генератора и CMOS буфер в других режимах.
1.6 Архитектура микроконтроллера PIC16F877
Высокая производительность обусловлена большим числом архитектурных особенностей, характерных для RISK микроконтроллеров использующих Гарвардскую архитектуру, основанную на концепции раздельных шин и областей памяти для данных команд. Это увеличивает скорость обмена по сравнению с традиционной Принстонской архитектурой, в которой команда и данные передаются по одной и той же шине. На рисунке 1.2 представлена структурная схема микроконтроллера PIC16F877. Разделение шин команд и данных позволяет увеличить разрядность команды по сравнению с разрядностью данных. Шина данных и память данных (ОЗУ) имеют ширину 8 бит, а программная шина и программная память (ППЗУ или ПЗУ) имеет ширину 14 бит.

Рисунок 1.2 Структурная схема микроконтроллера PIC16F877
Такая концепция позволяет использовать простую, но мощную систему однословных команд, разработанную так, что битовые, байтовые и регистровые операции выполняются с высокой скоростью и с перекрытием по времени выборок и исполнение команды. Все команды, кроме передачи управления, выполняются за один цикл (200нс при тактовой частоте 20 МГц).
Регистры разделяются на две функциональные группы: специальные регистры и регистры общего назначения. Специальные регистры включают в себя регистр таймера/счетчика реального времени (TMR0), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры управляют конфигурацией портов ввода-вывода и режимом предварительного делителя. Регистры общего назначения используются программой для хранения переменных по усмотрению пользователя. В микроконтроллерах существует прямая и косвенная адресация всех регистров и ячеек памяти. Все специальные регистры и счетчик команд также отображают на память данных. В таблице 1.3 представлена карта памяти данных микроконтроллера PIC16F877.
Микроконтроллеры имеют ортогональную (симметричную) систему команд, позволяющую выполнять любую операцию с любым регистром, используя любой метод адресации. Это облегчает программирование для них и значительно уменьшает время, необходимое на обучение работе с ними.
В микроконтроллерах PIC16F877 имеется 10-разрядное арифметико-логическое устройство (АЛУ) и рабочий регистр W. АЛУ выполняет сложение, вычитание, сдвиг, битовые и логические операции. В командах, имеющих два операнда, одним из операндов является рабочий регистр W. Второй операнд может быть константой или содержимым любого регистра ОЗУ, для выполнения всех операций АЛУ используется рабочий регистр W, который не может быть прямо адресован. В зависимости от результата выполнения операции, могут измениться значение битов переноса C, десятичного переноса DC и нуля Z в регистре состояния STATUS. При вычитании биты C и DC работают, как биты заема и десятичного заема, соответственно.
В работе микроконтроллера важную роль играют регистры специального назначения (РСН). С помощью регистров специального назначения выполняется управление функциями ядра и периферийными модулями микроконтроллера. Регистры специального назначения реализованы как статическое ОЗУ. В таблице 1.4 представлены регистры специального назначения микроконтроллера PIC16F877.
Таблица 1.3 Карта памяти данных микроконтроллера PIC 16F877
INDF* | 00h | INDF* | 80h | INDF* | 100h | INDF* | 180h |
TMR0 | 01h | OPTION_REG | 81h | TMR0 | 101h | OPTION_REG | 181h |
PCL | 02h | PCL | 82h | PCL | 102h | PCL | 182h |
STATUS | 03h | STATUS | 83h | STATUS | 103h | STATUS | 183h |
FSR | 04h | FSR | 84h | FSR | 104h | FSR | 184h |
PORTA | 05h | TRISA | 85h | – | 105h | – | 185h |
PORTB | 06h | TRISB | 86h | PORTB | 106h | TRISB | 186h |
PORTC | 07h | TRISC | 87h | – | 107h | – | 187h |
PORTD(1) | 08h | TRISD | 88h | – | 108h | – | 188h |
PORTE(1) | 09h | TRISE | 89h | – | 109h | – | 189h |
PCLATH | 0Ah | PCLATH | 8Ah | PCLATH | 10Ah | PCLATH | 18Ah |
INTCON | 0Bh | INTCON | 8Bh | INTCON | 10Bh | INTCON | 18Bh |
PIR1 | 0Ch | PIE1 | 8Ch | EEDATA | 10Ch | EECON1 | 18Ch |
PIR2 | 0Dh | PIE2 | 8Dh | EEADR | 10Dh | EECON2 | 18Dh |
TMR1L | 0Eh | PCON | 8Eh | EEDATH | 10Eh | Резерв(2) | 18Eh |
TMR1H | 0Fh | – | 8Fh | EEADRH | 10Fh | Резерв(2) | 18Fh |
T1CON | 10h | – | 90h | Регистры общего назначения 16 байт | 110h | Регистры общего назначения 16 байт | 190h |
TMR2 | 11h | SSPCON2 | 91h | 111h | 191h | ||
T2CON | 12h | PR2 | 92h | 112h | 192h | ||
SSPBUF | 13h | SSPADD | 93h | 113h | 193h | ||
SSPCON | 14h | SSPSTAT | 94h | 114h | 194h | ||
CCPR1L | 15h | – | 95h | 115h | 195h | ||
CCPR1H | 16h | – | 96h | 116h | 196h | ||
CCP1CON | 17h | – | 97h | 117h | 197h | ||
RCSTA | 18h | TXSTA | 98h | 118h | 198h | ||
TXREG | 19h | SPBRG | 99h | 119h | 199h | ||
RCREG | 1Ah | – | 9Ah | 11Ah | 19Ah | ||
CCPR2L | 1Bh | – | 9Bh | 11Bh | 19Bh | ||
CCPR2H | 1Ch | – | 9Ch | 11Ch | 19Ch | ||
CCP2CON | 1Dh | – | 9Dh | 11Dh | 19Dh | ||
ADRESH | 1Eh | ADRESL | 9Eh | 11Eh | 19Eh | ||
ADCON0 | 1Fh | ADCON1 | 9Fh | 11Fh | 19Fh | ||
Регистры общего назначения 96 байт | 20h 7F | Регистры общего назначения 80 байт | A0h EFh | Регистры общего назначения 80 байт | 120h 16Fh | Регистры общего назначения 80 байт | 1A0h 1EFh |
Доступ к 70h-7Fh | F0h FFh | Доступ к 70h-7Fh | 170h 17Fh | Доступ к 70h-7Fh | 1F0h 1FFh | ||
Банк 0 | Банк 1 | Банк 2 | Банк 3 |
Обозначение: * – не физический регистр.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


