Forum: Mikrocontroller und Digitale Elektronik Erstes AVR Projekt fertig


von Matthias T. (matthias_199)


Lesenswert?

Ja also für die die sich an mich erinnern is alles kla,
für die die das nicht tun uch hab mich zum einstieg in avr und bascom 
einen zähler gebaut der die schüsse meiner Paintbalwaffe zählt.
In der nächsten zeit verbau ich alles in die Waffe dan lad ich vlt noch 
Bilder hoch.

So
Aber was ich jetzt schon präsentieren kann ist der programmcode.
1
$regfile "m8def.dat"
2
$crystal = 1000000
3
4
Config Portd = Output
5
Config Portb.0 = Input
6
Config Portb.1 = Output
7
Config Portb.2 = Output
8
Config Portb.7 = Output
9
Portb.0 = 1
10
Portb.1 = 0
11
Portb.2 = 1
12
Portb.7 = 1
13
Dim Hundert As Byte
14
Dim Zener As Byte
15
Dim Einer As Byte
16
Hundert = 0
17
Zener = 0
18
Einer = 0
19
Dim Pressed As Bit
20
Pressed = 0
21
Dim Dis(10) As Byte
22
Dis(1) = &B00000010
23
Dis(2) = &B11101010
24
Dis(3) = &B00110000
25
Dis(4) = &B10100000
26
Dis(5) = &B11001100
27
Dis(6) = &B10000101
28
Dis(7) = &B00000101
29
Dis(8) = &B11100010
30
Dis(9) = &B00000000
31
Dis(10) = &B10000000
32
Config Timer0 = Timer , Prescale = 64
33
Enable Timer0
34
On Timer0 Anezige_aktuall
35
Enable Interrupts
36
37
38
Do
39
   While Pressed = 1
40
      If Pinb.0 = 1 Then Pressed = 0
41
      If Pinb.0 = 0 Then Pressed = 1
42
      Portb.1 = 1
43
   Wend
44
   If Pinb.0 = 0 Then
45
      Pressed = 1
46
      Einer = Einer + 1
47
   End If
48
   If Einer = 10 Then
49
         Zener = Zener + 1
50
         Einer = 0
51
   End If
52
   If Zener = 10 Then
53
      Hundert = Hundert + 1
54
      Zener = 0
55
   End If
56
   If Hundert = 10 Then
57
      Hundert = 0
58
      Zener = 0
59
      Einer = 0
60
   End If
61
Loop
62
63
Anezige_aktuall:
64
   Portb.1 = 0
65
   Portb.2 = 1
66
   Portb.7 = 1
67
   Portd = Dis(hundert + 1)
68
   Waitms 4
69
   Portb.1 = 1
70
   Portb.2 = 0
71
   Portb.7 = 1
72
   Portd = Dis(zener + 1)
73
   Waitms 4
74
   Portb.1 = 1
75
   Portb.2 = 1
76
   Portb.7 = 0
77
   Portd = Dis(einer + 1)
78
Return

Lob un kritik sind erwünscht^^
Wobei ich mich doch darüber freuen würde zu erfahren was ich hätte 
besser machen können.
Und da fragen sich jetz sicher einige warum ich Portb.7 und nicht 3 
benutzt habe.
Nun erstens war ich mir nicht sicher ob das einfach so geht, zweitens 
wollte ich den ISP anschluss nicht he machen oder sonst was schrotten.

MFG Matthias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.