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

109

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

пор ret

;Подпрограмма задержки 1 мс zlms: пор

wdr ;сброс сторожевого таймера

clr М /начальный сброс константы

clr Y ;начальный сброс константы

ldi Y, $62 /первая константа цикла

goo: пор

ldi М, $04

dm: пор

ldi X, $62 /третья константа цикла

пор

goq: пор пор

dv: пор

wdr /сброс сторожевого таймера

пор

dx: dec Y пор пор пор пор пор

brpl dx /проверка услоаия

пор

пор

cln

dec X

brpl dv /проверка условия

cln

dec M nop

brne dm /проверка услоаия

ret

/Подпрограмма АЦП, настройка АЦП adcn: nop nop

clr tmp awe: nop

cpi tmp, $04 /считывание АЦП 4 раза

brsh ass /более 4-х раз

nop

out ADMUX, tmpl /коммутация зходоз АЦП

по

Глава 5

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

/Подпрограмма задержки 125 мкс пор

clr Y

ldi Y, $24 /задаем цикл

cln /сброс флага знака dx3: пор

dec Y /цикл, начало пор

brpl dx3 /проверка условия пор

clr tmp2

clr tmp3

ldi tt2, $C5 /одиночное, запуск, 1/32

out ADCSR, tt2 ;запуск АЦП на преобразование

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

in tmp2, ADCL /чтение младшего байта АЦП

in tmp3, ADCH /чтение старшего байта АЦП

mov r2, tmp2 /запомнить временно

mov r3, tmp3 /запомнить зременно

mov г4, г2 /запомнить зременно

mov г5, гЗ /запомнить зременно

mov г6, г4 /запомнить зременно

mov г7, г5 /запомнить временно

inc tmp /узеличить на 1

rjmp awe

/среднее арифметическое

ass: пор

clr г8

/для младшего байта

clc /сброс флага переноса

add tmp2, r2 ;сложение с предыдущим

adc г9, г8 /сложение с переносом

add tmp2, г4 /сложение с предыдущим

adc r9, г8 /сложение с переносом

add tmp2, гб /сложение с предыдущим

adc г9, г8 /сложение с переносом clc

Isr г9 /сдвиг вправо

ror tmp2 /сдвиг вправо через перенос

Isr г9 /сдвиг вправо

ror tmp2 /сдвиг зпразо через перенос

clr г9

clc

/для старшего байта

add tmp3, гЗ /сложение с предыдущим

adc г9, г8 /сложение с переносом

Управление вентилятором в помещении

111

Листинг 5.1- Продолжение

add

tmp3,

r5

;сложение с предыдущим

adc

r9, rt

j

;сложение с переносом

add

tmp3,

rl

;сложение с предыдущим

adc

r9, rt

i

;сложение с переносом

clc

     

Isr

r9

 

;сдвиг вправо

ror

tmp3

 

;сдвиг вправо через перенос

Isr

r9"

 

;сдвиг зправо

ror

tmp3

 

;сдвиг вправо через перенос

nop

   

;младший байт tmp2, старший

ret

     

.•Подпрограмма задержки времени таймера по DIP


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






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_44.html on line 444

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_44.html on line 444

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_44.html on line 444