Предыдущая Следующая

Радиоуправление моделями автомобилей

269

Листинг 10 3 Продолжение

vps:

cp real nop clz mov cp real nop clz mov cp

real nop clz mov cp

rcall

nop

brbs

nop

clz

dec

nop

brbc

rjmp

nop

ldi

nop

clc

rcall

nop

ret

srav, 1 raven

ana, R3 srav, ana raven

ana, r2 srav, ana 1 raven

ana, Rl srav, ana raven

0, ravn

tip

biti, $DF

.■организация цикла 10 раз .•переход, пока Z не устанозлен

;при равенстве 5 раз присвоить ;переменную

г сброс знака переноса гп/п замены регистра r0

;п/п анализа равенства двух регистроз и накопления данных

кап:

пор

brbc

пор

inc

пор

clz

cpi

brbs

sec

nop

clz

1, kah

tuto

tuto, 5 1, kah

;n/n обработки равенства

;устанозлен в предыдущей операции Z

;да, устанозлен

;увеличить счетчик на единицу

;сразнить 5 созпадений

;нет, пропуск команды

;да, устанозка флага переноса

270

Глаза 10

Листинг 10.3, Продолжение

ret

гп/п замены регистра R0

 

nop

 

push

RO

 

mov

RO,

Rl

mov

Rl,

R2

mov

R2,

R3

mov

R3,

R4

mov

R4,

R5

mov

R5,

R6

mov

R6,

R7

mov

R7,

R8

mov

R8,

R9

nop

   

pop

RO

 

nop

   

mov

R9,

RO

nop

   

ret

   

ча остальные R1-R9

;кругозой цикл замены R0 ;сохранение R0

.•извлечение R0

;по окончанию замены

;п/п записи по конзейеру 10-ти поступизших значений zapis: пор

mov

R9,

R8

mov

R8,

R7

mov

R7,

R6

mov

R6,

R5

mov

R5,

R4

mov

R4,

R3

mov

R3,

R2

mov

R2,

Rl

mov

Rl,

RO

mov

RO,

"top

nop ret

;n/n частичного управления: анализ совпадения команды

;и положения руля, управление вперед и назад, если задано

chast: пор

and R27, tmp

пор

ret

;п/п прозерки кода 2-го п/байта и перекодировки регистра rascod: пор

cpi R27, .-сравнение регистра и константы

Радиоуправление моделями азтомобилей

271

Листинг 10.3. Продолжение

 

brbs

I, vv /переход, если результат - .-:ол

 

cpi

R27,

 

brbs

1, vn

 

cpi

R27,

 

brbs

1, vl

 

cpi

R27,

 

brbs

1, vlv

 

cpi

R27,

 

brbs

1, vln

 

cpi

R27,

 

brbs

1, vp

 

cpi

R27,content>A

 

brbs

1, vpv

 

cpi

R27,content>C

 

brbs

1, vpn

 

rjmp

isb ;код - ноль или другой

;перекодировка

vp:

ldi

R27, cvpravo ;присваивание регистру кода

 

rjmp

isc /переход на передачу кода

vl :

ldi

R27, cvlevo

 

rjmp

isc

vv:

ldi

R27, cverh

 

rjmp

isc

vn:

ldi

R27, cvniz

 

rjmp

isc

vln:

ldi

R27, cvlevniz

 

rjmp

isc

vpn:

ldi

R27, cvpravniz

 

rump

isc

vlv:

ldi

R27, cvleverh

 

rjmp

isc

vpv:

ldi

R27, cvpraverh

 

nop

 
 

rjmp

isc

l sb:

ldi

biti, $AF

isc:

nop

 
 

ret

 

; n/n

чтения

данных из порта 3 и анализ позорста руля

in b:

: nop

 
 

out

PORTB, R2 7

 

in

tmp, P0RT3 ;получение данных из порта В

 

cp

tmp, R27

 

nop

 
 

ret

 

272


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz