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

Листинг 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 ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz