Jag använder 16f690 och pickit2 och exprimentkortet.
Här är koden:
Kod: Markera allt
#include <pic.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & UNPROTECT & BORDIS & IESODIS & FCMDIS);
//Function----------------------------------------------------------------------------------------------------------------------------------------
#define FOSC 8000000L // Using Internal Clock of 8 Mhz
#define delay_us(x) { unsigned char us; \
us = (x)/(12000000/FOSC)|1; \
while(--us != 0) continue; }
void delay_ms(unsigned int ms) {
unsigned char i;
do {
i = 4;
do {
delay_us(164);
} while(--i);
} while(--ms);}
//--------------------------------------------------------------------------------------------------------------------------------------------------
void main(void) {
OSCCON=0x70; // Select 8 Mhz internal clock
ADON=0;
ANSEL = 0; // Set PORT ANS0 to ANS7 as Digital I/O
ANSELH = 0; // Set PORT ANS8 to ANS11 as Digital I/O
TRISC = 0b000000; // 1=input 0=output
TRISA = 0b111111; // PORTA input
for(;;) {
if(RA3==1) { PORTC = 0b0110; }
else if(RA3==0){ PORTC = 0b1001; }
} // end loop
} // end main
Jag vill att pic'en ska tända led i mitten om knappen är intryckt annars på siderna.
Hurfår jag till det?