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

Программа передатчика представлена в листинге 10.3, а шестнадца-теричный код программирования микроконтроллера передатчика — в листинге 10.4. Соответствующие файлы antenlOS . asm и anretl08. hex находятся на прилагаемом к книге компакт-диске в папке Прог-раммыМО - Радиоуправление. Листинг 10.S. Программа управления приемником

.include "С:

:\Program Files\Atmel\AVR Studio\Appnotes\tnl5def

inc"

     

.def

tmp

rl6

;4 первых бита информации

.def

tip

r25

;переменная опроса входных данных

.def

ana

r22

 

.def

tabl

r23

 

.def

vrem

rll

 

.def

zap

rlO

 

.def

top

rl7

 

.def

vov

rl9

 

.def

biti

r20

.•переменная разенстза 5 раз

.def

by

rl8

 

.def

zup

r21

 

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

265

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

.def srav = r24

.def tuto = r26 ;переменная количества разных

.equ row2 = РВ4

.equ hkayl = P32

.equ hkay2 = PB3

.equ rowl = PbO

.equ anten = РЫ

;коды для вызода в порт В

.equ cvlevo = $06

.equ cvpravo = $03

.equ cverh = $0A

.equ cvniz = $12

.equ cvlevniz = $16

.equ cvpravniz = $13

.equ cvleverh = $0E

.equ cvpraverh = $0B

. cseg .org 0

rjmp

nop

nop

rjmp

nop

nop

.org 20 RESET: nop clr

;настройка ldi out clr out clr

;Настройка ldi out clr out ldi out clr out ldi out

RESET

TIME

;rjmp EXT_INT0 - прерывание не используется

;rjmp EXT_PIN - прерызание не используется

;прерызание от таймера

;rjmp EE_RDY - прерызание от таймера

;rjmp ANA_COMP - прерызание не используется

;PBO,РВ2,РВЗ,РВ4-выходы ;обнулить порт В

tmp порта В tmp,$1D DDRB, tmp tmp

PORTB, tmp biti таймера

tmp, l«TOIE0

TIMSK, tmp ;Регистр маски прерываний tmp

TCCRO, tmp tmp, l«TOV0

TIFR, tmp ;Регистр флагоз прерызаний tmp

TCNTO, tmp ;Счетный регистр tmp, $05

TCCRO, tmp ;Регистр управления CK/1024

Глава 10

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

;Начало программы, сброс всех значений snov: clr vrem /начало программы

clr zap

clr tmp

ldi tmp, $04 ;4 бита информации

;отсчет программы по формированию байта in vrem, PORTB ;опрос порта mov zup, vrem clc

;декодировка полученного полубайта /выделение кода начала или кода команды

;для формирования очередности сигнал команды 1-й полубайт

/имеет метку biti

cpi biti, $FF /сигнал команды или нет brbs 1, ора ;да, сигнал команды, идти во ,2-й

;полубайт

clr biti rcall recod nop

cpi biti, $CF brbs 1, snov cpi biti, $FF brbs 1, snov nop

opa: clr biti

mov R27, zup mov top, R27 rcall zapis nop

mov ana, zup rcall bo_5 nop

cpi biti, $DF brbc 1, snov nop

mov R27, RO rcall rascod nop


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






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_104.html on line 439

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_104.html on line 439

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book8_104.html on line 439