Je vous présente mon problème. Je débute en programmation en sur PIC et je n’arrive pas a allumer une LED (toute les pattes du PIC reste à 0). J’ai bien sur essayé plusieurs codes sur plusieurs compilateurs mais rien ne marche.
Voici mon montage électronique. A la mise sous tension, seul D2 est allumé. Je vous joins un code compilé sous HITEC.
Savez vous d'où viens le problème? le code, le montage?
Code:#include <htc.h> #include "delay.h" void init(void); __CONFIG(MCLREN & UNPROTECT & WDTDIS ); void main() { int h; char i, j; init(); ANSEL = 0; // Configure AN pins as digital I/O ANSELH = 0; PORTA = 0; // initialize PORT as output TRISA = 0; PORTB = 0; TRISB = 0; PORTC = 0; TRISC = 0; PORTE = 0; TRISE = 0; OSCCON = 0b01100000; j = 4; do { h++; PORTB = 0xFF; PORTA = 0xFF; PORTC = 0xFF; PORTE = 0xFF; } while (1); } void init(void){ /***** Common Code **** * CCP Module 1 interrupt disabled. */ PIE1 = 0b00000000; /* * Portbit7:4 interrupt-on-change enabled * Peripheral interrupts not enabled * Global interrupt disabled during initialization */ INTCON = 0b00001000; /* * CCP Module 2 interrupt disabled. */ PIE2 = 0b00000000; /* * Weak pullup on PORT enabled */ OPTION = 0b00000000; /* * Port directions: 1=input, 0=output */ TRISC = 0b00000000; /***** 16F884 Code **** * Internal oscillator set to 4MHz */ OSCCON = 0b01100000; /***** CCP Module 1 Code **** * CCP Module 1 disabled * CCP Module 1 in PWM mode * Output cleared on match */ CCP1CON = 0b00101001; /* * DutyCycle set to 0.25 uSec */ CCPR1L = 0b00000010; /***** CCP Module 2 Code **** * CCP Module 2 disabled * CCP Module 2 in PWM mode * Output cleared on match */ CCP2CON = 0b00101001; /* * DutyCycle set to 0.25 uSec */ CCPR2L = 0b00000010; /***** PortA Code **** * Port directions: 1=input, 0=output */ TRISA = 0b00000000; /***** PortD Code **** * Port directions: 1=input, 0=output */ TRISD = 0b00000000; /***** PortE Code **** * Port directions: 1=input, 0=output */ TRISE = 0b00000000; // ei(); // Global interrupts enabled }
-----