Листинг 7.1. Продолжение |
|||
пор |
; rjmp |
EE RDY |
|
пор |
; rjmp |
ANA_COMP |
|
пор |
;rjmp |
TWI |
|
пор |
; rjmp |
SPM RDY |
|
,Начало всей программы без |
вектора прерывания |
||
.org 22 |
|||
;настройка |
портов В, С, D |
||
RESET: пор |
|||
clr |
tmp |
||
clr |
coc |
||
;зыходы на |
микросхему IC4 |
||
ldi |
coc, C |
;Порт В,-выходы РВ2 |
|
out |
DDRB, coc |
||
out |
PORTB, tmp |
.•обнулить порт |
В |
;выходы на |
микросхему DDI |
||
clr |
coc |
||
ldi |
coc, |
;Порт С-выходы |
РСО,РС1 |
out |
DDRC, coc |
||
out |
PORTC, tmp |
.•обнулить порт |
С |
;зыходы на |
микросхемы IC2, |
IC3 |
|
clr |
coc |
||
ldi |
coc, $FF |
;Порт D-эыходы |
PD0-7 |
out |
DDRD, coc |
||
out |
PORTD, tmp |
.•обнулить порт |
D |
;установка |
верхнего уровня |
стека |
|
ldi |
tmp, low(RAMEND) |
||
out |
SPL, tmp |
;режим работы таймера Т2 ldi tmp2,
nop ; out TIMSK,tmp3 ;разрешаем прерывания по
;переполнению от ТО
clr tmp2
.■настройка таймера Т2 с максимальным предварительным делением ;выбор коэффициента предварительного деления тактозой частоты ;и автоматический сброс таймера при совпадении
ldi tmp2, ;настройка режима #00000111
out TCCR2,tmp2 ;сброс зсех значений
cli ;общее запрещение прерываний
clr pir
clr tmp3
clr prgl
clr prg2
clr adr
clr cadr ;сбрасызаем кадр
154
Глава 7
Листинг 7.1. Продолжение
.•Начало программы
nStart:
пор пор
rcall DIP
пор cpi brlt rjmp nop nop ldi tmp2,
tp,
Ikj
opu
lkj:
rcall adcn2 mov X, tmp3 Y, tmp2 X Y
mov pop pop hgf: nop
ldi tmp2, rcall adcnl nop
.•двухбайтовое сравнение cp Y, tmp2 brge mbc nop cp
brio mbc: nop
rjmp vvs: nop
rcall opros
nop
.•изменение условия inc cadr cpi brio clr nop
X, tmp3 vvs
hgf
cadr,
rewg
cadr
rewg:
.•двухбайтовое сравнение
hgfu: nop
ldi tmp2, rcall adcnl nop
rcall opros nop
push X push Y
/начало программы /проверяем DIP
/проверка условия синхронизации
/задаем режим работы АЦП2
/считываем выставленный уровень
/младший байт
/старший байт
г задаем режим работы АЦП1
:считываем импульс синхронизации
;сравниваем старшие байты
;сравниваем младшие байты
/вывод одного кадра 10 раз
/всего 4 кадра
/задаем режим работы АЦП1 /считываем импульс синхронизации
/вывод одного кадра 10 раз
Световой эффект "Призма"
155
Листинг 7.1. Продолжение
cp |
Y, tmp2 |
|
brio |
mbus |
|
nop |
||
cp |
X, tmp3 |
|
brge |
kkdu |
|
mbus : |
• nop |
|
rjmp |
hgfu |
|
kkdu: |
nop |
|
-imp |
nStart |
|
nop |
||
;Программа без синхроь |
||
ори: |
nop |
|
rcall |
time |
|
cpi |
Y, |
|
brge |
mbhs |
|
nop |
||
r]mp |
werv |
|
m.bns: |
nop |
|
rimp |
ори |
|
werv: |
nop |
|
rcall |
opros |
|
nop |
||
inc |
pir |
|
cpi |
pir, |
|
brge |
nnmd |
|
nop |
||
clr |
pir |
|
inc |
cadr |
|
cpi |
cadr, 4 |
|
brio |
rsqi |
|
clr |
cadr |
|
nnmd: |
nop |
|
rjmp |
werv |
|
nop |
||
rsgj : |
nop |
|
rjmp |
nStart |
:сравниваем старшие байты
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |