Отговори на тема  [ 15 мнения ] 
AVR PWM въпрос 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение AVR PWM въпрос
Здравейте всички,
До скоро нямах никаква представа от контролери, но този форум ме запали по AVR контролерите. Понамерих малко информация и си взех едно тини2313. Вързах към него един LED и след няколко минути го накарах да свети. Но от няколко дни се боря с вградения ШИМ за да накарам диода да засвети плавно. Ето сорса:

.include "tn2313def.inc"
.def tmp=r16
.def tmp2=r17
.org 0x0000
rjmp init
.org 0x000D
rjmp timer
.org 0x50
init:
cli
ldi tmp,LOW(RAMEND)
out spl,tmp
mov tmp2,tmp

ldi tmp,0b00000100
out DDRB,tmp
clr tmp
out GIMSK,tmp

ldi tmp,0b00000010
out TIMSK,tmp
ldi tmp,20
out OCR0A,tmp
ldi tmp,0b00001001
out TCCR0B,tmp
ldi tmp,0b01000000
out TCCR0A,tmp

sei

start:
rjmp start

timer: ;prekysvane pri prepylvane
; inc tmp2
; out OCR0A,tmp2
; ldi tmp,0b00000000 ;zapiswame 00001000 v tmp
; out PORTB,tmp
reti

В подпограмата за обработка на прекъсването се опитвах нещо, но нищо не излезе. Ако някой е ползвал шима да помага.


Чет Юли 28, 2005 9:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
асемблерния език не е много подходящ за начално запознаване
ето ти един много добър пример
http://www.sigterm.de/projects/sens-o-nuts/Dokumentation/atmel/libc/demo_project.html

всичко му е добро - стила на писане, коментирането, документирането и всички детайли по излюпването на пиленцето.

това с твоя чип трябва да тръгне без никакъв външен чарколяк. чети дейташита за пускане на вътрешния осцилатор.


Пет Юли 29, 2005 12:37 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение 
Оправих се!
Със "С" засега нямам желание да се занимавам и съм се насочил само към асемблер. Ето сорса който работи с tiny2313:

.include "tn2313def.inc"
.def tmp=r16
.org 0
rjmp start
.org 0x0006
rjmp timer

start:
ldi tmp,low(ramend)
out spl,tmp

ldi tmp,(1<<PB2)
out ddrb,tmp
ldi tmp,(1<<com0a1)|(1<<wgm01)|(1<<wgm00)
out TCCR0A,tmp
ldi tmp,(1<<cs00);|(1<<wgm02)
out TCCR0B,tmp
ldi tmp,(1<<TOIE0)
out TIMSK,tmp
ldi tmp,50
out OCR0A,tmp
sei

loop:
rjmp loop

timer:
reti

Режима е fast-pwm и работи без прекъсване, ако използвате постоянен коефициент на запълване.
Възникна друг проблем. С PonyProg по невнимание/незнание задействах fuse битовете и сега процесора нито приема нито предава.
Има ли начин да го съживя ?


Съб Юли 30, 2005 2:36 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение 
Кои fuse битове си чекнал ... (така де ако помниш :))

Възможно е да си чекнал някои от CKSELx .... те отговарят за това какъв е вида на използвания клок (internal, external .... ) ако ползваш кварц ... сигорно си активирал опцията за ползване на осцилатор .....

Пробваи да свържеш един осцилатор към XTAL1 ..... може и да стане :)

ако тръгне така ... провери в документацията и си ги оправи .....

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Съб Юли 30, 2005 2:46 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение 
Отметнах само бита за вътрешната честота за да го пусна на 8Mhz, всички останали фюсове ги оставих празни. Има огромна вероятност по този начин да съм заключил паметта. Здраве да е, ще го сменям не са толкова скъпи.


Съб Юли 30, 2005 3:23 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение 
Попринцип ако си заклучил паметта не е фатално .... само даваш Erace ... и си деистваш :)

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Съб Юли 30, 2005 3:26 pm
Профил ICQ WWW
Мнение 
Ìåðñè, êîëåãà ùå ïðîáâàì.


Вто Авг 02, 2005 8:38 pm
Мнение 
Êàæè îò êúäå íàìåðè èíôîðìàöèÿ çà AVR. Äàé íÿêîè ëèíê èëè ïðàòè íà Qwasi@abv.bg Áëàãîäàðÿ òè ïðåäâàðèòåëíî.


Сря Авг 03, 2005 12:02 am
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
www.atmel.com :wink: съвсем сериозно


Сря Авг 03, 2005 12:34 am
Профил WWW
Мнение 
Àáå íàäÿâàõ ñå íà íåùî íà ÁÃ àìà.... øòîì íÿìà


Сря Авг 03, 2005 7:12 pm
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение 
Към Госта,
Ако си добре със Руския погледни в този форум раздел БИБЛИОТЕКА (или нещо подобно) там има 2 книги за AVR. А БГ-информация за AVR не съм срещал досега. Линкове на английски и руски мога да ти пратя стига да са ти от полза.

Към BrainStorm,
Взех си ново атини направих си и нов кабел (Принтерен кабел с 4 съпротивления за ISP програмиране). Успях да програмирам процесора няколко пъти и след това всичко отказа. По късно успях да програмирам процесора пак, после пак отказа. Захранване не съм слагал тоя път, защото от преди забелязах, че контролера си взима захранване от параления порт по време на програмиране и по време на работа. Ако имаш идея на какво се дължи това, ще съм ти благодарен. :roll:


Чет Авг 04, 2005 3:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 1:31 pm
Мнения: 3849
Мнение 
А защо не използваш ISP програматор
http://www.lancos.com/e2p/avrisp-stk200.gif


Чет Авг 04, 2005 4:16 pm
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение 
Поради 2 причини:
1) Не съм работил много с поялник и с всяко негово използване рискувам да започна платката отначало.
2) Във Враца не намерих 74HC244

Досега използвах параления кабел с 4 съпротивления, много просто решение, за да програмирам аттини и всичко работеше без грешка, докато не заключих процесора. Сега направих всичко наново, захранване не съм връзвал, но цялата работи когато си поиска.


Чет Авг 04, 2005 4:30 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение 
borko .... имал съм абсолютно същия проблем като теб .... когато започнах с AVR'ките :)

Останових че това се дължи на едно нещо: Захранването !

По някаква причина тоя програматор дето си го направил (то същност си е кабел не програматор;)) ... небачка винаги като хората.

За да не ти прави проблеми винаги използваи захранване (не разчитаи чипа да се захранва от порта) .... и гледаи Vcc то на процесора вингаги да е <=5V .... ако е под 5V почва да прави именно тези мизерий от които се оплакваш (не всеки път процесора се програмира коректно).

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Чет Авг 04, 2005 7:05 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Юли 03, 2005 6:06 pm
Мнения: 8
Мнение 
Днес имах малко свободно време и прикачих захранването. Резултата е, че всичко си бачка на 100%. :D
BrainStorm гледам, че и ти си ме съветвал същото. Мерси за съвета! 8)


Чет Авг 04, 2005 11:51 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 10 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни