Hi,
Mit dem Debounce-Befehl würde ich nicht arbeiten, damit habe ich mich
schon tagelang rumgeärgert. Mein Codevorschlag wäre folgendermassen:
1 | $regfile = "m8def.dat"
|
2 | $crystal = 4000000
|
3 |
|
4 | Config PORTD = Output
|
5 |
|
6 | Config Lcd = 16 * 2
|
7 | Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
|
8 | Config Lcdbus = 4
|
9 |
|
10 |
|
11 | Config PIND.6 = Input
|
12 | Config PIND.7 = Input
|
13 |
|
14 | portd.6 = 1 'Pullups einschalten
|
15 | portd.7 = 1
|
16 |
|
17 | Taster1 Alias Pind.6
|
18 | Taster2 Alias Pind.7
|
19 |
|
20 |
|
21 | Initlcd
|
22 | Cursor Off Noblink
|
23 |
|
24 | Cls
|
25 | Locate 1 , 3
|
26 | Lcd "Demo-Screen"
|
27 | Locate 2 , 4
|
28 | Lcd "TMPC1-LCD"
|
29 |
|
30 | Do
|
31 |
|
32 | if taster1 = 0 then
|
33 | goto Taster1
|
34 | end if
|
35 |
|
36 | if taster2 = 0 then
|
37 | goto Taster2
|
38 | end if
|
39 |
|
40 | Loop
|
41 |
|
42 | End
|
43 |
|
44 | Taster_1:
|
45 | Cls
|
46 | Locate 1 , 1
|
47 | Lcd "Taster 1 wurde"
|
48 | Locate 2 , 1
|
49 | Lcd "gedrueckt"
|
50 | while taster1 = 0
|
51 | waitms 10 'Entprellen
|
52 | wend
|
53 | Return
|
54 |
|
55 | Taster_2:
|
56 | Cls
|
57 | Locate 1 , 1
|
58 | Lcd "Taster 2 wurde"
|
59 | Locate 2 , 1
|
60 | Lcd "gedrueckt"
|
61 | while taster2 = 0
|
62 | waitms 10 'Entprellen
|
63 | wend
|
64 | Return
|
Hoffe, ich konnte helfen!
mfg,
Cyberlink