Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 23.03.2008, 14:47  
OLMER88
Прохожий
 
Регистрация: 18.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
OLMER88 на пути к лучшему
По умолчанию Шумоподавление встроеного АЦП в AVR МК

Здравствуйте!
Кто работал с АЦП в AVR помогите пожалуйста. В даташите написано что преобразование должно начинаться автоматически при переходе МК в режим спячки, но почему то не начинаеться и мк так и не просыпаеться)
Если начачть преобразование а потом войти в режим слип то работает нормально.
Вот текст программы:
#include ‹m8def.inc›

.def temp=r16

.cseg
.org 0x000
rjmp start

.org adccaddr
nop
reti


start:

ldi temp, 0b00011000
out wdtcr, temp ;watchdog disabled
cbr temp, 0b00001000
out wdtcr, temp

clr temp
out ddrc, temp ;порт С на вход
out portc, temp

ldi temp, 0xff ;порт D - выход
out ddrd, temp
clr temp
out portd, temp

ldi temp, 0b10001111 ;вкл. АЦП, прерывания по завершению преобразования, скорость 128
out adcsra, temp

ldi temp, 0b00100000 ;используем АЦП0, левый сдвиг результата
out admux, temp


sei ;глобальное разрешение прерываний

ldi temp, 0b10010000 ;режим подавления шумов включен
out mcucr, temp

A1:
;sbi adcsra, adsc
sleep

in temp, adcl
in temp, adch
out portd, temp
rjmp A1
Реклама:
OLMER88 вне форума  
Непрочитано 23.03.2008, 15:21  
Slava1355
Прописка
 
Аватар для Slava1355
 
Регистрация: 13.06.2004
Адрес: Москва
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 32 раз(а) в 18 сообщении(ях)
Slava1355 на пути к лучшему
По умолчанию

Вот фрагмент реально работающей программы с переводом АЦП в спящий режим, разбирайтесь (для удобства этот фрагмент в приложении как PDF файл):
.include "tn26def.inc"

.................................................

;======================== *** CODE SEGMENT ***==============================

.CSEG ;begin of program memory
.org 0
;-----------------SETUP INTERRUPTS HANDLERS---------------------------------

reset: rjmp start ; 00 Reset Handler
reti ; 01 External Interrupt0 Vector Address
reti ; 02 Pin change interrupt
reti ; 03 Output Compare1A Interrupt Vector Address
reti ; 04 Output Compare1B Interrupt Vector Address
reti ; 05 Overflow1 Interrupt Vector Address
rjmp TimeKey ; 06 Overflow0 Interrupt Vector Address (Main INT Programm)
reti ; 07 Universal Seria Bus Start Interrupt Address
reti ; 08 Universal Seria Bus Overflow Interrupt Address
reti ; 09 EEPROM Ready Interrupt Vector Address
reti ; 0A Analog Comparator Interrupt Vector Address
reti ; 0B ADC conversion complete Interrupt Vector Address

.................................................. ..............

;----------------------- BEGIN OF PROGRAMM ---------------------------------

;---------------------- *** SETUP PART *** ---------------------------------

start:
ldi r16,RAMEND ;stack init SP=0xdf (RAMEND)
out sp,r16 ;

sbi ACSR,ACD ;Analog comparator off

;------------------ Init Port A ------------------------
ldi r16,0xFF ;Set Ini Ports func (DIRECTION)
out ddra,r16 ; DDRA

; ldi r16,0x00 ;(INV) Set Ini Ports value (VALUE)
ldi r16,0xFF ;(NO INV) ;Set Ini Ports value (VALUE)
out porta,r16 ; PORTA
;--------------------------------------------------------

;------------------ Init Port B ------------------------
ldi r16,0x38 ;Set Ini Ports func (DIRECTION)
out ddrb,r16 ; DDRB

; ldi r16,0xBF ;(INV) Set Ini Ports value (VALUE)
ldi r16,0x87 ;(NO INV) Set Ini Ports value (VALUE)
out portb,r16 ; PORTB
;--------------------------------------------------------

;------------------ Init Timer0 (main INT) ------------
ldi r16,0x03
out TCCR0,r16 ;T/C0 CK/64
ldi r16,0x02
out TIMSK,r16 ;T/C0 Overflow INT enable
;--------------------------------------------------------

;--------------- init ADC converter ---------------------
ldi r16,0x9E ;Single conversion, clear flag,enable INT, prescaler :64 (62.5kHz)
out ADCSR,r16

ldi r16,0xA9 ;set MUX chanel=9, INT Ref=2.56V, Left Adjust results
out ADMUX,r16
;--------------------------------------------------------



...............................................



;--------------- Make ADC conversion ------------
;-------- Enable "ADC Noise Reduction" mode -------------
ldi r16,0x28 ;Enable "ADC Noise Reduction" mode & Sleep mode
out MCUCR,r16 ;Write to MCU control register
;--------------------------------------------------------
Sleep
;-------- Disable "ADC Noise Reduction" mode -------------
ldi r16,0x00 ;Disable "ADC Noise Reduction" mode & Sleep mode
out MCUCR,r16 ;Write to MCU control register
;--------------------------------------------------------
in BINL,ADCL ;Read LOW data byte from ADCL
in BINH,ADCH ;Read HIGH data byte from ADCH
;--------------------------------------------------------

..............................................


;=================== END OF MAIN PROGRAMM =====================

Прикрепленный файл: 7149504.pdf
Slava1355 вне форума  
Непрочитано 23.03.2008, 15:22  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Оформляйте вложенные куски кода как положено!!!!!!!!
dosikus вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR, АЦП и 30-1300мв в пике m_serebrov Микроконтроллеры, АЦП, память и т.д 17 27.06.2011 08:29
Помогите отладить программу АЦП на AVR Alexander48 Микроконтроллеры, АЦП, память и т.д 8 30.11.2009 14:07
АЦП/ЦАП в AVR elcreator Микроконтроллеры, АЦП, память и т.д 2 27.12.2005 19:46
АЦП в AVR lamer007 Микроконтроллеры, АЦП, память и т.д 3 14.12.2005 23:35
Как соединить датчик с АЦП AVR? MiXeR Микроконтроллеры, АЦП, память и т.д 3 31.05.2005 20:06


Часовой пояс GMT +4, время: 07:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot