|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:11 am
|
Страница 1 от 1
|
[ 15 мнения ] |
|
| Автор |
Съобщение |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 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 |
|
 |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 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 |
|
 |
|
BrainStorm
Ранг: Почетен член
Регистриран на: Пон Юли 04, 2005 11:51 pm Мнения: 651 Местоположение: София
|
Кои fuse битове си чекнал ... (така де ако помниш  )
Възможно е да си чекнал някои от CKSELx .... те отговарят за това какъв е вида на използвания клок (internal, external .... ) ако ползваш кварц ... сигорно си активирал опцията за ползване на осцилатор .....
Пробваи да свържеш един осцилатор към XTAL1 ..... може и да стане
ако тръгне така ... провери в документацията и си ги оправи .....
_________________ От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?
|
| Съб Юли 30, 2005 2:46 pm |
|
 |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 03, 2005 6:06 pm Мнения: 8
|
Отметнах само бита за вътрешната честота за да го пусна на 8Mhz, всички останали фюсове ги оставих празни. Има огромна вероятност по този начин да съм заключил паметта. Здраве да е, ще го сменям не са толкова скъпи.
|
| Съб Юли 30, 2005 3:23 pm |
|
 |
|
BrainStorm
Ранг: Почетен член
Регистриран на: Пон Юли 04, 2005 11:51 pm Мнения: 651 Местоположение: София
|
Попринцип ако си заклучил паметта не е фатално .... само даваш Erace ... и си деистваш 
_________________ От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?
|
| Съб Юли 30, 2005 3:26 pm |
|
 |
|
borko.
|
Ìåðñè, êîëåãà ùå ïðîáâàì.
|
| Вто Авг 02, 2005 8:38 pm |
|
 |
|
Гост
|
Êàæè îò êúäå íàìåðè èíôîðìàöèÿ çà AVR. Äàé íÿêîè ëèíê èëè ïðàòè íà Qwasi@abv.bg Áëàãîäàðÿ òè ïðåäâàðèòåëíî.
|
| Сря Авг 03, 2005 12:02 am |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
www.atmel.com  съвсем сериозно
|
| Сря Авг 03, 2005 12:34 am |
|
 |
|
Гост
|
Àáå íàäÿâàõ ñå íà íåùî íà ÁÃ àìà.... øòîì íÿìà
|
| Сря Авг 03, 2005 7:12 pm |
|
 |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 03, 2005 6:06 pm Мнения: 8
|
Към Госта,
Ако си добре със Руския погледни в този форум раздел БИБЛИОТЕКА (или нещо подобно) там има 2 книги за AVR. А БГ-информация за AVR не съм срещал досега. Линкове на английски и руски мога да ти пратя стига да са ти от полза.
Към BrainStorm,
Взех си ново атини направих си и нов кабел (Принтерен кабел с 4 съпротивления за ISP програмиране). Успях да програмирам процесора няколко пъти и след това всичко отказа. По късно успях да програмирам процесора пак, после пак отказа. Захранване не съм слагал тоя път, защото от преди забелязах, че контролера си взима захранване от параления порт по време на програмиране и по време на работа. Ако имаш идея на какво се дължи това, ще съм ти благодарен. 
|
| Чет Авг 04, 2005 3:52 pm |
|
 |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
|
| Чет Авг 04, 2005 4:16 pm |
|
 |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 03, 2005 6:06 pm Мнения: 8
|
Поради 2 причини:
1) Не съм работил много с поялник и с всяко негово използване рискувам да започна платката отначало.
2) Във Враца не намерих 74HC244
Досега използвах параления кабел с 4 съпротивления, много просто решение, за да програмирам аттини и всичко работеше без грешка, докато не заключих процесора. Сега направих всичко наново, захранване не съм връзвал, но цялата работи когато си поиска.
|
| Чет Авг 04, 2005 4:30 pm |
|
 |
|
BrainStorm
Ранг: Почетен член
Регистриран на: Пон Юли 04, 2005 11:51 pm Мнения: 651 Местоположение: София
|
borko .... имал съм абсолютно същия проблем като теб .... когато започнах с AVR'ките
Останових че това се дължи на едно нещо: Захранването !
По някаква причина тоя програматор дето си го направил (то същност си е кабел не програматор;)) ... небачка винаги като хората.
За да не ти прави проблеми винаги използваи захранване (не разчитаи чипа да се захранва от порта) .... и гледаи Vcc то на процесора вингаги да е <=5V .... ако е под 5V почва да прави именно тези мизерий от които се оплакваш (не всеки път процесора се програмира коректно).
_________________ От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?
|
| Чет Авг 04, 2005 7:05 pm |
|
 |
|
borko
Ранг: Минаващ
Регистриран на: Нед Юли 03, 2005 6:06 pm Мнения: 8
|
Днес имах малко свободно време и прикачих захранването. Резултата е, че всичко си бачка на 100%.
BrainStorm гледам, че и ти си ме съветвал същото. Мерси за съвета! 
|
| Чет Авг 04, 2005 11:51 pm |
|
|
|
Страница 1 от 1
|
[ 15 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|