ATmega8 и АЦП

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

DIMA040891 писал(а):Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??
Чего пробывал?

на какой частоте работает мк? смотри в ДШ кокой ток должен быть при этом.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Встал на лапы
Сообщения: 123
Зарегистрирован: Вс янв 31, 2010 21:31:24
Откуда: Краснодар

Сообщение avruser »

Всмысле, после настройки портов.
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Вот так теперь это выглядит:

.
.
. ldi Temp,low(RamEnd) ;установка указателя стека
out SPL,Temp
ldi Temp,high(RamEnd)
out SPH,Temp

ldi Temp,0b11111110
out DDRC,Temp

ldi Temp,0b00101000
out PORTC,Temp

ldi Temp,0b11100000
out ADMUX,Temp; выбор канала, а так же выравнивание влево(бит 5),+(биты 6 и 7)
; включение опорного напряжения внутреннего источника
.
.
.
.
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Код полностью мы увидим?
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

.INCLUDE "m8def.inc"

.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.def Temp5=R21
.def Temp6=R22
.def Temp7=R23
.def Temp8=R24
.def Temp9=R25

.dseg

Digit: .byte 4
RAM: .byte 10


.cseg
.org 0


rjmp Reset
rjmp EXT_INT0
rjmp EXT_INT1
rjmp TIM2_COMP
rjmp TIM2_OVF
rjmp TIM1_CAPT
rjmp TIM1_COMPA
rjmp TIM1_COMPB
rjmp TIM1_OVF
rjmp TIM0_OVF
rjmp SPI_STC
rjmp USART_RXC
rjmp USART_UDRE
rjmp USART_TXC

rjmp EE_RDY
rjmp ANA_COMP
rjmp TWSI
rjmp SPM_RDY



;Reset:
EXT_INT0:
EXT_INT1:
TIM2_COMP:
TIM2_OVF:
TIM1_CAPT:
TIM1_COMPA:
TIM1_COMPB:
TIM1_OVF:
TIM0_OVF:
SPI_STC:
USART_RXC:
USART_UDRE:
USART_TXC:

EE_RDY:
ANA_COMP:
TWSI:
SPM_RDY:

reti






ldi Temp,low(RamEnd) ;установка указателя стека
out SPL,Temp
ldi Temp,high(RamEnd)
out SPH,Temp

ldi Temp,0b11111110
out DDRC,Temp

ldi Temp,0b00101000
out PORTC,Temp

ldi Temp,0b11100000
out ADMUX,Temp; выбор канала, а так же выравнивание влево(бит 5),+(биты 6 и 7)
; включение опорного напряжения внутреннего источника

ldi Temp,0b10000101
out ADCSR,Temp; старший бит вкл АЦП, младшие - предделитель

reset: sbi ADCSR,ADSC ; уст бит "старт преобразования"

WaitADC:

sbis ADCSR,ADIF
rjmp WaitADC
; тут отсчет готов...
in Temp1,ADCH ; ст байт

out PORTC,Temp1

ldi Temp3,0x06
ldi Temp2,0x1A
ldi Temp1,0x80


Delay: subi Temp1,1;ждём 0,5С
sbci Temp2,0
sbci Temp3,0
brcc Delay

rjmp reset
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

:shock: ну и как по-твоему это должно работать?
если при старте программа уходит на зацикливание, без всякой настройки портов и перефирии...
посмотри где у тебя стоит метка Reset

и все-таки включи ADIE
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Мда... Две страницы исписали, чуть не подрались, а тут...
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Мне очень и очень :oops: :oops: :oops: стыдно)) Большое спасибо, так я бы наверное долго головой об стенку бился))))
Осталось 2 вопросика:
1. Можно ли в недиферинциальном режиме АЦП задействовать внутренний усилитель x10???? Если можно то как????
2. Все ракроме старшего разряда светодиодов моргают, это возможно из-зи плохого источника питания????
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Ну начнем с того что у М8 нет усилителя, если один светодиод отличается по яркости - ИП здесь ни при чем.
Смотри настройки портов, подключение пул-ап резисторов, подключенную периферию и т.п.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Нет, дела не в разной яркости, а в том что значение постоянно меняется, горят то 2 то 3, 4 светодиода (хотя переменный ризистор в этот момент я нетрогую), ИП у меня очень слабенький, напряжение на клемах питания изменятся примерно на 0,3В при загорании разного количества светодиодов. Возможно это может спровоцировать ошибки при измернии напряжения???? :roll:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Плохое питание - это "смерть" точности измерения. Плюсом к тому, Ваше программное решение не способно обеспечить высокую точность хотябы из за того, что АЦП рекомендуется использовать в режиме ADC Noise Reduction Mode.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Просадка на 0.3В - это примерно 15 ед.АЦП, при таком способе преобразования, а это 3-4 мл.разряда в результате, поэтому вполне возможно мигание светодиодов в хаотичном порядке :))) , пардон беспорядке.

зы: ну ADC Noise Reduction Mode нужно "включать" при полном (10 разрядном) преобразовании, а при 8-и разрядах этот режим не обязателен.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Ну почему же? Ведь мы считываем младшие разряды.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Ну вобщем испльзование хорошего ИП, LC фильтроф питания, а также конденсатора для AREF совместно с режимом ADC Noise Reduction Mode даст точность 8-9 разрядов?? так примерно??
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

+ питание на аналоговую часть через LC-фильтр
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Чт дек 03, 2009 19:55:03

Сообщение DIMA040891 »

Ну вродн всё! Все большое спасибо, за уделённое время))))!!!!
Закрыто

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