- •Конспект лекций оглавление
- •Общие с ведения о микроконтроллерах
- •Обобщенная структурная схема микроконтроллера
- •Система прерываний
- •Работа системы прерываний
- •Стек данных
- •Микроконтроллеры Intel, Motorola и Microchip
- •Краткое описание особенностей микроконтроллеров
- •Работа сср в режиме шим
- •Примеры контроллеров 18еххх, 16еххх. Характеристики 16 и 18 серии.
- •Периферийные модули
- •Основные характеристики микроконтроллеров
- •Рекомендации по схематическому решению для портов (16 серия)
- •Структура памяти
- •Банк памяти быстрого доступа
- •Регистр выбора банка памяти данных bsr (18 серия)
- •Косвенная адресация, регистра indf и fsr
- •Операция косвенной адресации
- •Механизм косвенной адресации
- •Работа с памятью рiс16fххх
- •Чтение из еерrом-памяти
- •Запись еерrом данных
- •Управление прерываниями Серия рiс16ххх
- •Система прерывании рiс18fхх2
- •Обработка прерываний
- •Контроллеры pic16f87x
- •Карта памяти микроконтроллеров:
- •Структурная схема микроконтроллеров pic16f87x:
- •Служебные регистр:
- •Контроллеры 18 серии
- •Карта памяти микроконтроллеров рiс18f242/442:
- •Регистры конфигурации контроллера:
- •Аппаратный умножитель 8х8
- •Модуль ацп
- •Конфигурация выводов модуля ацп (рiс16f873/76)
- •Источник опорного напряжения
- •Параллельные порты ввода/вывода
- •Последовательный синхронный порт (мssр)
- •Временные диаграммы работы mssp
- •Пример соединения двух мк через spi
- •Режим i2c последовательного порта mssp.
- •Асинхронно-синхронный последовательный порт (usart)
- •Временные диаграммы работы usart в асинхронном режиме
- •Ведомый параллельный порт (psp)
- •Временные диаграммы порта psp
- •Способы кодирования данных
- •Универсальная последовательная шина (usb) Краткий обзор шины
- •Протоколы передачи
- •Питание
- •Оконечные точки
- •Нумерация устройств
- •Описатели
- •Классы устройств / Драйверы класса
- •Микроконтроллеры с модулем usb
- •Приемопередатчик
- •Регистры управления и состояния модуля usb
- •Регистр флагов прерываний модуля usb (uir)
- •Регистр разрешения прерываний модуля usb (uie)
- •Регистр флагов ошибок модуля usb (ueir)
- •Регистр разрешения прерывания по ошибкам модуля usb (ueie)
- •Регистр состояния модуля usb (ustat)
- •Регистр управления модулем usb (uctrl)
- •Регистр адреса usb (uaddr)
- •Регистр состояния программного обеспечения usb
- •Регистры управления оконечными точками (uepn)
- •Буферы оконечных точек
- •Программирование модуля usb
- •Программное обеспечение usb
- •Основные функции и подпрограммы
- •Ресурсы процессора
- •Уровни стека
- •Память программ
- •Память данных
- •Буферные регистры
- •Выбор страниц/Выбор банков
- •Интегрирование подпрограмм usb в программу
Обработка прерываний
• При переходе на обработку прерываний бит глобального разрешения прерываний сбрасывается, чтобы запретить прерывания соответствующего приоритета. Если бит IPEN=0, то это бит GIЕ. Если приоритетная система прерываний включена, то это один из битов GIЕН или GIЕL.
• Прерывания с высоким приоритетом могут приостанавливать обработку прерывании с низким приоритетом.
• Адрес возврата помещается в вершину стека, а в счетчик команд РС помешается вектор прерываний (000008h или 000018h).
• В обработчике прерываний конкретный источник прерываний может быть определен проверкой соответствующих флагов.
• Флаги прерываний должны быть сброшены в обработчике прерываний для предотвращения повторного перехода на обработку прерывания.
• Выход из обработки прерываний необходимо выполнять командой RЕТFIЕ, по которой будет установлен соответствующих бит глобального разрешения прерываний (GIE, GIEH или GIEL).
• Время перехода на обработку прерываний от внешних источников (прерывания INТ, изменение уровня сигнала на входах РОRТВ и др.) составляет 3-4 цикла команд.
• Время перехода не зависит от типа выполняемой команды (однословная или двухсловная).
• Флаги прерываний устанавливаются вне зависимости от состояния битов глобального и индивидуального разрешения прерываний.
Контроллеры pic16f87x
Карта памяти микроконтроллеров:
Регистр косвенной адресации |
00h |
Регистр косвенной адресации |
80h |
Регистр косвенной адресации |
100h |
Регистр косвенной адресации |
180h |
TMR0 |
01h |
OPTION_REG |
81h |
TMR0 |
101h |
OPTION_REG |
181h |
PLC |
02h |
PLC |
82h |
PLC |
102h |
PLC |
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 |
08h |
TRISD |
88h |
|
108h |
|
188h |
PORTE |
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 |
Резерв |
18Eh |
TMR1H |
0Fh |
|
8Fh |
EEADRH |
10Fh |
Резерв |
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 |
||
ADRE |
1Eh |
ADRESL |
9Eh |
11Eh |
19Eh |
||
ADCON0 |
1Fh |
ADCON1 |
9Fh |
11Fh |
19Fh |
||
Регистры общего назначения 96 байт |
20h |
Регистры общего назначения 80 байт |
A0h |
Регистры общего назначения 80 байт |
120h |
Регистры общего назначения 80 байт |
1A0h |
|
|
|
|
||||
|
|
|
|
||||
|
EFh |
16Fh |
1EFh |
||||
|
Доступ к 70h – 7Fh |
F0h |
Доступ к 70h – 7Fh |
170h |
Доступ к 70h – 7Fh |
1F0h |
|
|
|
|
|
||||
7Fh |
FFh |
17Fh |
1FFh |
||||
Банк 0 |
|
Банк 1 |
|
Банк 2 |
|
Банк 3 |
|