РЛ
М ИКРО КО НТРО ЛЛЕРЫ
І
і
_________________________________ _________
Табл.2
Page 0
1
Page I
0
Indirect add.
80
1
TMRO
O P T IO N R E G
81
2
PCL
82
3
STATUS
83
4
FSR
84
5
PORT A
TRISA
8.S
6
PORT В
TRISB
86
7
87
8
EEDATA
EECON1
88
9
EEADR
EECON2
80
0A
PCLATH
OB
INTCON
OC
36 регистров общ его
назначения
36 регистров общ его
назначения
2F
AF
30
Нс сущ ествует
ВО
7F
FF
нога назначе ния прод ублированы на об еих страниц ах, а не-
которы е распол ож ены на стр а н и ц е 1 отд ел ьно. Когда уста-
н овлена стра ни ц а 1, то об р ащ ени е к ад ре сам 8СИ-АРИ ф ак-
тич е ски ад ре сует стр а н и ц у 0. К ре ги стр а м м ож но ад р е со -
ваться пр ям о или косвен н о.
Прямая адресация (рис. 3)
Когда производится прямая 9-битная адресация, младш ие
7 бит берутся как прямой адрес из кода операции, а два бита
указателя страниц (И Р 1, ИРО) из регистра статуса (03И).
Stains
ОрС<к
1
PR1
PRO
6
|
e
Рис. 3
0
L _
1
1
1
1
1
1
1
AD
1
11
DRESS -------------------------------- ►
RAM
Косвенная адресация (рис. 4)
FSR (ОЩ - указатель косвенной адресации.
Лю бая ком анда, которая использует INDF (адрес 00h) в
качестве регистра, ф актически обращ ается к указателю , кото-
ры й хранится в FSR (04h). Чтение косвенны м образом сам ого
регистра INDF д аст результат 00h. Запись в регистр INDF кос-
венны м образом будет вы глядеть как NOP, но биты статуса
м огут бы ть изменены . Н еобходимы й 9-битны й адрес ф орми-
руется объединением содерж им ого 8-битного FSR регистра и
бита IRP из регистра статуса.
sw"*
Рис. 4
IFR
і
(
FSR )
«
1
1
1
1
1
1
1
1
1
1
1
_____________
1
II
RAM
TMR0 таймер/счетчик (рис. 5)
Режим тайм ера выбирается путем сбрасы вания в ноль бита
TOCS, которы й находится в регистре O P T IO N R E G . В режиме
тайм ера T M R 0 будет инкрем ентироваться от внутреннего ис-
точника частоты кажды й ком андны й цикл (без прескаллера).
П осле записи инф ормации в TM R 0, инкрем ентирование его
начнется после двух ком андны х циклов. Т акое происходит со
всеми командам и, которы е производят запись или чтение-мо-
диф икацию -запись TM R 0 (наприм ер, M O VF f l , C LR F f1). Избе-
ж ать этого можно при помощ и записи в T M R 0 скорректирован-
ного значения. Если T M R 0 нужно проверить на равенство нулю
без остановки счета, следует использовать инструкцию MOVF
f l ,W. Режим счетчика вы бирается путем установки в единицу
бита T0CS, который находится в регистре O PTIO N_R EG . В этом
реж им еTM R 0 будет инкрементироваться либо положительным,
либо отрицательны м ф ронтом на нож ке R A4/T0C KI от внеш-
него источника. Н аправление ф ронта определяется управля-
ю щ им битом TOSE в регистре O PTIO N _R EG . П ри T0S E =0 бу-
д ет вы бран передний ф ронт П рескаллер м ожет бы ть исполь-
зован или совм естно с TM R0, или с W atchdog тайм ером Вари-
ант подклю чения делителя контролируется битом PSA в реги-
стре O P TIO N _R EG . П ри PSA=0 делитель будет подсоединен к
TM R 0. С одерж им ое делителя програм м е недоступно. Коэф-
ф ициент деления - программируется П реры вание по TM R0
вы рабаты вается тогда, когда происходит переполнение TM R0
тайм ера/счетчика при переходе от FFh к 00h. Тогда устанавли-
вается б и т запроса T0IF в регистре IN TC O N <2>. Д анное пре-
р ы в а н и е м о ж н о за м а с ки р о в а ть б и то м T 0 IE в р е ги с тр е
INTCO N<5>. Б ит запроса T0IF должен бы ть сброш ен программ-
но при обработке преры вания. П реры вание noTM R O не может
вы вести процессор из SLEEP, так как тайм ер в этом режиме
отклю чен
Проблемы с таймером
Проблемы м огут возникнуть при счете внеш них сигналов.
Эти сигналы стробирую тся внутренним сигналом синхрониза-
ции, см. схем у SYNC. О бразуется некоторая задерж ка между
ф ронтом входного сигнала и м ом ентом инкрем ентирования
TM R 0. С тробирование производится после прескаллера. Вы-
ход прескаллера опраш ивается дваж ды в течение каждого
ком андного цикла, чтобы определить положительны й и отри-
цательны й ф ронты входного сигнала. П оэтому сигнал Psout
долж ен иметь вы сокий и низкии уровень не м енее двух перио-
д ов синхронизации.
Когда прескаллер не используется, Psout повторяет вход-
ной сигнал, поэтому требования к нем у следую щ ие:
Trth = TMRO high tim e >= 2 tosc+20ns;
T rtl = TMRO low tim e >= 2 tosc+20ns.
Когда прескаллер используется на вход TMRO подается
сигнал, поделенны й на число, установленное в счетчике дели-
теля. С игнал после прескаллера всегда симметричен.
P sout high tim e = P sout low tim e = N *Trt/2, где
T rt — входной период TMRO,
N - значение сметчика делителя (2 ,4 .2 5 6 ).
В этом случае требования к входному сигналу можно вы-
разить так:
N *Trt/2 >= 2 tose +20ns или T rt >= (4tosc + 40ns)/N
2/2003
предыдущая страница 34 Радиолюбитель 2003-02 читать онлайн следующая страница 36 Радиолюбитель 2003-02 читать онлайн Домой Выключить/включить текст