Atmega8 časovač2 – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Atmega8 časovač2 – Assembler – Fórum – Programujte.comAtmega8 časovač2 – Assembler – Fórum – Programujte.com

 

Pavol0070
Duch
28. 9. 2010   #1
-
0
-

Ahoj potreboval by som poradiť s časovačom na Atmega8. Nejde mi rozbehať rýchly PWM režím na časovači 2.





.include "m16def.inc"

.def cas0=r15
.def cas1a=r14
.def cas1b=r13
.def cas2=r12


.def temp1=r16 //pomocný register
.def temp2=r29
.def temp3=r30
.def temp4=r31

.def led1=r17 //rosvecuje led
.def led2=r18
.def led3=r19
.def led4=r20
.def led5=r21
.def led6=r22
.def led7=r23
.def led8=r24
.def led9=r25
.def led10=r26
.def led11=r27
.def led12=r28

.equ casovaca=64 //šírka impulzu
.equ casovacb=191
.equ casovac2=126
//***************************************************************************************************


ldi temp1,low(ramend)
out spl,temp1
ldi temp1,high(ramend)
out sph,temp1



ldi temp1,7 // nastavý výstupy
out ddrb,temp1


/********************************************************************
nastavenie časovačov
*********************************************************************/

ldi temp1,casovaca
out ocr1bl,temp1
ldi temp1,casovacb
out ocr1al,temp1
ldi temp1,casovac2
out ocr2,temp1

// nastavy casovace, preddelicka 1


ldi temp1,(1<<com1a0)|(1<<com1a1)|(1<<wgm10)|(0<<com1b0)|(1<<com1b1)
mov cas1a,temp1

ldi temp1,(0<<cs12)|(0<<cs11)|(1<<cs10)
mov cas1b,temp1
ldi temp1,(1<<wgm20)|(1<<com20)|(0<<cs22)|(0<<cs21)|(1<<cs20)
mov cas2,temp1

ldi temp1,(1<<wgm20)|(1<<wgm21)|(1<<com21)|(0<<com20)|(0<<cs22)|(0<<cs21)|(1<<cs00)
mov cas2,temp1



out tccr1a,cas1a
out tccr1b,cas1b


// rcall cakaj1
out tccr2,cas2








slucka:
nop
rjmp slucka


cakaj1: // caka 64 period

ldi temp1,16
cakaj1_a:
ldi temp2,1
cakaj1_b:
ldi temp3,1
cakaj1_c:
dec temp3
brne cakaj1_c
dec temp2
brne cakaj1_b
dec temp1
brne cakaj1_a

nop
nop

ret


Prosím poradťe.

Nahlásit jako SPAM
IP: 158.193.82.–
valky0
Duch
10. 4. 2011   #2
-
0
-

Nepovolil jsi FOC2... řádek 68

ldi temp1,(1<<FOC2)|(1<<wgm20)|(1<<wgm21)|(1<<com21)|(0<<com20)|(0<<cs22)|(0<<cs21)|(1<<cs00)

Nahlásit jako SPAM
IP: 89.190.90.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 100 hostů

Podobná vlákna

Programování ATMEGA8 — založil ppeter

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý