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

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

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

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

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

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

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

 
Опции темы
Непрочитано 14.06.2007, 15:24  
malyshevsergey
Прописка
 
Регистрация: 13.07.2006
Сообщений: 117
Сказал спасибо: 26
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
malyshevsergey на пути к лучшему
По умолчанию Проблема с АЦП в ATmega 16L

При симуляции в Astudio работы АЦП с выводом информации на СД дисплей работотает все великолепно, а при переносе программы в МК на СД дисплее белеберда.
Помогите чайнику.
Реклама:
malyshevsergey вне форума  
Непрочитано 14.06.2007, 20:26  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию

Исходный код с комментариями приложи к теме, лучше будет, ибо телепатов тут нет
mrKirill вне форума  
Непрочитано 15.06.2007, 00:14  
malyshevsergey
Прописка
 
Регистрация: 13.07.2006
Сообщений: 117
Сказал спасибо: 26
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
malyshevsergey на пути к лучшему
По умолчанию Re: Проблема с АЦП в ATmega 16L

Сообщение от malyshevsergey
При симуляции в Astudio работы АЦП с выводом информации на СД дисплей работотает все великолепно, а при переносе программы в МК на СД дисплее белеберда.
Помогите чайнику.
.device ATmega16
.nolist
.include "C:Program filesAtmelAVR toolsAvrAssembler2Appnotesm16def.inc"
.list
.def temp = r16
.def temp1 = r17 ;
.def scet_ADC= r18 ;
.def v = r19 ;
.def Desv = r20 ;

.def Edin = r23
.def Des = r24
.def sotni = r25

.equ RAM = $0060
.equ AD6 = RAM + $40
.equ SUM = RAM + $50
.cseg
.org 0

rjmp Init
nop
nop; INT0addr
nop
nop; INT1addr
nop
nop; OC2addr
nop
nop; OVF2addr
nop
nop; ICP1addr
nop
nop; OC1Aaddr
nop
nop; OC1Baddr
nop
nop; OVF1addr
nop
rjmp Display; nop;
nop
nop; SPIaddr
nop
nop; URXCaddr
nop
nop; UDREaddr
nop
nop; UTXCaddr
nop
rjmp ADC1;
nop
nop; ERDYaddr
nop
nop; ACIaddr
nop
nop; TWIaddr
nop
nop; INT2addr
nop
rjmp ACP; nop;
nop
nop; SPM_RDY
nop
ACP:
ldi temp,0b11001101
out ADCSRA,temp
ldi temp,0b01100000
out ADMUX,temp

sei
ldi temp,1‹‹SE
out MCUCR,temp
sleep
ldi r21,0;ADCL
in r22,ADCH
ldi YL,Low(SUM)
ldi YH,High(SUM)
ld des,Y+
ld edin,Y
add edin,r22
adc des,r21
ldi YL,Low(SUM)
ldi YH,High(SUM)
st Y+,des
st Y,edin
inc scet_ADC
cpi scet_ADC,64
breq Srednee
ret

Srednee:
ldi YL,low(SUM)
ldi YH,High(SUM)
ld r22,Y+
ld r21,Y
clr temp
mov scet_ADC,temp
st Y,temp
st -Y,temp
ldi temp,5
Sred:
lsr r22
ror r21
dec temp
brne Sred
ldi YL,low(AD6)
ldi YH,High(AD6)
st Y+,r22
st Y,r21

HEX_DC:
ld XL,Y
ld XH,-Y
ldi temp,low(10000)
mov temp1,temp
ldi temp,high(10000)
rcall count

ldi temp,low(1000)
mov temp1,temp
ldi temp,high(1000)
rcall count

ldi temp,low(100)
mov temp1,temp
ldi temp,high(100)
rcall count

ldi temp,low(10)
mov temp1,temp
ldi temp,high(10)
rcall count
st -Y,XL

ldi temp,3
out TCCR0,temp
ret
COUNT:
ldi sotni,$ff
c1: inc sotni
sub XL,temp1
sbc XH,temp
brcc c1
st -Y,sotni
add XL,temp1
adc XH,temp
ret
ADC1:
clr temp
out ADCSRA,temp
reti
Display:
ser temp
out PortC,temp
out TCCR0,temp
ldi YL,low(AD6-5)
ldi YH,high(AD6-5)
in temp,PortD
com temp
lsr temp
cpi temp,0b00001000
brne PC+2
ldi temp,0b10000000
com temp
out PortD,temp
nop
nop
sbis PinD,4
ldd temp,Y+0
nop
sbis PinD,5
ldd temp,Y+1
nop
sbis PinD,6
ldd temp,Y+2
nop
sbis PinD,7
ldd temp,Y+3
nop

