Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BEAR / PART1.DOC
Скачиваний:
14
Добавлен:
16.04.2013
Размер:
5.62 Mб
Скачать

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

Память данных расположена в двух банках, которые содержат регистры общего назначения и специальные регистры для управления периферийными устройствами. Переключение между банками памяти осуществляется путем установки или снятия бита RP0 STATUS регистра. Каждый банк содержит по 128 байт:

  • 00h-7Fh для первого банка.

  • 80h-FFhдля второго банка.

  • Младшие адреса каждого банка заняты под специальные регистры. Остальные адреса - обычная статическая память. Некоторые специальные регистры одинаково доступны как в первом, так и во втором банке.

    Рисунок 1-5 : карта памяти данных.

1-Логический регистр

2- Не используется в моделиPIC16C73

Специальные регистры

Специальные регистры - регистры, используемые ЦПУ и периферийными устройствами для управления и контроля за работой устройств, входящих в состав микроконтроллера. Это статическая память.

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

Регистр статуса status.

Status registerсодержит флаги арифметических операций АЛУ,RESET флаг и биты выбора банка памяти данных.

Status registerможет быть приемником при исполнении любой инструкции, подобно регистрам общего назначения. Если он является приемником для любых инструкций, влияющих на флагиZ, DC и C, запись в эти три бита будет заблокирована.

Рисунок 1-6 : регистр статуса

R- для чтения

  1. для записи

  • IRP выбор банка для косвенной адресации (не используется)

  • RP1 выбор банка для непосредственной адресации

  • RP0 то же

  • TO Time-out bit

  • 1 после включения питания, Clrwdt,Sllep

  • 0 после переполненияWDT

  • PD Power down bit

  • 1 после Clrwdt

  • 0 послеSLEEP

  • Z Zero флаг

  • DC Digit Carry перенос из полубайта

  • C Carryперенос

Pcl и pclath регистры

Рисунок 1-7 :PCL ИPCLATH регистры

Рисунок 1-8: непосредственная и косвенная адресация

Программный счетчик РС имеет 13 разрядов. Младший байт -PCL, а старшие 5 бит расположены в регистреPCH, который не доступен программисту, поэтому для доступа к нему организована защелкаPCLATH, из которой код при записи какого-либо значения вPCL попадает вPCH.

Косвенная адресация

INDF - это не физический регистр. Обращение к нему и есть косвенная адресация. Любая инструкция, обращающаяся кINDFполучает доступ к ркгистру, на который указываетFSR (File Select Register) регистр. Чтение этого регистра непосредственно возвратит в результате 00h.

Периферийные устройства.

Порты

Все порты в микроконтроллере управляютс с помощью дух регистров для каждого порта TRISx иPORTx. РегистрыTRISxрасположены во второй странице памяти данных, аPORTxв первой.TRISxуправляют направлением выводов (чтение-запись), а посредствомPORTxзадаются значения сигнала на них. В то же время все выводы портов мультиплексированы с выводами каких-либо устройств микроконтроллера.

PORTA

6-ти битный двунаправленный порт.Pin RA4 мультиплексирован с входом внешней частоты дляTMR0. Остальные биты мультиплексированы с входами каналовÀÖÏ. Управление ими происходит также с помощью регистраADCON1. Когда эти выводы работают как аналоговые входы, они читаются как «0». При стартовомresetони сконфигурированы как аналоговые входы.

PORTB

8-ми битный двунаправленный порт. Выводы<7:4> могут вызывать прерывание, которое может вывести микроконтроллер из состояния SLEEP.

PORTС

8-ми битный двунаправленный порт. Выводы порта имеют на входе триггеры Шмидта.

Таймеры

PIC16C73 имеет три модуля таймеров, каждый из которых может генерировать прерывание при переполнении. Два из них имеют еще и дополнительные модули ССР/PWM.

Тimer0

Это простой 8-ми битный счетчик. В качестве генератора тактовых импульсов он использует или Тosc/4 или внешний источник. Он может увеличиваться как по нарастающему, так и по спаду фронта. Есть программируемый предделитель. Он может работать или с этим таймером или сWDT.

Тimer1

Это простой 16-ти битный счетчик. В качестве генератора тактовых импульсов он использует или Тosc/4 или внешний источник. Он может работать даже в течение режимаSLEEP, если не синхронизирован с внутренней тактовой частотой. Он имеет программируемый предделитель.

Тimer2

Это простой 8-ми битный счетчик. В качестве генератора тактовых импульсов он использует Тosc/4 внутреннюю частоту. Он имеет программируемый предделитель и постделитель.

Модуль ШИМ

Для входа в этот режим вывод 2 порта С должен быть сконфигурирован как выход. В режиме ШИМ программист записывает 8 битное значение рабочего цикла в регистр CCPR1L(старший байт этого регистра используется как буфер для младшего регистра), а два младших бита берутся изCCP1CON<5:4>. Запись из младшего регистра в старший происходит при начале рабочего цикла.CCPR1Hдоступен по чтению, но не для записи. Период определяется регистромPR2.

PWM период ={PR2+1}*4Tosc*(TMR2 предделитель)

PWMрабочий цикл = (DC1)* Tosc*(TMR2 предделитель)

Рисунок 1-9 Модуль ШИМ

ГдеDC1это 10-битное значение изCCPR1L, соединенного сCCP1CON<5:4>.

АЦП

8-ми битный АЦП имеет 5 входов, мультиплексируемых к одному модулю АЦП. Он может работать в режиме SLEEP. Он имеет три управляющих регистра:

регистр результатов A/D

регистр контроля 1A/D

регистр контроля 0A/D

Рисунок 1-10 модуль АЦП

SLEEP mode

В это режим можно войти путем выполнения инструкции SLEEP. В этом режиме для сохранения энергии все порты и таймеры, если они не зависят от внешнего источника тактовых импульсов, переходят в режим пониженного энергопотребления.

Выход из режима SLEEPпроисходит по следующим событиям:

  • Внешний RESET

  • WDT reset

  • Внешнее прерывание, поступившее на порт B

  • Прерывание от TMR1

  • CCP captureпрерывание

  • SSP start/stop условие определены

Остальные прерывания не приводят к выходу из этого режима.

После выхода из этого режима выполняется следующая после SLEEP инструкция

26

Введение и постановка задачи

Соседние файлы в папке BEAR