Zdravim Vas,
mam takovy problem a netusim, kde by mohl byt. Mam jednoduchy program na ovladani kompresoru pomoci uP PIC12F683, kde pouzivam 3 piny (GP0 - spinani kompresoru, GP1 - stavova LED, GP2 - tlacitko). Kod vypada takto:
// PIC 12F683
// Casove spinani kompresoru
#include <htc.h>
#define _XTAL_FREQ 4000000
#define airPump GP0
#define led GP1
#define button GP2
int status = 0;
// Fuse bity
__CONFIG(FCMEN_OFF & IESO_OFF & BOREN_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_OFF & WDTE_OFF & FOSC_INTOSCIO);
// inicializace
void init() {
// TRISIO
TRISIO0 = 0;
TRISIO1 = 0;
TRISIO2 = 1;
// ANSEL
ANS2 = 0;
}
// spusteni programu
void start() {
airPump = 0;
led = 0;
__delay_ms(2000);
for (int i = 10; i > 0; i--) {
if (status == 1) {
led = 0;
status = 0;
} else {
led = 1;
status = 1;
}
__delay_ms(100);
}
for (;;) {
if (button == 1) {
__delay_ms(1000);
if (button == 1) {
break;
}
}
}
airPump = 1;
led = 1;
while (button == 1);
for (;;) {
if (button == 1) {
__delay_ms(1000);
if (button == 1) {
break;
}
}
}
airPump = 0;
led = 0;
while (button == 1);
__delay_ms(1000);
}
// hlavni program
void main() {
init();
start();
for (;;) {
}
}
A ted jak to funguje. Po zapojeni napajeni, se po 2 sekundach rozblika stavova dioda (5x se rozviti a zhasne). Po te ceka na stusknuti tlacitka po dobu 1 sekundy, kdy se zapne kompresor a rozne se stavova LED. Po sem je to OK az na to, ze na vystupu GP0 (kompresor) nic neni. LED sviti spravne, ale kdyz ji pripojim na GP0 tak nesviti a sviti by mela. Nevite v cem by mohl byt problem?