Nochmal....
Hier mal das erweitere Programm...vielleicht interessiert es ja mal jemanden...
Code:
'###################################################
'step3.bas.BAS
'für
'RoboterNetz.de AVR Tutorial in RN-Wissen
'
'Autor: Frank Brall
'Weitere Beispiele und Beschreibung der Hardware
'unter
' http://www.Roboternetz.de oder
' http://www.Roboternetz.de/wissen
'#######################################################
$regfile = "m16def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
Config Portb.7 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.7 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.6 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.6 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.5 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.5 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.4 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.4 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.3 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.3 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.2 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.2 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.1 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.1 = Input 'Ein Pin (PA0) wird als Eingang definiert
Config Portb.0 = Output 'Ein Pin wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
Config Pina.0 = Input 'Ein Pin (PA0) wird als Eingang definiert
Do
If Pina.7 = 1 Then
Portb.7 = 1
Waitms 100
Portb.7 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.7 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.6 = 1 Then
Portb.6 = 1
Waitms 100
Portb.6 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.6 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.5 = 1 Then
Portb.5 = 1
Waitms 100
Portb.5 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.5 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.4 = 1 Then
Portb.4 = 1
Waitms 100
Portb.4 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.4 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.3 = 1 Then
Portb.3 = 1
Waitms 100
Portb.3 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.3 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.2 = 1 Then
Portb.2 = 1
Waitms 100
Portb.2 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.2 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.1 = 1 Then
Portb.1 = 1
Waitms 100
Portb.1 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.1 = 0 'Pin wird auf Low, also 0V geschaltet
End If
If Pina.0 = 1 Then
Portb.0 = 1
Waitms 100
Portb.0 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
'Pin wird auf High, also 5V geschaltet
Else
Portb.0 = 0 'Pin wird auf Low, also 0V geschaltet
End If
Loop
End
Hierbei lässt sich schön erkennen, wie der Microcontroller das Programm der Reihe nach abarbeitet. Aber wie könnte ich das Programm ändern damit alle gleichzeitig aufblinken?
Lesezeichen