- Код: Выделить всё • Развернуть
;----------------------------------------;
; A-D conversion routine
adc: ldi ZL, 0 ;Clear counter
ldi ZH, 0 ;/
cbi DDRB, 0 ;Start to charge
sbi PORTB, 0 ;/
adiw ZL, 1 ;Wait for Vc reaches Vi
sbis ACSR, ACO ;
rjmp PC-2 ;/
cbi PORTB, 0 ;Discharge capacitor
sbi DDRB, 0 ;/
ret ;Z = result
как из компаратора сделать АЦП
смысл в том что включаем счётчик и начинаем заряжать конденсатор
как только напряжение на конденсаторе AIN0 дойдёт до величины напряжения на AIN1 счёт останавливаем
говорим АЛЕ ОП
и получаем величину напряжения на AIN1
вот собсно сам вопрос:
ну посчитали мы на асме чё надо а как из асма в обычную переменную которая юзается в коде на Си записать число?
придумал только вот так:
описываем глобальную переменную
смотрим куда она там попадает
например в r2
на асме делаем LDI R2,z
ЗЫ
это я так хочу градусник на lm335 сделать =)
эта штука выдаёт 10мв на 1 градус кельвина так что в принципе можно замутить градусник с точностью +- 1 градус
ну или хотябы чтоб показывало ТЕПЛО/ХОЛОДНО