реклама на сайте
подробности

 
 
> Странное поведение ATtiny26
SAVC
сообщение Sep 15 2018, 13:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 185
Регистрация: 28-01-07
Из: Уфа
Пользователь №: 24 829



Пытаюсь сделать управляемый источник питания, источник тока с регулировкой на МК AVR ATtiny26(L)
В целях ознакомления с периферией, сделал такой вот проект:
CODE
.include "avr000/tn26def.inc"

.cseg
.org 0

start:
ldi r16,RAMEND
out sp,r16
ldi r16,0b00001111
out ddrb,r16
ldi r16,2
out pllcsr,r16
start_01:
in r16,pllcsr
andi r16,1
breq start_01
ldi r16,6
out pllcsr,r16
ldi r16,0
out ocr1a,r16
out ocr1b,r16
ldi r16,255
out ocr1c,r16
ldi r16,0b01010011
out tccr1a,r16
ldi r16,0b10000011
out tccr1b,r16

;CK/8
ldi r16,0b00000010
out tccr0,r16
ldi r16,128
out tcnt0,r16

rcall pause

forever:

;Ждём ADIF=1
;ADLAR = 1 сдвигать результат влево, 8 бит в регистре ADCH
ldi r16,0b00100000
out admux,r16

;ADEN = 1
;ADSC = 1
;ADPS = 001; division by 2
ldi r16,0b11000001
out adcsr,r16

start_02:
in r16,adcsr
andi r16,16
breq start_02

;Сбросим ADIF
ldi r16,0b10010001
out adcsr,r16

in r16,adch

out ocr1a,r16

rcall pause

;ADLAR = 1 сдвигать результат влево, 8 бит в регистре ADCH
ldi r16,0b00100001
out admux,r16

;ADEN = 1
;ADSC = 1
;ADPS = 001; division by 2
ldi r16,0b11000001
out adcsr,r16

;Ждём ADIF=1
start_03:
in r16,adcsr
andi r16,16
breq start_03

;Сбросим ADIF
ldi r16,0b10010001
out adcsr,r16

in r16,adch

mov r17,r16
andi r17,128
out porta,r17

out ocr1b,r16

rcall pause

rjmp forever

pause:

;Ждём TOV0
pause_01:
in r16,tifr
andi r16,2
breq pause_01

;Clear TOV0
ldi r16,2
out tifr,r16

ldi r16,128
out tcnt0,r16

ret

Запускается периферия, затем в цикле измеряется напряжение с нулевого входа АЦП, выводится в первый канал PWM,
после этого измеряется напряжение на первом входе АЦП, выводится во второй канал PWM.
Светодиод на PA7 отображает состояние старшего бита данных с АЦП для второго канала.
Имеем странный результат: вращая ручку переменного резистора, подключенного делителем к первому входу АЦП
длительность импульса выходного сигнала сначала плавно увеличивается, потом доходит до максимума и затем резко обрывается, падая в ноль.
Это происходит где-то после 75% шкалы.
Светодиод при этом светится, то есть это не АЦП.
Далее, проверяем PWM.
С этой целью запускаем след. код на микроконтроллере:
CODE
.include "avr000/tn26def.inc"

.cseg
.org 0

start:
ldi r16,RAMEND
out sp,r16
ldi r16,0b00001111
out ddrb,r16
ldi r16,2
out pllcsr,r16
start_01:
in r16,pllcsr
andi r16,1
breq start_01
ldi r16,6
out pllcsr,r16
ldi r16,254
out ocr1a,r16
out ocr1b,r16
ldi r16,255
out ocr1c,r16
ldi r16,0b01010011
out tccr1a,r16
ldi r16,0b10000011
out tccr1b,r16

forever:
rjmp forever

Код инициализирует периферию и запускает таймер-счётчик с коэффициентом 254 на обоих каналах PWM
Код работает.
Не могу понят, что происходит в системе, если у кого-нибудь есть опыт или идеи, прошу поделиться.

Сообщение отредактировал IgorKossak - Sep 15 2018, 16:22
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SAVC   Странное поведение ATtiny26   Sep 15 2018, 13:46
- - controller_m30   Уточните, какие напряжения: 1. Питания контроллера...   Sep 15 2018, 14:22
|- - SAVC   Цитата(controller_m30 @ Sep 15 2018, 19:2...   Sep 15 2018, 14:24
- - controller_m30   Попробуйте значения, считанные из АЦП, сначала под...   Sep 15 2018, 14:41
|- - SAVC   Цитата(controller_m30 @ Sep 15 2018, 19:4...   Sep 15 2018, 14:46
- - controller_m30   Два предложения. 1. Проверьте питание на ноге AVCC...   Sep 15 2018, 15:30
|- - SAVC   Цитата(controller_m30 @ Sep 15 2018, 20:3...   Sep 16 2018, 03:01
|- - aiwa   Цитата(SAVC @ Sep 16 2018, 06:01) Я испол...   Sep 16 2018, 07:54
||- - SAVC   Цитата(aiwa @ Sep 16 2018, 12:54) В даташ...   Sep 16 2018, 07:57
|- - controller_m30   Цитата(SAVC @ Sep 16 2018, 06:01) Остался...   Sep 16 2018, 16:20
|- - SAVC   Цитата(controller_m30 @ Sep 16 2018, 21:2...   Sep 17 2018, 15:16
- - aiwa   Чтение измерений АЦП в коде вообще отсутствуют, иб...   Sep 15 2018, 15:34
- - domowoj   SAVC -зачем вы залезли своей программой на адреса ...   Sep 16 2018, 01:00
- - controller_m30   Ещё вариант такой. По тексту программы, на светоди...   Sep 17 2018, 15:55
- - SAVC   Цитата(controller_m30 @ Sep 17 2018, 20:5...   Sep 18 2018, 09:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th May 2024 - 21:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016