Как заставить АЦП в меге48 работать?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

Делаю термометр-регулятор на меге48, схема спаяна, работает, цифирьки моргают, никак не могу заставить работать АЦП - ни в симуляторе, ни в железе :( А именно, происходит одно единственное прерывание по завершению преобразования, и все, потом АЦП затыкается, вроде в регистры пишу что надо:

Код: Выделить всё

.include "m48def.inc"

.equ	CT = 0x101	;температура
.org	0	
	rjmp	_start
.org	0x15
	rjmp	_ADC_int

_start:
	ldi	r16,0b11000110	;ADMUX: [REFS1|REFS0|ADLAR| - |MUX3|MUX2|MUX1|MUX0]
	sts	admux,r16
	ldi	r16,0b11001110	;ADCSRA: [ADEN|ADSC|ADATE|ADIF|ADIE|ADPS2|ADPS1|ADPS0]
	sts	adcsra,r16
	sei
_mainloop:
	

	rjmp	_mainloop

_adcint:
	lds	r24,adcl
	sts	ct,r24
	ldi	r24,0b11001110
	sts	adcsra,r24
	reti
Реклама
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

PS забыл - в симуляторе теперь работает - прерывания происходят, а в железе - ни фига. Одно преобразование после сброса, а потом из ADCL читается одно и то же значение :cry:
PPS В железе тоже прерывания есть - проверял на индикаторе, но результат преобразования не меняется...
Реклама
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

Фсе, разобрался вроде - надо было ADCH тоже читать, спасибо гуглу и 123avr!
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

stas00n писал(а):Фсе, разобрался вроде - надо было ADCH тоже читать, спасибо гуглу и 123avr!
datasheet читайте сначала.
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»