Re: Nybörjarhjälp till pickit 2 sökes
Postat: 16 juni 2009, 21:42:03
Ja. All sån information hittar du i databladet för din PIC.Crille93 skrev:Finns det något blad någonstans så man kan se vad dom 20 benen heter?
Svenskt forum för elektroniksnack.
https://elektronikforumet.com/forum/
Ja. All sån information hittar du i databladet för din PIC.Crille93 skrev:Finns det något blad någonstans så man kan se vad dom 20 benen heter?
Kod: Markera allt
#include <pic.h> /* HI-TECH PICC C Kompilatorns egen header fil som länkar */
/* vidare till rätt pic:s header/include-fil */
/*
* LED Diod Blink
* Blinkar med en diod på PORTC PINNE 0, "RC0"
* RC0 är tändtråd för DS1 på "PICKit Low Pin Count Demo Board"
* och tänder dioden genom att sluta mot +5V/VDD
* Koppling: 0V/VSS --> DS1(LED) --> R3(470 Ohm) --> RC0;
*
* Koden testad på ovan nämnt demo-kort med PIC16F690.
* Koden får användas fritt och på egen risk.
*
*/
#ifndef _XTAL_FREQ
/* Om klockfrekvensen inte är definierad så gör det här */
#define _XTAL_FREQ 4000000
/* detta gör man för att kalibrera __delay_us() and __delay_ms() */
#endif
#define DIOD RC0 /* Tala om för kompilatorn att du har ett namn eller symbol */
/* för pinnen som heter RC0 som heter "DIOD" */
main(void)
{
ANSEL = 0; /* Inga analoga funktioner på, bara digitala (1/0) */
ANSELH = 0;
PORTC = 0; /* Rensa PORTC, hela porten till 0 */
TRISC = 0;
/*
"TRIS" bestämmer riktning på portar och dess pinnar
dvs. input/output. I det här fallet är PORTC:s pinne
tändtråd för DS1, dvs en output.
TRIS "0" betyder output och "1" betyder input.
För PORTC blir det alltså TRISC = 0
*/
while(1) /* Oändlig loop "1" är alltid "1", dvs sant. */
{
DIOD = 1; /* Tänder lysdioden på RC0 genom att sluta mot +5V/VDD */
__delay_ms(100); /* __delay_ms() är en inbyggd funktion för att göra en paus på x millisekunder*/
__delay_ms(100); /* låter DIOD vara "1" i ca 1/3 sekund.*/
__delay_ms(100);
DIOD = 0; /* Släcker lysdioden PÅ RC0 */
__delay_ms(100); /* se ovan */
__delay_ms(100); /* låter DIOD vara "0" i ca 1/3 sekund.*/
__delay_ms(100);
/*------------ Koden nedan gör samma sak men på ett annat sätt---------------------------*/
PORTC = 0b00000001; /* PORTC har åtta pinnar som vardera representerar
* en bit dess register och vi vet att vi vill blinka dioden med Pin 0
* så vi väljer den pinnen/biten i binär form med genom
*
* *-------------------------------------------------*
* * "0b(binär) RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0" *
* * " 0 0 0 0 0 0 0 1 *
* *-------------------------------------------------*
*
* att välja den som 1 dvs "på" eftersom den sluter mot +5V/VDD och
* därför tänder dioden. De andra pinnarna kan vara vad som helst.
* I det här exemplet låter vi de vara "0"
*/
__delay_ms(100); /* se ovan*/
__delay_ms(100);
__delay_ms(100);
PORTC = 0b00000000; /* Släcker lysdioden */
__delay_ms(100); /* se ovan*/
__delay_ms(100);
__delay_ms(100);
} /* Här tar while loopen slut - och börjar om igen!*/
}
Måste starta nånstans...sodjan skrev:>
Varför nöja dig med "lite" ?