Реферат: Разработка микропроцессорной системы климат-контроля
- 8-уровневый аппаратный стек;
- прямой, косвенный и относительный режим адресации;
- выбор параметров тактового генератора;
- программирование в готовом устройстве;
- широкий диапазон напряжений питания от 2.0В до 5.5В.
Рисунок 2.1 - Внешний вид микроконтроллера PIC16F877
2.1.1 Характеристика периферийных модулей.
Микроконтроллер имеет следующие периферийные модули:
- таймер 0: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем;
- таймер 1: 16-разрядный таймер/счетчик с возможностью подключения внешнего резонатора;
- таймер 2: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем и выходным делителем;
- два модуля ССР;
- многоканальное 10-разрядное АЦП.
- последовательный синхронный порт MSSP;
- последовательный синхронно-асинхронный приемопередатчик USART с поддержкой детектирования адреса.
Рисунок 2.2 - Структурная схема микроконтроллера PIC16F877
2.1.2 Организация памяти.
В микроконтроллерах PIC16F87X имеется три вида памяти. Память программ и память данных имеют раздельные шины данных и адреса, что позволяет выполнять параллельный доступ.
Рисунок 2.3 - Организация памяти в микроконтроллере PIC16F877
Микроконтроллеры PIC16F87X имеют 13-разрядный счетчик команд PC, способный адресовать 8К х 14 слов памяти программ. Физически реализовано FLASH памяти программ 8К х 14 в PIC16F877. Обращение к физически не реализованной памяти программ приведет к адресации реализованной памяти.
Адрес вектора сброса – 0000h. Адрес вектора прерываний – 0004h.
Память данных разделена на четыре банка, которые содержат регистры общего и специального (SFR) назначения. Биты RP1 (STATUS<6>) и RPO (STATUS<5>) предназначены для управления банками данных. В таблице показано состояние управляющих битов при обращении к банкам памяти данных.
Таблица 2.1 – Банки памяти
RP1:RP0 | Банк |
00 | 0 |
01 | 1 |
10 | 2 |
11 | 3 |
Объем банков памяти данных до 128 байт (7Fh). В начале банка размещаются регистры специального назначения, затем регистры общего назначения выполненные как статическое ОЗУ. Все реализованные банки содержат регистры специального назначения. Некоторые, часто используемые регистры специального назначения могут отображаться и в других банках памяти.
2.1.3 Регистры.
Обратиться к регистрам общего назначения можно прямой или косвенной адресацией, через регистр FSR.
С помощью регистров специального назначения выполняется управление функциями ядра и периферийными модулями микроконтроллера. Регистры специального назначения реализованы как статическое ОЗУ.
Врегистре STATUS содержатся флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты управления банками памяти данных.
Регистр STATUS может быть адресован любой командой, как и любой другой регистр памяти данных. Если обращение к регистру STATUS выполняется командой, которая воздействует на флаги Z, DC и С, то изменение этих трех битов командой заблокирована. Эти биты сбрасываются или устанавливаются согласно логике ядра микроконтроллера. Команды изменения регистра STATUS также не воздействуют на биты -ТО и -PD. Поэтому, результат выполнения команды с регистром STATUS может отличаться от ожидаемого. Например, команда CLRFSTATUS сбросит три старших бита и установит бит Z (состояние регистра STATUS после выполнения команды 000uu1uu, где u - не изменяемый бит).
При изменении битов регистра STATUS рекомендуется использовать команды, не влияющие на флаги АЛУ (SWAPF, MOVWF, BCF и BSF).
Таблица 2.2 - Регистр STATUS
R/W-0 | R/W-0 | R/W-0 | R-1 | R-1 | R/W-x | R/W-x | R/W-x |
IRP | RP1 | RPO | -ТО | -PD | Z | DC | с |
Бит 7 | Бит0 |
бит 7: IRP: Бит выбора банка при косвенной адресации
1 = банк 2, 3(100h-1FFh)