mov ZL,temp
ld temp,z
out PortC,temp

rcall ACP

ldi temp,69
out TCNT0,temp
ldi temp,3
out TCCR0,temp

reti
Init:
ldi temp,0b00000000
out DDRB,temp
com temp
out DDRC,temp
ldi temp,0b11110000
out DDRD,temp
ldi temp,0b10000000
out DDRA,temp
ldi temp,high(ramend)
out SPH,temp
ldi temp,low(ramend)
out SPL,temp

ldi temp, 0b00001010 ;0
mov r0,temp
ldi temp, 0b11111010 ;1
mov r1,temp
ldi temp, 0b01001100 ;2
mov r2,temp
ldi temp, 0b01101000 ;3
mov r3,temp
ldi temp, 0b10111000 ;4
mov r4,temp
ldi temp, 0b00101001 ;5
mov r5,temp
ldi temp, 0b00001001 ;6
mov r6,temp
ldi temp, 0b01111010 ;7
mov r7,temp
ldi temp, 0b00001000 ;8
mov r8,temp
ldi temp, 0b00101000 ;9
mov r9,temp
ldi YL,low(SUM)
ldi YH,High(SUM)

clr temp
st Y+,temp
st Y,temp
ldi YL,low(AD6-5)
ldi YH,High(ad6-5)
st Y+,temp
st Y+,temp
st Y+,temp
st Y+,temp
st Y+,temp
mov scet_ADC,temp
mov edin,temp
mov des,temp
mov sotni,temp
ldi temp,0b01111111
out PortD,temp

ldi temp,0b10000000
out SREG,temp

ldi temp,69
out TCNT0,temp
ldi temp,1‹‹TOV0
out TIMSK,temp
ldi temp,0b00000011
out TCCR0,temp

Start:
rjmp Start
malyshevsergey вне форума  
Непрочитано 15.06.2007, 08:11  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию

Так, хорошо, а комментарии где?
Как нам понять что ты и где делаешь в программе?
Учитесь писать комментарии, самим же потом проще будет

И еще, код не обязательно вставлять в пост свой, его можно и прикрепить в тестовом файле, намного лучше будет, ИМХО
mrKirill вне форума  
Непрочитано 15.06.2007, 15:50  
malyshevsergey
Прописка
 
Регистрация: 13.07.2006
Сообщений: 117
Сказал спасибо: 26
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
malyshevsergey на пути к лучшему
По умолчанию

Сообщение от mrKirill
Так, хорошо, а комментарии где?
Как нам понять что ты и где делаешь в программе?
Учитесь писать комментарии, самим же потом проще будет

И еще, код не обязательно вставлять в пост свой, его можно и прикрепить в тестовом файле, намного лучше будет, ИМХО
Исправлюсь.
malyshevsergey вне форума  
Непрочитано 16.06.2007, 00:55  
malyshevsergey
Прописка
 
Регистрация: 13.07.2006
Сообщений: 117
Сказал спасибо: 26
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
malyshevsergey на пути к лучшему
По умолчанию Re: Проблема с АЦП в ATmega 16L

Спасибо всем за беспокойство.
Я, нашел причину.

Причина:

Перед считыванием в сдвоенный регистр адреса, пришлось принудительно его обнулить.

Display:
ldi ZL,low(0)
ldi ZH,High(0)

mov ZL,temp ;считываем адрес в ZL
ld temp,z ;записываем код цифры
out PortC,temp ;выводим в порт
malyshevsergey вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AtMega АЦП impuls-v Микроконтроллеры, АЦП, память и т.д 19 20.06.2011 20:12
Трансивер+ATmega= неработает АЦП !! Tcom Микроконтроллеры, АЦП, память и т.д 2 27.05.2011 14:16
Проблема с АЦП Мега16 malyshevsergey Микроконтроллеры, АЦП, память и т.д 14 14.12.2007 17:44
АЦП ATmega 48 Tcom Микроконтроллеры, АЦП, память и т.д 2 11.10.2005 20:32
проблема с АЦП xelos Микроконтроллеры, АЦП, память и т.д 4 30.06.2005 21:20


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


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