Pic c Lite programı olan biri acil yardım etsin lütfen!

Katılım
15 Nis 2008
Mesajlar
24
Puanları
1
Yaş
37
Mrb arkadaşlar, acil olarak yapmam gereken bi devre var. Nette bir uygulamasını buldum ama pic c lite ile yazılmış, bende micro c var. micro c'de hex dosyası oluşturmayı biliyorum ama pic c lite'ta bir türlü bulamadım. pic c lite, MPLAB kurdum beceremedim. Pic c lite programı olan birisi buraya kopyalacağım programı hex dosyası haline getirirse çok makbule geçer. Bende programı 12f675'e atabilirim.

#include <pic.h>

#include <delay.c>

#include <stdio.h>

#define BLED GPIO0 // Mavi LED GPIO0'a bağlı

#define GLED GPIO1 // Yeşil LED GPIO1'e bağlı

#define RLED GPIO2 // Kırmızı LED GPIO2'ye bağlı



// Konfigürasyon ayarları

// Dahili osilatör seçili, MCLR direnci yok

__CONFIG(MCLRDIS&WDTDIS&PWRTEN&INTIO);



void bekle(void){ // 1s'lik gecikme alt programı

unsigned char i;

for(i=0;i<5;i++){

DelayMs(200);

}

}

// Ton ve Toff süresi kadar bekle (Ton+Toff=10ms)

void bekle_on(unsigned char i){

unsigned char a;

for(a=0;a<i;a++){

DelayUs(39);

}

}

void bekle_off(unsigned char i){

unsigned char a;

for(a=0;a<255-i;a++){

DelayUs(39);

}

}

// ANA PROGRAM

main(void){

unsigned char i;



// Port ayarları

TRISIO=0x00; // Portların hepsini çıkış seç

CMCON=0x07; // Portları sayısal I/O olarak ayarla

ANSEL=0;

GPIO=0; // başlangıçta bütün çıkışları lojik 0 yap



// 3 ana rengi, 3 ara rengi ve beyaz rengi oluştur

RLED=1;GLED=0;BLED=0; bekle(); //Kırmızı

RLED=0;GLED=1;BLED=0; bekle(); //Yeşil

RLED=0;GLED=0;BLED=1; bekle(); //Mavi

RLED=1;GLED=1;BLED=0; bekle(); //Sarı

RLED=1;GLED=0;BLED=1; bekle(); //Mor

RLED=0;GLED=1;BLED=1; bekle(); //Turkuaz

RLED=1;GLED=1;BLED=1; bekle(); //Beyaz



GPIO=0;

// PWM sinyalinin görev periyodunu arttırıp azaltarak

// ışık şiddetini değiştir

// Adım adım kırmızı LED'in parlaklığını arttır

for(i=1;i<255;i++){

RLED=1;

bekle_on(i); // Ton süresi kadar bekle

RLED=0;

bekle_off(i); // Toff süresi kadar bekle

}



// Adım adım kırmızı LED'in parlaklığını azalt

for(i=255;i>0;i--){

RLED=1;

bekle_on(i); // Ton süresi kadar bekle

RLED=0;

bekle_off(i); // Toff süresi kadar bekle

}

} // Program sonu
 

Yeni mesajlar

Forum istatistikleri

Konular
128,189
Mesajlar
915,720
Kullanıcılar
449,957
Son üye
sezercakmak

Yeni konular

Geri
Üst