Forum: Mikrocontroller und Digitale Elektronik Programm schreiben mit MPLAB 8.70


von Jan O. (jan_123)


Lesenswert?

Hallo,

brauche dringend Hilfe. Muss ein Programm schreiben mit MPLAB, meine 
Aufgabe ist; mit zwei Taster (up und down) Auf und Abwärts-Zählen 
erstmal mit acht LED´s, ich benutze den PIC16F887. Tasten sollen bei 
kurzem Tastendruck ein Schritt und bei längerem Tastendruck schnell hoch 
Zählen.

Bin noch Neuling darin und weiß nicht wie ich anfangen soll.
Danke schon mal für jede Hilfe.

: Verschoben durch Admin
von Teo D. (teoderix)


Lesenswert?


von Jan O. (jan_123)


Lesenswert?

sprut.de ist mir bekannt und hat mir leider nicht weiter geholfen. Die 
35 Befehle für MPLAB weiß ich.

von Dario B. (Gast)


Lesenswert?

na dann: top-down-entwurf oder bottom-up ;-)

von Lamy (Gast)


Lesenswert?

- Erstelle die Configuration des Pic (Config1, COnfig2,...)

in der Main:
- Initialisere deine SFRs
         - ANSELX, TRISX, LATX (oder PORTX), OPTION_REG, INTCON
         - Wenn du mit Timer arbeiten willst: TMR0

in der Main_Loop:
Für den Anfang reicht es wenn dein Programm irgendwas tut:
wenn du die "Up" Taste drückst, soll LED1 leuchten, sonst nicht
wenn du die "Down" Taste drückst, soll LED2 leuchten, sonst nicht

Bsp:
1
#define UP_TASTER   0b00000001  // BIT0 von PORTX
2
3
#define DWN_TASTER   0b00000010  // BIT1 von PORTX
4
5
#define LED1   0b01000000  // BIT6 von LEDPORTX
6
7
#define LED2   0b10000000  // BIT7 von LEDPORTX
8
9
if((PORTX & UP_TASTER) == TRUE)
10
{
11
  LEDPORTX = LEDPORTX | LED1;     // set LED
12
}
13
else
14
{
15
  LEDPORTX = LEDPORTX & (~LED1);   // Clr LED
16
}
17
18
//Das gleiche bei DWN_Taster
19
// wenn es funktioniert kannst dann erweitern mit Tasterentprellung und Zähler

Oder machst du es in Assembler?

von Jan O. (jan_123)


Lesenswert?

Ja, ich mach es in Assembler. Das enprellen der Tasten muss ich auch 
noch lösen.

Danke schon mal für eure Info´s

von Erich (Gast)


Lesenswert?

>Ja, ich mach es in Assembler.

Viel Spaß!

Gruss

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.