Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[4]

TRIS 6 ; TRISB

Чтение или запись информации в порт А или В осуществляется теми же командами, что и для записи/чтения ячеек ОЗУ:

MOV WF Port A, W ; Port AN

MOV F Port A, W ; Port A.

2.8. Модуль таймера/счетчика контроллера PIC16C58

Данный модуль предназначен для :

-подсчета числа внешних импульсов, подаваемых на вход контроллера TOCKI (режим счетчика);

-подсчета числа машинных циклов контроллера (fosc/4) (режим таймера).

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

Структурная схема таймера/счетчика имеет вид: fosc/4 (мц) -

TOCKI-

0

Прдварительный делитель частоты

OPTION

Задержка

Счетчик

2 импульса

TMR0

(8разр.)

х

х

1

TOCS

TOSE

PS

/

PS2

PS1

0

PS0

к ОЗУ

1

Основными блоками таймера/счетчика является:

-восьмиразрядный двоичный суммирующий счетчик TMR0;

-восьмиразрядный предварительный делитель частоты, который также представляет восьмиразрядный счетчик с программируемым коэффициентом деления частоты .

Основной отличительной чертой счетчика TMR0 от восьмиразрядного предделителя частоты является то, что информацию о числе бит подсчитанных предделителем частоты считать невозможно.

Предделитель работает как программируемый делитель частоты.

При записи информации в TMR0 автоматически обнуляется предделитель частоты.

Поясним назначение бит регистра OPTION, управляющего работой таймера/счетчика и изображенного на рисунке выше:

TOCS - бит, определяющий режим таймера (TOCS=0) или счетчика (TOCS=1);


о -

о

1-\

PS -бит, определяющий назначение предва-рительного делителя частоты ( если PS=0, то предделитель используется со сторожевым таймером WDT, но не с таймером TMR0, с TMR0 когда PS=1).

PS2

PS2

PS2

TMR0

WDT

0

0

0

1:2

1:1

0

0

1

1:4

1:2

0

1

0

1:8

1:4

0

1

1

1:16

1:8

1

0

0

1:32

1:16

1

0

1

1:64

1:32

1

1

0

1:128

1:64

1

1

1

1:256

1:128

PS2 - PS0 - биты, определяющие

коэффициент деления частоты предделителя в соответствии с таблицей.

Для записи информации в регистр OPTION используется специальная команда:

OPTION; WOPTION

0

2.9. Сторожевой таймер WDT контроллера PIC16C58

Сторожевой таймер предназначен для устранения аварийных зацикливаний программ контроллера (зависания).

Принцип его работы состоит в следующем, через строго определенный интервал времени («18мс) сторожевой таймер генерирует сигналы «сброс контроллера». Нормально функционирующее ПО не должно допускать сброса контроллера, осуществляя постоянное обнуление WDT и тем самым, заставляя его начать отсчет времени заново.

Обнуление WDT осуществляется специальными командами:

CLEEP; или

CLRWDT.

Если же программа зациклилась, то обнуление WDT не произойдет вовремя, а следовательно произойдет сброс контроллера и перезапуск ПО.

TOSE - определяет управляющий фронт по которому осуществляется модификация таймера- счетчика:


Общая структураWDT имеет вид:

Непосредственно таймер WDT представляет собой RC-генератор встроенный в контроллер и работающий независимо от основной тактовой частоты.

В случае использования предделителя частоты с WDT интервал генерации сигнала «сброс» увеличивается на коэффициент деления предделителя (максимальный интервал может быть 128-8мс « 2,3с).

2.10. Система команд контроллера PIC16058

Состоит из 33 двенадцатиразрядных команд. При этом каждая команда имеет поля бит, определяющие код операции (КОП) и используемые командой операнды (ОП):

В качестве операнда в команде контроллера может использоваться:

- любая ячейка внутреннего ОЗУ контроллера (при этом в команде указывается ее адрес);

11

10

-

1

0

-

W

КОП

ОП

W

WDT

частоты

t

Сброс

PS (OPTION) PS2...PS0 (OPTION)

-непосредственно число (данное), участвующее в операции;

-любой из битов одной из ячеек памяти ОЗУ (при этом указывается адрес ячейки и номер бита).

Выделяют три основных группы команд контроллера:

-команды работы с байтами;

-команды работы и битами;

-команды передачи управления и работы с константами. Группировка команд осуществляется по общности битовых форматов

команд.

2.10.1. Команды работы с байтами

Битовый формат этих команд имеет вид:

11

6 5 4

КОП

J L

J L

d

J L

d-бит, определяющий приемник результата операции.

0,приемник результатаW

1,f

d

1

f



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28]