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

Настройка схемы

Микроконтроллер выбран с тактовой внутренней частотой 1,6 МГц. При использовании микроконтроллера с другой тактовой частотой частота световых эффектов изменится. При использовании частоты выше 25 МГц световые эффекты становятся динамическими, с включением всех светодиодов. Если в динамическом режиме чаще включать одни и те же светодиоды, то они будут светиться постоянного, в то время как остальные будут мигать. При достижении определенной динамической частоты все световые эффекты сольются в постоянное свечение (это происходит на уровне примерно 1,5 В на выводе 2 микроконтроллера).

Программа

Программа на ассемблере представлена в листинге 2.1, а шестна-дцатеричный код — в листинге 2.2. Соответствующие файлы

Создание световых эффектов с помощью АЦП

57

elka_adc.asm и elka_adc.hex находятся на прилагаемом к книге компакт-диске в папке ПрограммыХ02 - Светозые эффекты. Листинг 2 1. Програмva управления световыми эффектами

.include "C:\Program Files\Atmel\AVR Studio\Appnotes\ tnl5def.inc"

/Автор - инженер промышленной электроники Кразченко А.В.

def

tmp

=

rl6

def

tmp2

=

rl7

def

tmp3

 

rl8

def

tempo

=

rl9

def

pir

 

r22

def

pur

=

r23

def

par

 

r20

def

Y

=

r29

def

X

=

r21

def

M

=

r26

def

adr

=

rO

def

prgl

=

r2 4

def

prg2

=

r25

. cseg . org 0

rjmp RESET

nop

nop

nop

nop

nop

.org 20

/настройка порта В RESET: nop

clr

out

out

clr

Idi

out

;rjmp EXT_INT0 - прерывание не используется ;rjmp EXT_PIN - прерывание не используется ;rjmp TIME_OVF0 - прерывание от таймера ;rjmp EE_RDY - прерывание от таймера ;rjmp ANA_COMP- прерывание не используется

tmp

DDR3, tmp P0RT3, ~mp tmp

tmp, content>? DDR3, tmp

;обнулить порт 3

;PBO,P31,P32,РЗЗ-зыходы

;Начало программы

clr clr clr clr clr

nStart:

pir

pur

prgl

prg2

adr

noo

58

Глава 2

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

;сброс всех значений

rcall adcn nop

rcall zader nop

rcall opros nop

rjmp nStart

/Настройка АЦП, начало программы adcn: nop

nop

clr

nop

cpi

brsh

clr

ldi

out

clr

clr

ldi

out

tmp

tmp, ass tmp3

tmp3, ADMUX, tmp3 tmp2 tmp3

tmp2, $C4 ADCSR, tmp2

/Сохранение данных АЦП

in

in

mov

mov

mov

mov

mov

mov

inc

rjmp

nop

clr

clc

add

adc

add

adc

add

tmp2, ADCL tmp3, ADCH r2, tmp2 r3, tmp3 r4, r2 r5, r3 r6, r4 rl, r5 tmp awe

r8

tmp2, r9~, rE tmo2, r9~, rf tmp2.

r2

r4

/внутренний источник, вход ADC3 /коммутация входов АЦП

/одиночное, запуск, 1/16 /запуск АЦП на преобразование

Создание световых эффектов с помощью АЦП

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

ror

tmp2

 

Isr

r9

 

ror

tmp2

 

clr

r9"

 

clc

   

add

tmp3,

r3

adc

r9, ri

J

add

tmp3,

r5

adc

r9, r!

i

add

tmp3,

r7

adc

r9, rS

i

clc

   

Isr

r9

 

ror

tmp3

 

Isr

r9

 

ror

tmp3

 

nop

   

ret

   

;Подпрограмма задержки включения сзетодиодоз zader:

goo: dm:

goq: dv:

dx:

nop

   

wdr

   

clr

M

 

clr

Y

 

ldi

Y,

$AF

cpi

tmp3, content>

brne

goo

ldi

M,

add

M,

tmp3

nop

   

nop

   

mov

M,

tmp3

nop

   

cpi

tmp2, content>

brne

goq

ldi

X,

add

X,

tmp2

nop

   

nop

   

mov

X,

tmp 2

nop

   

wdr

   

nop

   

dec

Y

 

brol

dx

 

Глава 2


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



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