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

Глава 10

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

VNIZ: clr clr ldi

VLEVO:

VPRAVO:

add ret clr clr ldi add ret

clr ldi add ret

tip R19 tip, R19,

tip R2 0 tip, R20,

clr R21 tip, R21,

tip

tip

tip

tip

;определения комбинации

г клавиш через их общую сумму

;и дальнейшее выделение по ; коду

.•подпрограмма сброса регистров в начальное состояние

cbr

R18,

content>

cbr

R19,

content>

cbr

R20,

content>

cbr

R21,

content>

ret

   

cbr

R22,

content>

cbr

R23,

content>

cbr

R24,

content>

cbr

R25,

content>

ret

   

;подпрограмма времени паузы передачи битов

d016ms: wdr ;0.168 мс

ldi YL, low(420) .-т.к. 2 байта, то нижний байт

ldi YH, high(420) ;и верхний байт десятичного

; числа имеют такую запись

d05_l: sbiw YL, 1 brne d05_l ret

;подпрограмма времени паузы опроса клавиши dlOOms: ldi ZL, low(10000) ;10 мс

ldi ZH, high(10000) d500_l: nop

sbiw ZL, 1

nop

nop

nop

nop

nop

brne d500 1

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

251

Листинг 10,1. Окончание

ret

;перекодировка клавиши recod: пор

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

brbs 1, vv /переход, если результат - ноль

cpi R27,

brbs 1, vn

cpi R27,

brbs 1, vl

cpi R27,

brbs 1, vlv

cpi R27,508

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

rjmp isc vlv: ldi R27, cvleverh

rjmp isc vpv: ldi R27, cvpraverh isc: nop

rcall brodcast /к подпрограмме передачи данных

isb: nop ret

/подпрограммы декодирования нажатой клавиши

Листинг 10.2. Шестнадцатеричный код управления передатчиком

020000020000FC

10000O0002CO00000OOO0FED0DBF0027112768BAE5 1000100 00EE007BB1127AA2 76FD07 3DOA895C09810 10002000C298C3987 9D0C0995 3D0C29AC39874D05B

252

Глава 10

Листинг 10,2. Окончание

:10003000C09953D0C298C39A6FD0C09953D0C29A7 6 :1000400OC39A6ADOC09953D0000060FC07C0622FE9 :10005000732F842F952F6394E3CF000098 942 6177 5 :10006000C9F63717B9F64 817A9F6591799F6240FA4 :100070002F93822F5CD02F91250FB22F58D0000034 :10008000340F3F93B32F53D03F910000350FB32F60 :100090004ED000003FCFC1981127AA271AE0000058 :10O0A000A8E088944B2E0O0O0O00441C10F020F4BF :1000B00003C0C19A23D002C0C19828D000009894E8 :1000C0O0AA958 9F7C19898941A954 9F70O0O089560 :1000DO00AA27222 7A1E02AOF0895AA273327A3E001 :1000E0003A0F0895AA274 427A5E04A0F0895AA27A2 :1000F0005527A9E05A0F08952F7F3F7F4F7F5F7FDD :1001000008956F7F7F7F8F7F9F7F0895A895C4EAB2 :10011000D1E02197F1F70895EOE1F7E2000031978F :10012000000000000000000O00O0C1F7O89500007A :10013000B13099F0B33099F0B53069F0B630A9F02C :10014000B8307 9F0B9302 9F0BA3089F0BC3059F0C4 :1001500011C0B1EA0DC034EA0BC0B8EA0 9C0BAEAEE :1001600007COB5EA05COB3EA03COBBEA01C039EAF3 :08017 000000091DF000008957A :00000001FF


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



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