Основные характеристики.
Данные микроконтроллеры выполняются в 28-выводном корпусе типа PDIP или SOIC.
Основные характеристики микроконтроллеров.
Тактовая частота: до 20 МГц.
Сброс: по включению
по снижению питания
по переполнению сторожевого таймера
по сигналу на входе сброс (MCLR).
Архитектура: быстродействующая RISC – архитектура.
Память программ: FLASH 4К (8К для PIC16F876) 14-разрядных слов.
Память данных: RAM 192 (368) байт.
Память данных: EEPROM 128 (256) байт.
Число источников прерываний: 13.
Число уровней аппаратного стека: 8
Число инструкций (команд): 35
Число портов ввода/вывода 3.
Энергопотребление:
Диапазон питающего напряжения 2.0 – 5.5 В.
Ток потребления 0,6 мА
Ток в режиме энергосбережения (SLEEP) 1 мкА.
Нагрузочная способность портов 25 мА.
Периферийные модули:
Число таймеров 3.
Число каналов АЦП 5.
Число модулей ССР 2.
Синхронный последовательный порт(MSSP) 1.
Асинхронный последовательный порт(USART)1.
Низковольтный режим программирования - есть
Программирование в готовом устройстве - есть
Структурная схема микроконтроллера.
На рис.1.1 показаны структурные схемы микроконтроллеров PIC17F873 и PIC16F877.
Для связи с внешними устройствами микроконтроллер PIC16F873 имеет три порта PORTA, PORTB, PORTC (микроконтроллеры типа PIC16F877, PIC16F887 дополнительно имеют PORTD и PORTE). Ядро микроконтроллера имеет в своем составе минимально необходимый набор элементов для реализации микро-ЭВМ и ряд законченных функциональных блоков для реализации элементов управления различными техническими устройствами.
К первой группе относятся:
- арифметико-логическое устройство – процессор – ALU,
- рабочий регистр W, играющий роль аккумулятора,
- порты связи с внешними устройствами (PORTA,....PORTE),
- регистр состояния процессора – STATUS,
- счетчик команд – PC,
- регистр косвенной адресации – FSR,
- 8-ми уровневый стек,
- память программ типа FLASH,
- память данных типа RAM,
- тактовый генератор импульсов,
- устройство сброса по включению питания – POR,
- устройство сброса по снижению питания – BOR,
- сторожевой таймер – WDT,
- таймер ожидания запуска тактового генератора,
- таймер сброса PWRT,
- устройство для внутрисхемной отладки программ – ICD,
- устройство низковольтного программирования – LVP.
Ко второй группе относятся:
- модуль 10-разрядного АЦП,
- модуль программируемого таймера TMR0,
- модуль программируемого таймера TMR1,
- модуль программируемого таймера TMR2,
- модуль электрически перепрограммируемого ПЗУ – EEPROM,
- многофункциональные модули CCP1 и CCP2,
- синхронный последовательный порт MSSP,
- универсальный асинхронно-синхронный порт USART.
В микроконтроллерах типа PIC16F877 имеется модуль параллельного порта.
Рассмотрим работу отдельных элементов и блоков микроконтроллера.
Блоки памяти.
В рассматриваемом микроконтроллере есть два вида памяти трех типов. Первый вид – это память программ типа FLASH, объемом 4К четырнадцатиразрядных слов (в микроконтроллерах PIC16F876 – 8K). Организация памяти программ приведена на рис.1.3. Память предназначена для хранения программы работы микроконтроллера, управляется счетчиком команд – РС. В состав памяти входит восьмиуровневый аппаратный стек, недоступный для записи и чтения программистом, четыре вектора сброса (адреса 0000 -0003 h), и один вектор прерывания с адресом 0004h. Остальная область FLASH- памяти разделена на две (четыре для PIC16F876) страницы с адресами 0005h – 07FFh и 0800h – 0FFFh. Карта распределения памяти данных приведена на рис. 1.4. и 1.5.
Память данных разделена на четыре банка: банк 0, банк 1, банк 2, и банк 3. Первые два банка с адресами 00h – 7Fh и 80h – FFh представляют собой ОЗУ статического типа, т.е. при выключении питания информация разрушается. Вторые два банка с адресами 100h – 17Fh и 180h – 1FFh представляют собой ППЗУ типа EEPROM, поэтому после выключения питания информация сохраняется. Активизация (выбор) требуемого банка осуществляется установкой разрядов регистра специального назначения STATUS в соответствии с таблицей 1.
Таблица 3.
Разряды: PR 1:PR0 | Банк |
00 | 0 |
01 | 1 |
10 | 2 |
11 | 3 |
Ячейки всех банков памяти данных в верхней части адресов зарезервированы под регистры специального назначения, остальные ячейки представляют собой регистры общего назначения. Некоторые регистры специального назначения в зависимости от частоты использования могут отображаться в нескольких банках, например регистр STATUS отображается во всех четырех банках и т.п.
2 3 4 5 6 7 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 |
RA0/AN0 RA1/AN1 RA2/AN2/Vref- RA3/AN3/Vref+ MCLR1 RA4/TOCK1 Vpp RA5/AN5/SS RC0/T1OCO/T1CK1 OSC1/CLK1N RC1/T1OS1/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SD1/SDA OSC2/CLKOUT RC5/SD0 RC6/TX/CK RC7/RX/DT Vdd RB0/INT RB1 RB2 Vss RB3/PGM RB4 RB5 RB6/PGC Vss RB7/PGD |
1 9 10 20 19 8 |
Рис.3. Назначение выводов микроконтроллеров PIC16F873, PIC16F876.
2 3 4 5 6 7 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 |
RA0/AN0 RA1/AN1 RA2/AN2/Vref- RA3/AN3/Vref+ MCLR1 RA4/TOCK1 Vpp RA5/AN5/SS RC0/T1OCO/T1CK1 OSC1/CLK1N RC1/T1OS1/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SD1/SDA OSC2/CLKOUT RC5/SD0 RC6/TX/CK RC7/RX/DT Vdd RB0/INT RB1 RB2 Vss RB3/PGM RB4 RB5 RB6/PGC Vss RB7/PGD |
1 9 10 20 19 8 |
Рис.4. Назначение выводов микроконтроллеров PIC16F887.
Стек, уровень 1 |
Стек, уровень 2 |
Стек, уровень 8 |
PC<12;0> |
Вектор сброса |
0000h |
Вектор прерываний |
Страница 0 |
Страница 1 |
0004h 0005h 07FFh 0800h 0FFFh |
Внутренняя память программ (для PIC16F873) |
CALL, RETURN,RETLW,RETFIE |
13 |
Счетчик команд |
Страница 2 |
Страница 3 |
(для PIC 16F887) |
Рис.5 Организация памяти программ в микроконтроллере PIC 16F873.
Регистр косвенной 00h адресации TMR0 01h PCL 02h STATUS 03h FSR 04h PORTA 05h PORTB 06h PORTC 07h PORTD 08h PORTE 09h PCLATH 0Ah INTCON 0Bh PIR1 0Ch PIR2 0Dh TMR1L 0Eh TMR1H 0Fh T1CON 10h TMR2 11h T2CON 12h SSPBUF 13h SSPCON 14h CCPR1L 15h CCPR1H 16h CCP1CON 17h RCSTA 18h TXREG 19h RCREG 1Ah CCPR2L 1Bh CCPR2H 1Ch CCP2CON 1Dh ADRESH 1Eh ADCON0 1Fh 20h Регистры общего назначения 96 байт 7Fh |
Банк 0 Банк 1 Банк 2 Банк 3 Рис. 6. Карта памяти данных микроконтроллера PIC16F887 |
Регистр косвенной 80h адресации OPTION-REG 81h PCL 82h STATUS 83h FSR 84h TRISA 85h TRISB 86h TRISC 87h TRISD 88h TRISE 89h PCLATH 8Ah INTCON 8Bh PIE1 8Ch PIE2 8Dh PCON 8Eh -------------------8Fh -------------------90h SSPCON2 91h PR2 92h SSPADD 93h SSPSTAT 94h ------------------ 95h ------------------ 96h ------------------ 97h TXSTA 98h SPBRG 99h ------------------ 9Ah ------------------ 9Bh ------------------ 9Ch ------------------ 9Dh ADRESL 9Eh ADCON1 9Fh A0h Регистры общего назначения 80 байт EFh F0h Доступ к памяти 70h – 7Fh FFh |
Регистр косвенной 100h адресации TMR0 101h PCL 102h STATUS 103h FSR 104h ---------------105h PORTB 106h -------------- 107h -------------- 108h -------------- 109h PCLATH 10Ah INTCON 10Bh EEDATA 10Ch EEADR 10Dh EEDATH 10Eh EEADRH 10Fh 110h 111h 112h 113h Регистры 114h общего 115h назначения 116h 117h 16 байт 118h 119h 11Ah 11Bh 11Ch 11Dh 11Eh 11Fh 120h Регистры общего назначения 80 байт 16Fh 170h Доступ к памяти 70h – 7Fh 17Fh |
Регистр косвенной 180h адресации OPTION_REG 181h PCL 182h STATUS 183h FSR 184h ------------------ 185h TRISB 186h ----------------- 187h ----------------- 188h ----------------- 189h PCLATH 18Ah INTCON 18Bh EECON1 18Ch EECON2 18Dh Резерв 18Eh Резерв 18Fh 190h 191h 192h 193h Регистры 194h общего 195h назначения 196h 197h 16 байт 198h 199h 19Ah 19Bh 19Ch 19Dh 19Eh 19Fh 1A0h Регистры общего назначения 80 байт 1EFh 1F0h Доступ к памяти 70h – 7Fh 1FFh |
Регистр косвенной 00h адресации TMR0 01h PCL 02h STATUS 03h FSR 04h PORTA 05h PORTB 06h PORTC 07h ---------- 08h ---------- 09h PCLATH 0Ah INTCON 0Bh PIR1 0Ch PIR2 0Dh TMR1L 0Eh TMR1H 0Fh T1CON 10h TMR2 11h T2CON 12h SSPBUF 13h SSPCON 14h CCPR1L 15h CCPR1H 16h CCP1CON 17h RCSTA 18h TXREG 19h RCREG 1Ah CCPR2L 1Bh CCPR2H 1Ch CCP2CON 1Dh ADRESH 1Eh ADCON0 1Fh 20h Регистры общего назначения 96 байт 7Fh |
Банк 0 Банк 1 Банк 2 Банк 3 Рис. 7. Карта памяти данных микроконтроллер PIC16F876/877/887 |
Регистр косвенной 80h адресации OPTION-REG 81h PCL 82h STATUS 83h FSR 84h TRISA 85h TRISB 86h TRISC 87h --------- 88h --------- 89h PCLATH 8Ah INTCON 8Bh PIE1 8Ch PIE2 8Dh PCON 8Eh -------------------8Fh -------------------90h SSPCON2 91h PR2 92h SSPADD 93h SSPSTAT 94h ------------------ 95h ------------------ 96h ------------------ 97h TXSTA 98h SPBRG 99h ------------------ 9Ah ------------------ 9Bh ------------------ 9Ch ------------------ 9Dh ADRESL 9Eh ADCON1 9Fh A0h Регистры общего назначения 96 байт FFh |
Регистр косвенной 100h адресации TMR0 101h PCL 102h STATUS 103h FSR 104h ---------------105h PORTB 106h -------------- 107h -------------- 108h -------------- 109h PCLATH 10Ah INTCON 10Bh EEDATA 10Ch EEADR 10Dh EEDATH 10Eh EEADRH 10Fh 110h Регисты общего назначения 17Fh |
Регистр косвенной 180h адресации OPTION_REG 181h PCL 182h STATUS 183h FSR 184h ------------------ 185h TRISB 186h ----------------- 187h ----------------- 188h ----------------- 189h PCLATH 18Ah INTCON 18Bh EECON1 18Ch EECON2 18Dh Резерв 18Eh Резерв 18Fh 190h Регистры общего назначения 1FFh |
Дата: 2019-04-23, просмотров: 305.