PB5 beim ATTINY 15 verwenden

OP #892316
Lesenswert?

Was muss ich denn machen, damit ich PB5(Reset) vom ATTiny als Output 
verwenden kann?

Habe momentan kleine Denkblockade. Mein kleines Lauflichtprogramm geht 
nur bis PB4.

Habe schon probiert "Serial High Voltage programming" und Fuse gesetzt 
"disable external reset"

Ich sehe das doch richtig, das ich wenn ich mich mit der Fuse "disable 
external reset" ausgesperrt habe, ich immer noch mit "Serial High 
Voltage programming" reinkomme?

Habe übrigens STK500-Board und AVRstudio 3.2
OP #892947
Lesenswert?

Habe hier mal mein kleines Lauflichtprogramm, leider lässt sich damit 
PB5 bein ATTiny15 nicht ansteuern. Währe schön, wenn mir mal jemand 
einen Tip geben könnte, wie das geht.
1
;****************************************************************************
2
; Lauflichtdemo 
3
;****************************************************************************
4
.include "C:\programme\atmel\avr studio\appnotes\TN15def.inc"
5

6
.def    Temp            =r16
7
.def    Delay1          =r19
8
.def    Delay2          =r20
9
.def    Delay3    =r21
10
Start:
11
        ser     Temp
12
        out     DDRB,Temp       ;PB0-7 Output
13
        ldi  Temp,$FE
14

15
Loop:
16
  out  PORTB,Temp
17
  sec      ;SET Carry
18
  rol  Temp
19
  sbrs  Temp,6
20
  ldi  Temp,$FE
21
  
22

23
  ldi  Delay3,2
24
Delay:
25
        dec     Delay1
26
        brne    Delay
27
        dec     Delay2
28
        brne    Delay
29
        dec  Delay3
30
        brne  Delay
31

32
        rjmp    Loop
33
;****************************************************************************
#892975
Lesenswert?

Erik S. wrote:
> Wie hast du die LEDs denn angeschlossen? PB5 ist als Ausgang ein
> Open-Drain-Ausgang. Damit da überhaupt was leuchten kann, muss die LED
> zwischen VCC und Pin geschaltet sein.

Hat er doch:
> ldi  Temp,$FE
setzt Bit 0 auf L und alle anderen Bits auf H, was darauf schließen 
lässt, dass die LEDs L-aktiv angeschlossen sind.

...
#892981
Lesenswert?

Ok, das ist ein Argument, das ich so nicht bedacht hatte. Aber wer weiß, 
vielleicht ist es ja ein invertiertes Lauflicht? ;-D

Nebenbei: PB5 ist mit 12mA Strombelastbarkeit angegeben, das sollte 
eventuell in die Überlegungen zur Dimensionierung mit einbezogen werden.
#892997
Lesenswert?

Peter X. wrote:
> Habe das STK500-Board. Die Led's gehen nach Plus 5V.
> Jetzt leuchtet LED5 dauernd und geht nicht mehr aus. Ob ich PB5
> geschossen beim "high voltage seriell prog" ?

Nein, hast Du nicht...

Schau mal ins Datenblatt auf Seite 51. Da wirst Du entdecken, dass es in 
PORTB kein Bit 5 gibt. Du kannst den Port also nur über das Bit 5 im 
DDRB steuern. Das macht Dein Programm aber nicht...

...
OP #893102
Lesenswert?

@ Hannes Lux
>Schau mal ins Datenblatt auf Seite 51. Da wirst Du entdecken, dass es in
>PORTB kein Bit 5 gibt. Du kannst den Port also nur über das Bit 5 im
>DDRB steuern. Das macht Dein Programm aber nicht...


Habe ich jetzt mal geändert...funktioniert...fetten Dank  :-)
1
;****************************************************************************
2
; Lauflichtdemo 
3
;****************************************************************************
4
.include "E:\C\programme\atmel\avr studio\appnotes\TN15def.inc"
5

6
.def    Temp            =r16
7
.def    Loopcounter     =r17
8
.def    Bitcounter      =r18
9
.def    Delay1          =r19
10
.def    Delay2          =r20
11
.def  Delay3    =r21
12
Start:
13
        ser     Temp
14
        out     DDRB,Temp       ;PB0-7 Output
15
        ldi     Temp,24
16
        out     PORTB,Temp
17
        
18
        ldi  Temp,$FE
19

20
Loop:
21
  out  PORTB,Temp
22
  sbrs  Temp,5
23
  sbi  DDRB,5
24
  sbrc  Temp,5
25
  cbi  DDRB,5
26
  
27
  sec      ;SET Carry
28
  rol  Temp
29
  sbrs  Temp,6
30
  ldi  Temp,$FE
31
  
32

33
  ldi  Delay3,2
34
Delay:
35
        dec     Delay1
36
        brne    Delay
37
        dec     Delay2
38
        brne    Delay
39
        dec  Delay3
40
        brne  Delay
41

42
        rjmp    Loop
43
;****************************************************************************
#893110
Lesenswert?

Du kannst auch PortB auf 0 lassen und nur mit DDRB arbeiten. Dann hast 
Du an allen Pins Open-Drain-Ausgänge.

Der nächste Schritt dürfte dann sein, das Lauflicht hinundher laufen zu 
lassen. Danach könnte man über Aufdimmen und Abdimmen nachdenken.

Es gibt viel zu tun, schauen wir weg... ;-)

...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren