sky2
24.08.2010, 19:01
Hi zusammen,
Wollte letzte Woche mein eigen zusammengebasteltes PIC16F887 Board testen.
Leider will der uC nicht so recht. Zuerst hab ich einfach mal alle Ausgänge gesetzt und die Leds geprüft, das passt auch.
Als nächstes war dann ein Lauflicht dran, was einfach nicht funktionieren will. Das Programm ist ein altes Beispiel für den
PIC16F690 (da funktionierts), daran hab ich nichts geändert, da ich keine Unterschiede im Datenblatt fand.
Die Led an PORTC 0 leuchtet und manchmal geht sie mal ne Sekunde aus
oder auch länger, manchmal blizt sie auch etwas auf. Kurz, sie macht was sie will. Die anderen Leds sind immer aus.
Hier noch der Code:
#include <pic.h>
void delay10( char n);
void main( void)
{
TRISC = 0;
while(1)
{
PORTC = 1;
delay10(100);
PORTC = 2;
delay10(100);
PORTC = 4;
delay10(100);
PORTC = 8;
delay10(100);
}
}
void delay10( char n)
{
char i;
OPTION = 7;
do {
i = TMR0 + 39; /* 256 microsec * 39 = 10 ms */
while ( i != TMR0)
;
} while ( --n > 0);
}
Config1 11 1111 1111 0101 -> interner Takt
Config2 111
Könnte der uC eventuell auch defekt sein?
Ach ja, ich progge mit Windows7, Mplab 8.56 und PicKit2
Vielen Dank schon mal
Wollte letzte Woche mein eigen zusammengebasteltes PIC16F887 Board testen.
Leider will der uC nicht so recht. Zuerst hab ich einfach mal alle Ausgänge gesetzt und die Leds geprüft, das passt auch.
Als nächstes war dann ein Lauflicht dran, was einfach nicht funktionieren will. Das Programm ist ein altes Beispiel für den
PIC16F690 (da funktionierts), daran hab ich nichts geändert, da ich keine Unterschiede im Datenblatt fand.
Die Led an PORTC 0 leuchtet und manchmal geht sie mal ne Sekunde aus
oder auch länger, manchmal blizt sie auch etwas auf. Kurz, sie macht was sie will. Die anderen Leds sind immer aus.
Hier noch der Code:
#include <pic.h>
void delay10( char n);
void main( void)
{
TRISC = 0;
while(1)
{
PORTC = 1;
delay10(100);
PORTC = 2;
delay10(100);
PORTC = 4;
delay10(100);
PORTC = 8;
delay10(100);
}
}
void delay10( char n)
{
char i;
OPTION = 7;
do {
i = TMR0 + 39; /* 256 microsec * 39 = 10 ms */
while ( i != TMR0)
;
} while ( --n > 0);
}
Config1 11 1111 1111 0101 -> interner Takt
Config2 111
Könnte der uC eventuell auch defekt sein?
Ach ja, ich progge mit Windows7, Mplab 8.56 und PicKit2
Vielen Dank schon mal