Hallo,
kann mir jemand einen gefallen tun?
Ich hab hier ein PIC18f4550
verwende dazu einen 20MHz Quartz und habe drei Schalter an (RE0, RE1,
RE2) angeschlossen, dazu sind noch an den PORT's RC2 RB6 & RB7 LED's
angeschlossen.
Ich Programmiere in Microchip C18
Nun kurz zum Programm und desen Funktion:
Taster 1 einmal drücken LED1 leuchtet (RC2)
Taster 1 nocheinmal drucken LED1 geht wieder aus
Taster 2 einmal drücken LED2 leuchtet (RB6)
Taster 2 nocheinmal drucken LED2 geht wieder aus
Taster 3 einmal drücken LED1 leuchtet (RB7)
Taster 3 nocheinmal drucken LED3 geht wieder aus
Die Taster sind über Pullup und einem Vorwiderstand an den Ports
angschlossen und werden gegen GND geschaltet
Betriebspg: 5V
Ich habe mal ein bischen versucht:
1 | /** I N C L U D E S **********************************************************/
|
2 | #include <p18cxxx.h>
|
3 |
|
4 |
|
5 | /** Configuration ********************************************************/
|
6 | #pragma config FOSC = HS //CPU=20 MHz
|
7 | #pragma config PWRT = ON
|
8 | #pragma config BOR = OFF
|
9 | #pragma config WDT = OFF //Watchdog Timer
|
10 | #pragma config LVP = OFF //Low Voltage ICSP
|
11 |
|
12 |
|
13 | #define led1 LATBbits.LATB7
|
14 | #define led2 LATBbits.LATB6
|
15 | #define led3 LATCbits.LATC
|
16 |
|
17 |
|
18 | #define taster1 PORTEbits.RE0
|
19 | #define taster2 PORTEbits.RE1
|
20 | #define taster3 PORTEbits.RE2
|
21 |
|
22 |
|
23 | /** D E C L A R A T I O N S **************************************************/
|
24 | #pragma code
|
25 |
|
26 | void main(void)
|
27 | {
|
28 | TRISB = 0;
|
29 | TRISC = 0;
|
30 | TRISE = 1;
|
31 |
|
32 |
|
33 | while(1)
|
34 | {
|
35 | if (taster1 == 1) {
|
36 | led1 = 1;
|
37 | } else {
|
38 | led1 = 0;
|
39 | }
|
40 | if (taster2 == 1) {
|
41 | led2 = 1;
|
42 | } else {
|
43 | led2 = 0;
|
44 | }
|
45 | if (taster3 == 1) {
|
46 | led3 = 1;
|
47 | } else {
|
48 | led3 = 0;
|
49 | }
|
50 | }
|
51 | }
|
Leider Funktioniert es nicht (das die LEDs nicht anbleiben beim drücken
ist mir klar (dazu ist das Programm "noch" nicht im Stande... :)))
Kann mir Jemand helfen BITTE
MfG
Maximilian