sacred_knight
Üye
- Katılım
- 15 Nis 2008
- Mesajlar
- 24
- Puanları
- 1
- Yaş
- 38
Mrb arkaşlar 5m'lik bir şerit led sürmek için bir devre tasarısı ve pic programı var elimde, bu devre ile sizce şerit ledi sürebilir miyim?
unsigned int sayac=0,dongu,x,y,a; // z döngü sayısı
/******/
void interrupt()
{sayac++;
INTCON.INTF=0;}
/******/
void ayarlar()
{
ANSEL = 0; // analog girişler kapatıldı.
OPTION_REG = 0x00; // int kesmesi pozitif kenar seçildi
INTCON.GIE = 1; // Genel kesmelere izin verildi
INTCON.INTE = 1; // int kesmesine zizin verildi
TRISIO=0x04 ;
GPIO=0x00 ;
}
/***/
void RGB()
{
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(200);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(150);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(100);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(80);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(50);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(30);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(20);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(10);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(8);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(6);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(3);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(3);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(5);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(8);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(20);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(40);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(80);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(200);
GPIO=y;
delay_us(1);
}
/***************************/
/************/
}
/*****************/
void main()
{
ayarlar();
for( ; ; )
{
if( sayac==0){
a=5000;
x=0x01;
y=0x00;
RGB();
x=0x11;
y=0x01;
RGB();
x=0x13;
y=0x02;
RGB();
x=0x13;
y=0x12;
RGB();
x=0x13;
y=0x01;
RGB();
x=0x13;
y=0x11;
RGB();
}
if(sayac==1){GPIO=1 ;}
if(sayac==2){GPIO=2 ;}
if(sayac==3){GPIO=16 ;}
if(sayac==4){GPIO=18 ;}
if(sayac==5){GPIO=19 ;}
if(sayac==6){GPIO=17 ;}
if(sayac==7){GPIO=3 ;}
if(sayac==8)sayac=0;
}
}
unsigned int sayac=0,dongu,x,y,a; // z döngü sayısı
/******/
void interrupt()
{sayac++;
INTCON.INTF=0;}
/******/
void ayarlar()
{
ANSEL = 0; // analog girişler kapatıldı.
OPTION_REG = 0x00; // int kesmesi pozitif kenar seçildi
INTCON.GIE = 1; // Genel kesmelere izin verildi
INTCON.INTE = 1; // int kesmesine zizin verildi
TRISIO=0x04 ;
GPIO=0x00 ;
}
/***/
void RGB()
{
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(200);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(150);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(100);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(80);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(50);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(30);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(20);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(10);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(8);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(6);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(3);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(1);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(3);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(5);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(8);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(20);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(40);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(80);
GPIO=y;
delay_us(1);
}
for(dongu=0;dongu<a;dongu++) {
GPIO=x;
delay_us(200);
GPIO=y;
delay_us(1);
}
/***************************/
/************/
}
/*****************/
void main()
{
ayarlar();
for( ; ; )
{
if( sayac==0){
a=5000;
x=0x01;
y=0x00;
RGB();
x=0x11;
y=0x01;
RGB();
x=0x13;
y=0x02;
RGB();
x=0x13;
y=0x12;
RGB();
x=0x13;
y=0x01;
RGB();
x=0x13;
y=0x11;
RGB();
}
if(sayac==1){GPIO=1 ;}
if(sayac==2){GPIO=2 ;}
if(sayac==3){GPIO=16 ;}
if(sayac==4){GPIO=18 ;}
if(sayac==5){GPIO=19 ;}
if(sayac==6){GPIO=17 ;}
if(sayac==7){GPIO=3 ;}
if(sayac==8)sayac=0;
}
}