Vizitator Anubis Postat Noiembrie 24, 2004 Partajează Postat Noiembrie 24, 2004 As vrea sa stiu si eu mai multe despre acest microcontroler . Poate cineva sa ma ajute cu ceva documentaii sau exemple de programe in c pt acest pic ? am un programator pt acesta. sunt incepator . va multumesc Link spre comentariu
Vizitator alex Postat Noiembrie 24, 2004 Partajează Postat Noiembrie 24, 2004 Datasheet-ul Si te mai ajuta si http://www.microchipc.com Later edit. Si daca esti incepator "de tot" http://www.mikroelektronika.co.yu/roman ... icbook.htm Nu te uita ca e 16F84 pentru ca 16F876 e compatibil pana la un moment dat cu el. Link spre comentariu
Vizitator Anubis Postat Noiembrie 24, 2004 Partajează Postat Noiembrie 24, 2004 ok mersi mult si da sunt incepator de tot stiu c++ dar n-am idee cum se manaca PIC-urile asa ca poate o sa mai am nevoie de ajutor daca nu te deranjaza , sa mai arunci cate o priviree pe aici poate ma mai poti ajuta cu cate ceva . Mersi Link spre comentariu
Vizitator Anubis Postat Noiembrie 25, 2004 Partajează Postat Noiembrie 25, 2004 se pare ca nu se mai uita nimeni pe aici sau nu vrea nimeni sa ma ajute ... asa ca stergeti topicul ca e in plus . Link spre comentariu
cirip Postat Noiembrie 25, 2004 Partajează Postat Noiembrie 25, 2004 Citat nu vrea nimeni sa ma ajuteAsta-i chiar culmea! Intreaba nene ceva mai concret! Daca ar fi sa toarne cineva aici toata documentatia care se gaseste pe tema lui F876, n-ar mai fi loc in FTP. Trebuie sa citesti. Invatatul este o activitate individuala, nu colectiva. Chiar daca ti-ar scrie cineva aici tot ceea ce stie despre F876, tot ar trebui sa citesti. RTFM! - cum spun linuxistii.Uita-te si tu cam ce si mai ales cum intreaba cei care au primit raspuns si vezi daca e vreo asemanare cu ceea ce intrebi tu.Cirip Link spre comentariu
Filipone Postat Noiembrie 25, 2004 Partajează Postat Noiembrie 25, 2004 http://forum.izatech.ro/viewtopic.php?t=2619 Programatoare pentru el. Daca ai citit acea carte ti-ai dat seama ca trebuie programat. http://www.picant.com/c2c/download.html Compilatorul acesta mi s-a parut mai eficient. Este beta deci ai rabdare cu el. Iti ofera un simulator frumos si exemple muuulte. Cum mai zicea cineva pe forum: "Google este prietenul tau!" Ia-ti "datashitul" de la producator si citeste despre procesor. Porneste cu leduri(activezi dezactivezi biti din porturi si faci jocuri de lumina) ca exemplu si continui cu timerul intern, watchdog, generare de sunet, LCD, USART... Prima oara cand m-am apucat de PIC-uri (acum un an) am ars un 16F84A si m-am lasat(Fum frate! :lol: ). Apoi in vara m-am apucat iar... si acum sunt la periferice(USART, paralel...) si trebuie sa impac perifericele cu BAC-ul(Nu e prea greu). Hai Bafta! 8) Link spre comentariu
bogdanm Postat Noiembrie 26, 2004 Partajează Postat Noiembrie 26, 2004 Anubis a spus: se pare ca nu se mai uita nimeni pe aici sau nu vrea nimeni sa ma ajute ... asa ca stergeti topicul ca e in plus .Fara suparare, dar daca mai pui un post de felul asta ti le sterg pe toate. Ce-i aia ca "nu vrea nimeni sa te ajute"? Vrei sa scrie cineva un roman despre PIC special pentru tine? Iei frumusel manualul si incepi sa-l citesti. Cauta tutorial-uri pe net, ca d-aia ai ditamai netu la dispozitie. Forumul NU este din categoria "mura-n gura", e pentru rezolvarea unor probleme deosebite. RTFM :evil: Link spre comentariu
Filipone Postat Noiembrie 26, 2004 Partajează Postat Noiembrie 26, 2004 bogdanm a spus: Anubis a spus: se pare ca nu se mai uita nimeni pe aici sau nu vrea nimeni sa ma ajute ... asa ca stergeti topicul ca e in plus .Fara suparare, dar daca mai pui un post de felul asta ti le sterg pe toate. Ce-i aia ca "nu vrea nimeni sa te ajute"? Vrei sa scrie cineva un roman despre PIC special pentru tine? Iei frumusel manualul si incepi sa-l citesti. Cauta tutorial-uri pe net, ca d-aia ai ditamai netu la dispozitie. Forumul NU este din categoria "mura-n gura", e pentru rezolvarea unor probleme deosebite. RTFM :evil:Offtopic: Nu fii ma rau. Desi ai dreptate nu trebuie abordat omul asa. Link spre comentariu
cirip Postat Noiembrie 26, 2004 Partajează Postat Noiembrie 26, 2004 As completa cu faptul ca ar fi si ptr mura in gura, dar cu conditia ca cel interesat sa arate putina preocupare, nu abordari de genul: as vrea sa ma apuc, dar nu stiu ce sa fac..., dati-mi voi idei, spuneti-mi in 2 vorbe ca n-am chef sa citesc...Sau chestia care ma oftica cel mai tare e cand te straduiesti sa il ajuti pe unul, il intrebi cateva detalii si nu mai raspunde, nici macar un multumesc sau am lasat-o balta nu mai zice; te lasa cu ochii in soare si te intrebi: pentru ce mi-am pierdut timpul?Cirip Link spre comentariu
Vizitator Anubis Postat Decembrie 1, 2004 Partajează Postat Decembrie 1, 2004 imi pare rau baieti , recunosc , aveti dreptate deci am citit data sheetul , ceva ceva am inteles eu de acolo ... mi-am luat PICC si ICPROG ,mi-am facut un montaj (sa nu radeti) un buton, un led, si vreau ca in momentul cand butonul este apasat sa aprind ledul ... am scris eu un program dar nush daca e bine . arata cam asa : #include <16F876.H>#fuses PROTECT, XT, NOWDT, NOLVP#use delay (clock = 4000000)byte b1;void main(){ disable_interrupts(GLOBAL); set_rtcc(0); setup_counters(RTCC_INTERNAL, RTCC_DIV_64); enable_interrupts(RTCC_ZERO);////// end TMR0 enable_interrupts(GLOBAL); b1 = input(PIN_C0); // citesc statusul butonului if (b1 == 1) { output_high(PIN_B6); // aprind led } if (b1 == 0) { output_low(PIN_B6); // sting led }} Link spre comentariu
Vizitator alex Postat Decembrie 1, 2004 Partajează Postat Decembrie 1, 2004 #define PIC16F876#include <pic.h>__CONFIG(WDTDIS & PWRTEN & XT & UNPROTECT & DEBUGDIS & BORDIS & LVPDIS & WRTDIS);#define PORTBIT(adr, bit) ((unsigned)(&adr)*8+(bit))static bit buton @ PORTBIT(PORTC, 0);static bit led @ PORTBIT(PORTB, 6);main(void){ TRISB=0x00; // portul B setat ca iesiri TRISC=0xFF; //portul C setat ca intrari PORTB=0; for (; ;) { if (button==1) led=1; else led=0; }}sau in ciclul for inlocuiesti tot if-ul cu led=buton; Link spre comentariu
bogdanm Postat Decembrie 1, 2004 Partajează Postat Decembrie 1, 2004 Anubis, e OK, nici eu nu am folosit un limbaj potrivit situatiei. Scuze si din partea mea. In ceea ce priveste programul, e foarte important sa ne spui exact ce vrei sa faca si ce compilator folosesti (IAR cumva?). alex a dat o varianta care nu e chiar echivalenta cu a ta. La tine PIC-ul citeste o singura data starea butonului si seteaza LED-ul. Apoi trebuie reinitializat pentru a executa din nou programul. Programul lui alex face citire buton/setare led intr-o bucla infinita. Asa ca depinde foarte mult ce vrei sa faci. Chiar si cand e vorba doar despre un LED si un intrerupator Link spre comentariu
Vizitator Anubis Postat Decembrie 2, 2004 Partajează Postat Decembrie 2, 2004 pai compiler folosesc PCW Compiler ... cat despre program eu vreau sa faca chestia aia intr-o bucla infinita. headerul arata cam asa : //////// Standard Header file for the PIC16F876 device ////////#device PIC16F876#nolist/////////////////////////////// I/O definitions for INPUT() and OUTPUT_xxx()#define PIN_A0 40#define PIN_A1 41#define PIN_A2 42#define PIN_A3 43#define PIN_A4 44#define PIN_A5 45#define PIN_B0 48#define PIN_B1 49#define PIN_B2 50#define PIN_B3 51#define PIN_B4 52#define PIN_B5 53#define PIN_B6 54#define PIN_B7 55#define PIN_C0 56#define PIN_C1 57#define PIN_C2 58#define PIN_C3 59#define PIN_C4 60#define PIN_C5 61#define PIN_C6 62#define PIN_C7 63/////////////////////////////// Useful defines#define FALSE 0#define TRUE 1#define BYTE int#define BOOLEAN short int#define getc getch#define getchar getch#define puts(s) {printf(s); putchar(13); putchar(10);}#define putc putchar/////////////////////////////// Constants used for RESTART_CAUSE()#define WDT_FROM_SLEEP 0#define WDT_TIMEOUT 8#define MCLR_FROM_SLEEP 16#define NORMAL_POWER_UP 24/////////////////////////////// Constants used for SETUP_COUNTERS()#define RTCC_INTERNAL 0#define RTCC_EXT_L_TO_H 32#define RTCC_EXT_H_TO_L 48#define RTCC_DIV_2 0#define RTCC_DIV_4 1#define RTCC_DIV_8 2#define RTCC_DIV_16 3#define RTCC_DIV_32 4#define RTCC_DIV_64 5#define RTCC_DIV_128 6#define RTCC_DIV_256 7#define WDT_18MS 8#define WDT_36MS 9#define WDT_72MS 10#define WDT_144MS 11#define WDT_288MS 12#define WDT_576MS 13#define WDT_1152MS 14#define WDT_2304MS 15#define L_TO_H 0x40#define H_TO_L 0#define RTCC_ZERO 0x0B20 // Used for ENABLE/DISABLE INTERRUPTS#define INT_RTCC 0x0B20 // Used for ENABLE/DISABLE INTERRUPTS#define RB_CHANGE 0x0B08 // Used for ENABLE/DISABLE INTERRUPTS#define INT_RB 0x0B08 // Used for ENABLE/DISABLE INTERRUPTS#define EXT_INT 0x0B10 // Used for ENABLE/DISABLE INTERRUPTS#define INT_EXT 0x0B10 // Used for ENABLE/DISABLE INTERRUPTS#define GLOBAL 0x0BC0 // Used for ENABLE/DISABLE INTERRUPTS///////////////////////////////////// Constants used for Timer1 and Timer2#define T1_DISABLED 0#define T1_INTERNAL 5#define T1_EXTERNAL 7#define T1_EXTERNAL_SYNC 3#define T1_CLK_OUT 8#define T1_DIV_BY_1 0#define T1_DIV_BY_2 0x10#define T1_DIV_BY_4 0x20#define T1_DIV_BY_8 0x30#byte TIMER_1_LOW= 0x0e#byte TIMER_1_HIGH= 0x0f#define T2_DISABLED 0#define T2_DIV_BY_1 4#define T2_DIV_BY_4 5#define T2_DIV_BY_16 6#byte TIMER_2= 0x11#define INT_TIMER1 0x8C01 // Used for ENABLE/DISABLE INTERRUPTS#define INT_TIMER2 0x8C02 // Used for ENABLE/DISABLE INTERRUPTS//////////////////////////////////// Constants used for SETUP_CCP1()#define CCP_OFF 0#define CCP_CAPTURE_FE 4#define CCP_CAPTURE_RE 5#define CCP_CAPTURE_DIV_4 6#define CCP_CAPTURE_DIV_16 7#define CCP_COMPARE_SET_ON_MATCH 8#define CCP_COMPARE_CLR_ON_MATCH 9#define CCP_COMPARE_INT 0xA#define CCP_COMPARE_RESET_TIMER 0xB#define CCP_PWM 0xC#define CCP_PWM_PLUS_1 0x1c#define CCP_PWM_PLUS_2 0x2c#define CCP_PWM_PLUS_3 0x3clong CCP_1;#byte CCP_1 = 0x15#byte CCP_1_LOW= 0x15#byte CCP_1_HIGH= 0x16#define INT_CCP1 0x8C04 // Used for ENABLE/DISABLE INTERRUPTS//////////////////////////////////// Constants used for SETUP_CCP2()long CCP_2;#byte CCP_2 = 0x1B#byte CCP_2_LOW= 0x1B#byte CCP_2_HIGH= 0x1C#define INT_CCP2 0x8D01 // Used for ENABLE/DISABLE INTERRUPTS//////////////////////////////////// Constants used in SETUP_SSP()#define SPI_MASTER 0x20#define SPI_SLAVE 0x24#define SPI_L_TO_H 0#define SPI_H_TO_L 0x10#define SPI_CLK_DIV_4 0#define SPI_CLK_DIV_16 1#define SPI_CLK_DIV_64 2#define SPI_CLK_T2 3#define SPI_SS_DISABLED 1#define INT_SSP 0x8C08 // Used for ENABLE/DISABLE INTERRUPTS#define SPI_SAMPLE_AT_END 0x8000#define SPI_XMIT_L_TO_H 0x4000#define INT_RDA 0x8C20 // Used for ENABLE/DISABLE INTERRUPTS#define INT_TBE 0x8C10 // Used for ENABLE/DISABLE INTERRUPTS///////////////////////////////////// Constants used for SETUP_ADC_PORTS()#define NO_ANALOGS 0x86 // None#define ALL_ANALOG 0x80 // RA0 RA1 RA2 RA3 RA5 RE0 RE1 RE2 Ref=Vdd#define ANALOG_RA3_REF 0x81 // RA0 RA1 RA2 RA5 RE0 RE1 RE2 Ref=RA3#define A_ANALOG 0x82 // RA0 RA1 RA2 RA3 RA5 Ref=Vdd#define A_ANALOG_RA3_REF 0x83 // RA0 RA1 RA2 RA5 Ref=RA3#define RA0_RA1_RA3_ANALOG 0x84 // RA0 RA1 RA3 Ref=Vdd#define RA0_RA1_ANALOG_RA3_REF 0x85 // RA0 RA1 Ref=RA3#define ANALOG_RA3_RA2_REF 0x88 // RA0 RA1 RA5 RE0 RE1 RE2 Ref=RA2,RA3#define ANALOG_NOT_RE1_RE2 0x89 // RA0 RA1 RA2 RA3 RA5 RE0 Ref=Vdd#define ANALOG_NOT_RE1_RE2_REF_RA3 0x8A // RA0 RA1 RA2 RA5 RE0 Ref=RA3#define ANALOG_NOT_RE1_RE2_REF_RA3_RA2 0x8B // RA0 RA1 RA5 RE0 Ref=RA2,RA3#define A_ANALOG_RA3_RA2_REF 0x8C // RA0 RA1 RA5 Ref=RA2,RA3#define RA0_RA1_ANALOG_RA3_RA2_REF 0x8D // RA0 RA1 Ref=RA2,RA3#define RA0_ANALOG 0x8E // RA0#define RA0_ANALOG_RA3_RA2_REF 0x8F // RA0 Ref=RA2,RA3///////////////////////////////////// Constants used for SETUP_ADC()#define ADC_OFF 0#define ADC_CLOCK_DIV_2 1#define ADC_CLOCK_DIV_8 0x41#define ADC_CLOCK_DIV_32 0x81#define ADC_CLOCK_INTERNAL 0xc1#define ADC_DONE 0x8C40 // Used for ENABLE/DISABLE INTERRUPTS#define INT_ADC 0x8C40 // Used for ENABLE/DISABLE INTERRUPTS#define INT_EEPROM 0x0B10 // Used for ENABLE/DISABLE INTERRUPTS#list Sorry ca am aruncat tot carnatul asta aici ... Link spre comentariu
aghora17 Postat Decembrie 6, 2004 Partajează Postat Decembrie 6, 2004 pai daca headerul arata asa, mi-e si frica sa ma gandesc cum arata softul. http://ww1.microchip.com/downloads/en/D ... 33023a.pdf asta s-ar putea sa iti fie de folos. la ea fac aluzie baietii de la microchip in toate datasheeturile. daca cineva mai are intrebari dupa ce a inteles asta, ii sugerez sa se lase... sper ca nu v-ati pierdut simtul umorului... Link spre comentariu
Vizitator cristianpaius Postat Februarie 11, 2005 Partajează Postat Februarie 11, 2005 pentru incepatori, si nu numai, recomand totusi PIC BASIC PRO. citeste manualul lui si pune mana pe letcon.. e un limbaj excelent.. bogdanm: mutati discutia despre 2.43 pe private, va rog Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum