Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
brevbärar-orre
Inlägg: 22
Blev medlem: 21 december 2011, 17:24:33

Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av brevbärar-orre »

Hej! först vill jag bara säga att det är ett sjukt bra forum som jag fick mycket hjälp av när jag skrev mitt PA i gymnasiet!

Men nu till frågan, jag har suttit och försökt förstå mig på knappen i samband med lysdioderna på PICkit 2 starter kit och jag använder MikroC.

Jag vill att diod DS1 ska lysa, sedan när jag trycker in knappen(SW1) ska diod DS2 lysa, vilket jag till viss del har lyckats med, problemet är att när jag trycker på knappen så lyser samma diod, när jag däremot vrider på potentiometern (RP1) och sedan trycker på knappen funkar det som jag vill. Det verkar som att jag har triggat RP1 som input och att SW1 bara nollställer allt.

Det som jag har nu ser ut som följande:

Kod: Markera allt

  void main() {
 ANSEL=0;
 ANSELH=0;


  TRISA=0xF7;     //knapp? verkar vara rp1..
  TRISC=0x00;   
   while(1);
    do{
   if(porta==0x00){

   PORTC=0x01;      // DS1 på
    }

  else{
     portc=0x02;   //DS2 på
      }
  }
}

Jag kan förvarna att jag är nybörjare på PIC-programmering, men jag har försökt MASSA olika saker och kollat på andra trådar och andra forum, men jag får helt enkelt inte till det..

Tack på förhand!
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av Icecap »

Kretskortet som följer med är lite dumt på det vis! SW1 är kopplat till -MCLR - som ju även kan väljas som ingång, det är dock oftast enklare att ha den som extern Reset/VPP för att förenkla programmeringen.

Alltså skulle jag kraftigt rekommendera att du montera en annan knapp eller skär en ledare och flyttar den, då blir livet en del enklare.

Sedan är din avkänning av bit'en ganska dålig! Om vi utgår ifrån att knappen är PORTB.5 (rätt eller inte kvittar) bör du kolla:
if(PORTB & (1 << 5))
Detta kollar enbart den bit och inte hela porten.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av sodjan »

Har du kollat schemat i "Low Pin Count Demo Board User’s Guide" ?
Om inte så är det dags att göra det... :-)

Där ser du att potten också ligger på samma I/O pinne, och om du
vrider den i ena ändläget så lågger den jord på RA0. I andra läget
kopplas knappen till RA0 (förutsatt ett JP5 inte är "on").

Notera också att knappen även är kopplad till RESET/MCLR, så för att det
över huvudtaget ska fungera så måste "internal MCLR" vara aktivierat.

Icecap's kommenterar är ju också korrekta, men jag antog att du ville
köra som det är utan att börja bugga om kortet... :-)
brevbärar-orre
Inlägg: 22
Blev medlem: 21 december 2011, 17:24:33

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av brevbärar-orre »

Jag håller med om att det är lite knasigt kopplat, men jag skulle vilja ha lite mer kött på benen innan jag börjar trixa med kretskortet:)
Jag har inte hållt på så fasligt mycket men jag ser det som en process i att lära mig mer:)

Ah jag har kollat på schemat, problemet ligger just i att dom ligger på samma pinne, men jag har kollat andra koder som följde med paketet och dem använder sig bara av knappen så ja tänkte att "på något sätt måste det ju funka".

Men hur gör man då för att ta bort knappen från RESET/MCLR?

peace
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av sodjan »

Kolla t.ex i de koder som använder knappen !?
Och har du kollat att de demokoderna använder RA0 ?
Inte RA3 ?
brevbärar-orre
Inlägg: 22
Blev medlem: 21 december 2011, 17:24:33

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av brevbärar-orre »

Hehe jo jag har kollat dem, men dem var skrivna i assembler, och jag kikade igenom för lite inspiration och prövade lite, men jag kunde inte få det att stämma ändå..

I den så triggade dem porta som 0xF7, så ja skrev TRISA=0xF7 osv men samma sak uppstod..

nej ursäkta dem triggade porta som 0xff men sedan gjorde dem porta=0xf7 som digital istället(ja kollade nu vad det stod i den koden)
brevbärar-orre
Inlägg: 22
Blev medlem: 21 december 2011, 17:24:33

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av brevbärar-orre »

Demokoderna använder RA3, men hur sätter man på "internal MCLR" så att knappen inte är kopplad till reset då? :)

Peace
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av sodjan »

Vilkan av koderna 01-12 tittar du på ?

Jag kollade lite snabbt på "PICkit 2 Lesson 6 - Switch Debounce" och
den använder RA3. "__config" raden visar ju vad de gör. Frågor på det ?
brevbärar-orre
Inlägg: 22
Blev medlem: 21 december 2011, 17:24:33

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av brevbärar-orre »

Yes de e samma som ja kollat på.

Aha okej ja i __config står det _MCLRE_OFF, antar att det är det som är grejen.

Men vad är det i min kod som jag ska ändra för att att stänga av MCLRE (i C)? :)

haha ursäkta nybörjarfrågorna, men nu tror jag att jag förstår vad som är felet i min kod iaf :)

Jag kör på RA3 som input då oxo:)

peace
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med lysdiod+knapp-kod i PICkit 2(mikroC)

Inlägg av sodjan »

Ja, du får helt enkelt ta reda på hur man sätter CONFIG bitarna när
man använder MirkoC. Hur man gör i MPASM ser du ju i demo koderna.

Jag gillar inte Mikroelektronikas prylar, främst för deras soppiga dokumentation.
Hur man kan låta bli att beskriva CONFIG inställningarna både i MikroC och
i MikroC Pro manualerna förstår jag bara inte. Kanske att det finns någon
separat dokumentation för själva IDE'n som används? Jag tänker inte leta.

Jag tycker också att det är ett dåligt val att börja med en ett "främmande"
verktyg till ett "Starter kit" som kommer komplett med ett antal demo projekt.
Varför inte bara tacka för det och köra med dom spm de är? Varför över
huvudtaget blanda in MikroC i det hela?

EDIT:
Efter lite sökande på Mikroelektronikas site hittade jag detta :
http://www.mikroe.com/esupport/index.ph ... ticleid=31.

Säger "Also, you can change configuration bits of the selected chip in the Edit Project window" någonting ?
Skriv svar