Hallo Jordy!
Am Besten machen wir jetzt hier mal weiter!
Ich habe zwar den Schaltungsaufbau ein wenig geändert und auch das Programm angepasst.....
Allerdings habe ich eben erst überlegt, ob ich die Beispiele besser auf deine Testplatine anpassen sollte.
Das jetzige Beispiel bezieht sich also noch auf MEINEN Testaufbau!
Hier mal die Anschlussskizze:
Achtung: Ich habe die LED`s jetzt an Port.D und nicht mehr an B !
Jetzt noch der Programmcode zum Ausprobieren dazu:
Du kannst dir ja mal ein paar Gedanken zum Ablauf in der DO-LOOP Schleife machen und anschließend schauen, was passiert!
Grüße,
Cassio
Am Besten machen wir jetzt hier mal weiter!
Ich habe zwar den Schaltungsaufbau ein wenig geändert und auch das Programm angepasst.....
Allerdings habe ich eben erst überlegt, ob ich die Beispiele besser auf deine Testplatine anpassen sollte.
Das jetzige Beispiel bezieht sich also noch auf MEINEN Testaufbau!
Hier mal die Anschlussskizze:
Achtung: Ich habe die LED`s jetzt an Port.D und nicht mehr an B !
Jetzt noch der Programmcode zum Ausprobieren dazu:
Code:
'Testprogramm-2 für Jordy
$regfile = "m8adef.dat" 'Controllerdatei
$crystal = 1000000 'interner Taktgeber
$hwstack = 32 'größe HW-Stack
$swstack = 32 'größe SW-Stack
$framesize = 64 'größe Framesize
' ---------------ATMega8----------------
' +---v---+
' (RESET) PC6 |1 28| PC5 (ADC5/SCL)
' LED_1-------(RXD) PD0 |2 27| PC4 (ADC4/SDA)
' LED_2-------(TXD) PD1 |3 26| PC3 (ADC3)
' LED_3------(INT0) PD2 |4 25| PC2 (ADC2)
' LED_4------(INT1) PD3 |5 24| PC1 (ADC1)
' LED_5----(XCK/T0) PD4 |6 23| PC0 (ADC0)
' VCC |7 22| GND
' GND |8 21| AREF
' (XTAL1/TOSC1) PB6 |9 20| AVCC
' (XTAL2/TOSC2) PB7 |10 19| PB5 (SCK)----------ISP
' LED_6--------(T1) PD5 |11 18| PB4 (MISO)---------ISP
' LED_7------(AIN0) PD6 |12 17| PB3 (MOSI/OC2)-----ISP
' LED_8------(AIN1) PD7 |13 16| PB2 (SS/OC1 B)
' (ICP1) PB0 |14 15| PB1 (OC1A)
' +-------+
'*************************************************************
'Pins am Port B konfigurieren
'Port-Bit-7654_3210
' |||| ||||
Ddrb = &B_1111_1011 '1 ist Ausgang 0 ist Eingang
Portb = &B0000_0100 'auf Hi oder Low setzen
' Pin0=
' Pin1=
' Pin2=
' Pin3= MOSI
' Pin4= MISO
' Pin5= SCK
' Pin6=
' Pin7=
'*************************************************************
'Pins am Port C konfigurieren
Ddrc = &B_00_0000 '1 ist Ausgang 0 ist Eingang
Portc = &B11_1111 'auf Hi oder Low setzen
'*************************************************************
'Pins am Port D konfigurieren
Ddrd = &B_1111_1111 '1 ist Ausgang 0 ist Eingang
Portd = &B0000_0000 'auf Hi oder Low setzen
' Pin0= LED_1
' Pin1= LED_2
' Pin2= LED_3
' Pin3= LED_4
' Pin4= LED_5
' Pin5= LED_6
' Pin6= LED_7
' Pin7= LED_8
'*************************************************************
'Variablen, Konstanten, Alias erstellen-----------------------
Led_1 Alias Portd.0 'Alias-Namen vergeben
Led_2 Alias Portd.1 'Alias-Namen vergeben
Led_3 Alias Portd.2 'Alias-Namen vergeben
Led_4 Alias Portd.3 'Alias-Namen vergeben
Led_5 Alias Portd.4 'Alias-Namen vergeben
Led_6 Alias Portd.5 'Alias-Namen vergeben
Led_7 Alias Portd.6 'Alias-Namen vergeben
Led_8 Alias Portd.7 'Alias-Namen vergeben
Const Ein = 1 'Konstante einstellen
Const Aus = 0 'Konstante einstellen
Dim I As Byte 'Indexzähler
Dim Flag As Bit 'ein einzelnes Bit
'Programmschleife*********************************************
Do
If Flag = 0 Then 'Wenn FLAG eine NULL hat, dann....
Led_8 = Ein 'LED 8 einschalten
Led_7 = Aus 'LED 7 ausschalten
Else 'wenn FLAG nicht NULL ist, dann...
Led_8 = Aus 'LED 8 ausschalten
Led_7 = Ein 'LED 7 einschalten
End If
Toggle Flag 'Wert umkehren
'TOGGLE bewirkt bei einem BIT das "Umschalten" des Wertes.
'Bei einem BIT gibt es nur NULL oder EINS !
'TOGGLE wechselt also bei jedem Aufruf den Zustand zwischen NULL und EINS
Waitms 500 'Kleine Pause
Loop
End 'end program
Du kannst dir ja mal ein paar Gedanken zum Ablauf in der DO-LOOP Schleife machen und anschließend schauen, was passiert!
Grüße,
Cassio