nån som e haj på PIC o assembler
Re: nån som e haj på PIC o assembler
Det var nog jag, en länk till microchip, enkelt, gå in på dras sida, äh wtf.
http://www.microchip.com/stellent/idcpl ... wCompilers
Design/Development tools/compilers där hittar du HITECH-C för PIC16 och lägre, samt MCC för PIC18 och högre, du kan dock behöva registrera dig.
Du behöver nog använda IE, då deras hemsida funkar dåligt med andra, vad det verkar.
http://www.microchip.com/stellent/idcpl ... wCompilers
Design/Development tools/compilers där hittar du HITECH-C för PIC16 och lägre, samt MCC för PIC18 och högre, du kan dock behöva registrera dig.
Du behöver nog använda IE, då deras hemsida funkar dåligt med andra, vad det verkar.
Re: nån som e haj på PIC o assembler
Hej!
Nu börjar det närma sig starten.
PIC16F690 har 3 I/O portar som kallas PORTA, PORTB och PORTC. Sidan 11 i databladet innehåller blockschema på CPU:n och i övre högre hörnet finns portarna. Dessa portarna har var och en 6, 4 respektive 8 bitar. PORTA och PORTB har bland annat en funktion som kallas Interrrupt On Change. Detta betyder i klartext att den har en så kallad avbrottfunktion på dessa två portar.
Hur denna avbrottfunktion fungerar skall vi titta på senare men du skall ansluta switcharna på två av pinnarna på PORTB och då förslagsvis RB4 och RB5. Bägge dessa portar behöver så kallade pull-up motstånd och du kan använda 10 kOhm för dessa. Det kan även vara bra med 1kOhm till porten också.
Så här skall du koppla:
När du lödit switchar och motstånd så skall du läsa allt om portarna i avsnitt 4.0 som startar på sidan 59. Lysdioderna är anslutna till PORTC, RC0 - RC3 och dessa skall initieras till output i kontrollregistret för PORTC. Du skall inte skriva något program just nu men det är bra om du ritar kontrollregistret på ett papper och skriver de värde i controlregistret som sätter RC0 - RC3 som output. Du ser i databladet om det skall vara en nolla (0) eller en etta (1) i respektive kontrollbit.
Adressen till kontrollregistret för portarna finns definierad i en så kallad headerfil i C och du skall söka i dokumentationen vilket namn denna headerfil har. Du skall även kolla i dokumentationen om du kan hitta en programstomme att utgå från men det skulle kunna se ut som nedan. Jag är inte hundra på att alla nödvändiga bitar är satt i _CONFIG(...) men saknas någon eller om det är någon som inte behövs så kanske TomasL eller Sodjan kan komplettera eller ta bort.
helloworld.c
--------------
I C finns det två sätt att kommentera i programkoden och det är dels två snedstreck "// kommentar" och dels snedstreck, stjärna, snedstreck "/* kommentar */"
Nu börjar det närma sig starten.
PIC16F690 har 3 I/O portar som kallas PORTA, PORTB och PORTC. Sidan 11 i databladet innehåller blockschema på CPU:n och i övre högre hörnet finns portarna. Dessa portarna har var och en 6, 4 respektive 8 bitar. PORTA och PORTB har bland annat en funktion som kallas Interrrupt On Change. Detta betyder i klartext att den har en så kallad avbrottfunktion på dessa två portar.
Hur denna avbrottfunktion fungerar skall vi titta på senare men du skall ansluta switcharna på två av pinnarna på PORTB och då förslagsvis RB4 och RB5. Bägge dessa portar behöver så kallade pull-up motstånd och du kan använda 10 kOhm för dessa. Det kan även vara bra med 1kOhm till porten också.
Så här skall du koppla:
Kod: Markera allt
RB4 --- 1kOhm --- 10KOhm --- +V
|
---- Switch --- GND
Kod: Markera allt
RB5 --- 1kOhm --- 10KOhm --- +V
|
---- Switch --- GND
Adressen till kontrollregistret för portarna finns definierad i en så kallad headerfil i C och du skall söka i dokumentationen vilket namn denna headerfil har. Du skall även kolla i dokumentationen om du kan hitta en programstomme att utgå från men det skulle kunna se ut som nedan. Jag är inte hundra på att alla nödvändiga bitar är satt i _CONFIG(...) men saknas någon eller om det är någon som inte behövs så kanske TomasL eller Sodjan kan komplettera eller ta bort.
helloworld.c
--------------
Kod: Markera allt
#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS);
void main() {
ANSEL = 0; // Läs i databladet vad som menas med ANSEL
// Initiera kontrollregistret (TRISC) för PORTC
// Tänd någon av lysdioderna som är ansluten till PORTC i bit 0 - 3 (RC0 - RC3)
while (true) {
// Oändlig loop som måste finnas i alla program som körs utan operativsystem
}
}
Re: nån som e haj på PIC o assembler
> Du behöver nog använda IE, då deras hemsida funkar dåligt med andra, vad det verkar.
Vems hemsida? Microchip's? Jag har aldrig haft något problem med Firefox.
> nån skrev om en grej man skulle installera vid sidan av mblab när man avänder C iställer för assembler... fanns länk o allt..
Ja, det skrev någon, men det är (delvis) fel. C-kompilatorn ingår i MPLAB kitet (alltså MPLAB 8, vilket
sannolikt är enklast att börja med). Bara att svar "ja" på frågan om du även vill installera C-kompilatorn
så startsa HiTech installtionen. Och det är inte antingen eller, både ASM och C installeras tillsammans.
Du väljer sedan från projekt till projekt vilket du vill använda (C eller ASM, kallas "tool-chain").
Vems hemsida? Microchip's? Jag har aldrig haft något problem med Firefox.
> nån skrev om en grej man skulle installera vid sidan av mblab när man avänder C iställer för assembler... fanns länk o allt..
Ja, det skrev någon, men det är (delvis) fel. C-kompilatorn ingår i MPLAB kitet (alltså MPLAB 8, vilket
sannolikt är enklast att börja med). Bara att svar "ja" på frågan om du även vill installera C-kompilatorn
så startsa HiTech installtionen. Och det är inte antingen eller, både ASM och C installeras tillsammans.
Du väljer sedan från projekt till projekt vilket du vill använda (C eller ASM, kallas "tool-chain").
Re: nån som e haj på PIC o assembler
Undrar om det kan vara lämpligt att installera en separat PC vid arbetsplatsen?teljemo skrev:jupp.. this is the place to be säter =)
Brukar ni ha en dator på elektronikbänken?
Re: nån som e haj på PIC o assembler
[quote="labmaster"]
Jag har modifierat koden så att den kompilerar med "HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.83" som installeras med MPLAB om man väljer det.
Kod: Markera allt
#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & BORDIS & IESODIS & FCMDIS);
void main() {
ANSEL = 0; // Läs i databladet vad som menas med ANSEL
// Initiera kontrollregistret (TRISC) för PORTC
// Tänd någon av lysdioderna som är ansluten till PORTC i bit 0 - 3 (RC0 - RC3)
while (true) {
// Oändlig loop som måste finnas i alla program som körs utan operativsystem
}
}
Kod: Markera allt
#include <htc.h>
/*Config beskrivning finns i pic16f690.h*/
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF);
#define true 1
void main(void) {
ANSEL = 0; // Läs i databladet vad som menas med ANSEL
// Initiera kontrollregistret (TRISC) för PORTC
// Tänd någon av lysdioderna som är ansluten till PORTC i bit 0 - 3 (RC0 - RC3)
while (true) {
// Oändlig loop som måste finnas i alla program som körs utan operativsystem
}
}
Re: nån som e haj på PIC o assembler
HITECH-C följde viss med när man installerade mblab.. vet inte var de hamnar dock.. der va inget programman kunde öppna fr sig.. så et är la nåt plugin till mblab.. men hitta de inte där inne heller...
Re: nån som e haj på PIC o assembler
Du skriver ju själva koden som vanligt.
Sedan ser du till att projektet har rätt "tool-chain" valt.
Det gör du i projektinställningarna någonstans.
*Om* du installerade HiTech i samband med MPLAB installationen
så ska det finnas ett alternativ för HiTech verktygen.
HiTech är ingen separat pryl som du startar någonstans. Du
kör editering och "build" precis som vid ASM och det som händer
är att C-kompilatorn anropas istället för MPASM. Men det sker med
automatik i bakgrunden av MPLAB när du klickar på "build"...
Sedan ser du till att projektet har rätt "tool-chain" valt.
Det gör du i projektinställningarna någonstans.
*Om* du installerade HiTech i samband med MPLAB installationen
så ska det finnas ett alternativ för HiTech verktygen.
HiTech är ingen separat pryl som du startar någonstans. Du
kör editering och "build" precis som vid ASM och det som händer
är att C-kompilatorn anropas istället för MPASM. Men det sker med
automatik i bakgrunden av MPLAB när du klickar på "build"...
Re: nån som e haj på PIC o assembler
Skapa ett projekt, med wizarden, välj sedan tool-suite under project menyn.
Sedan väljer du om du skall bygga release eller debug, i detta läget blir det debug, därefter väljer du debugger, du skall också välja device under configure.
Sedan väljer du om du skall bygga release eller debug, i detta läget blir det debug, därefter väljer du debugger, du skall också välja device under configure.
Re: nån som e haj på PIC o assembler
Om jag bara vill testa MPLAB-SIM, dvs inget fysiskt anlutet till datorn, är det "PICkit 2 v2.61 Install" som ska installeras då?
Re: nån som e haj på PIC o assembler
SIM är en intern simulator i MPLAB, det behövs så vitt jag vet
ingen programmerare alls för att *enbart* köra SIM. Så svaret
borde vara "nej". Det du anger är det fristående programmet
till PICkit2 och har ingenting med SIM att göra alls...
ingen programmerare alls för att *enbart* köra SIM. Så svaret
borde vara "nej". Det du anger är det fristående programmet
till PICkit2 och har ingenting med SIM att göra alls...
Re: nån som e haj på PIC o assembler
Jag antar att det är "MPLAB-IDE" jag ska ha.
Undrar var man finner den hos Microchip?
Undrar var man finner den hos Microchip?
Re: nån som e haj på PIC o assembler
Normalt så klickar man bara p "MPLAB IDE" på förstasidan, men
just nu verkar det vara lite rörigt på deras site. Det verkar som att
de håller på och gör MPLAB X till deras förstaval för MPLAB, MPLAB 8
är för tillfället lite svårtillgängligt (ja, det verkar inte fungera alls).
Om 10 minuter (den håller på och kopieras) kommer det senaste MPLAB8 kittet att
finnas här : "http://jescab2.dyndns.org/pub_docs/mplab_ide_8_83.zip".
EDIT: Kopiering klar. Hämta filen ovan och testa!
just nu verkar det vara lite rörigt på deras site. Det verkar som att
de håller på och gör MPLAB X till deras förstaval för MPLAB, MPLAB 8
är för tillfället lite svårtillgängligt (ja, det verkar inte fungera alls).
Om 10 minuter (den håller på och kopieras) kommer det senaste MPLAB8 kittet att
finnas här : "http://jescab2.dyndns.org/pub_docs/mplab_ide_8_83.zip".
EDIT: Kopiering klar. Hämta filen ovan och testa!
Re: nån som e haj på PIC o assembler
Tackar för det.
Det förklarar varför länken hos Microchip inte var "klickbar".
Det förklarar varför länken hos Microchip inte var "klickbar".
Re: nån som e haj på PIC o assembler
Sen så kan man ju undra om man ska köra "8" eller "X" av MPLAB.
Min personliga rekomendation är "8" ett tag till, "X" verkar inte helt
stabil, jag har haft en del underligheter under de veckor jag har
försökt att använda den. Konstiga hängningar och så där.
Själva miljön i sig är också lite mer komplex (NetBeans) än den gamla.
Så mitt tips blir att hålla sig till 8'an tillsvidare.
Min personliga rekomendation är "8" ett tag till, "X" verkar inte helt
stabil, jag har haft en del underligheter under de veckor jag har
försökt att använda den. Konstiga hängningar och så där.
Själva miljön i sig är också lite mer komplex (NetBeans) än den gamla.
Så mitt tips blir att hålla sig till 8'an tillsvidare.
- SeniorLemuren
- Inlägg: 8426
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: nån som e haj på PIC o assembler
Angående HI-TECH C som lev. med MPLAB så lade jag in en länk tidigare i tråden till Gooligum Electronics. Den kanske kom bort i bruset.
Där visas hur det funkar ihop med MPLAB. Det är även ett antal tutorials som är helt från grunden från blinkande diod och vidare. De är i PDF-format så du kan ladda ner rubbet till datorn. Sedan kan du köra allt i MPLAB:s simulator i fall du vill mjukstarta. Alla exemplen finns även att ladda ner som assembler tutorials ifall du klickar på Tutorials i menyn till vänster på deras site. Kolla där så är du igång på ett nafs.
Där visas hur det funkar ihop med MPLAB. Det är även ett antal tutorials som är helt från grunden från blinkande diod och vidare. De är i PDF-format så du kan ladda ner rubbet till datorn. Sedan kan du köra allt i MPLAB:s simulator i fall du vill mjukstarta. Alla exemplen finns även att ladda ner som assembler tutorials ifall du klickar på Tutorials i menyn till vänster på deras site. Kolla där så är du igång på ett nafs.
