1

Montag, 20. Oktober 2008, 09:59

Mega8 Pb6 und Pb7

Hallo,

Folgendes Problem. Portb6 und Portb7 sind ja auch als XTAL und TOSC zu gebrauchen. Laut Anleitung soll man den internen Oscilator nutzen (habe ich eingestellt). Mir ist jetzt nicht ganz klar, wie ich die TOSC funktion abschalten kann um die Ausgänge zu nutzen.
So stehts in der Beschreibung und ich kappier das nicht.

Zitat


XTAL2: Chip clock Oscillator pin 2. Used as clock pin for crystal Oscillator or Low-frequency
crystal Oscillator. When used as a clock pin, the pin can not be used as an I/O pin.
TOSC2: Timer Oscillator pin 2. Used only if internal calibrated RC Oscillator is selected as chip
clock source, and the asynchronous timer is enabled by the correct setting in ASSR. When the
AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected
from the port, and becomes the inverting output of the Oscillator amplifier. In this
mode, a crystal Oscillator is connected to this pin, and the pin cannot be used as an I/O pin.
If PB7 is used as a clock pin, DDB7, PORTB7 and PINB7 will all read 0.


Muss ich die TOSC Funktion explizit ausschalten?
Portb.6 und Portb.7 sind normal als Output konfiguriert und sind immer "Aus"

MFG
Dany

Daniel wird beschleunigt von seiner ZZR1100

2

Montag, 20. Oktober 2008, 12:31

Hallo Dany,

eigentlich reicht es, den internen Takt zu aktivieren, dann stehen die PIN´s für die normale I/O-Funktion zur Verfügung. Weiter zu- oder abschalten muß man eigentlich nichts, so lange man nicht im ASSR-Register rumfummelt, sollte die Sache funzen.

Poste doch mal Deinen Code, vieleicht liegt da der Hase im Pfeffer...

Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

3

Montag, 20. Oktober 2008, 14:05

Hier mal der Anfangsteil.
Mega8 läuft auf 8Mhz intern. Brown out eingeschaltet.
Geproggt mit dem STK500. getestet auch damit
Kanns sein, das ich da noch ein Jumper wegmachen muss?
Wäre vieleicht auch ne Erklärung.

Ansonsten habe ich noch einen Mega8 auf einer Testplatine. Da könnte ich mal gucken ob die PB6 und PB7 gehn.

[list]
======================================================
'System-Einstellungen
'======================================================
'Definition für Mega 8
$regfile "m8def.dat"

'Angabe der Taktfrequenz (8Mhz)
$crystal = 8000000

' Ins und Outs definieren
' 0 = input; 1 = output

Config Portb = Output
Config Portd = Input
Config Pinc.0 = Input

V1 Alias Pind.0
V2 Alias Pind.1
V3 Alias Pind.2
V4 Alias Pind.3
V5 Alias Pind.4
V6 Alias Pind.5
R1 Alias Pind.6
Ext Alias Pind.7
Hilo Alias Pinc.0 '* Licht An = 1 = Gedimmt

'* Siebensegmentanzeige
' --3
' |2 |4
' --5
' |1 |6
' --7

S1 Alias Portb.0
S2 Alias Portb.1
S3 Alias Portb.2
S4 Alias Portb.3
S5 Alias Portb.4
S6 Alias Portb.5
S7 Alias Portb.6
Pd Alias Portb.7

'interne Pulups einschalten
Portd.0 = 1
Portd.1 = 1
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1
.
.
.
.
[/list]

Noch was anderes. Ich will detektieren ob 12V (bzw 15 Volt max, von einem KFZ) anliegen. Das soll prüfen ob Licht eingeschaltet wird.
Ich dachte da an einen Spannungsteiler so 100 zu 50 KOhm. Müßte doch gehn, oder?

Daniel wird beschleunigt von seiner ZZR1100

4

Montag, 20. Oktober 2008, 17:53

Lösung des PB6 und PB7 Problems mit dem STK500

die Pins sind nicht direkt mit dem Prozessor verbunden.
Man muss die Pins "XT1" und "XT2" (Links bei PortE/AUX) mit mit den beiden rechten (Com Anschluss zeigt nach rechts) Pins der4 "P Jump" Pins verbinden.

Wie prüfe ich den ein komplette Eingangsbyte ab ob alle 1 sind?
IF Eingangsbyte =255 then alles1 = 1

was muss da fürs Eingangbyte stehn?

MFG
Dany

Daniel wird beschleunigt von seiner ZZR1100

5

Montag, 20. Oktober 2008, 23:58

Hallo Dany,

versuchs mal mit

If Portd =255 then....

oder

If Portd =&B11111111 then...

Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]