bbs2006
Üye
- Katılım
- 13 Kas 2006
- Mesajlar
- 245
- Puanları
- 1
- Yaş
- 48
Merhaba
4 butonlu12 voltulk dc lambanın parlaıklıgını azaltıp artırmak istiyorum..1 butona bastıgım zaman %25 artacak. tekrar 1. butona bastıgım zaman parlaklık azalacak. 1. butona satıktan sonra 2. butona bastıgım zaman parlaklık %50 artacak. 2. butona tekrar bastıgım zaman parlaklık azalacak. %25 düşecek. diğer butonlarad aynı bu şekilde çalışacak. buna ait bir program yazdım. programda bir sıkıntı var. bir bakabilirseniz sevinirim.
#include<16f628a.h>
#fuses intrc,nowdt,noprotect,nowdt,noprotect
#use delay(clock=4000000)
void main(){
setup_ccp1(ccp_pwm);
setup_timer_2(T2_DIV_BY_16,624,1);
set_pwm1_duty(0);
a:
if (input(pin_a0)==1){
set_pwm1_duty(625);
delay_ms(10);
goto kd1;
}
else
goto a;
kd1:
if (input(pin_a0)==1){
set_pwm1_duty(0);
delay_ms(10);}
else
m:
if (input(pin_a1)==1){
set_pwm1_duty(1250);
delay_ms(10);
goto kd2;
}
else
goto a;
kd2:
if (input(pin_a1)==1){
set_pwm1_duty(625);
delay_ms(10);}
else
r:
if (input(pin_a2)==1){
set_pwm1_duty(1875);
delay_ms(10);
goto kd3;
}
else
goto r;
kd3:
if (input(pin_a2)==1){
set_pwm1_duty(1250);
delay_ms(10);}
else
t:
if (input(pin_a3)==1){
set_pwm1_duty(2500);
delay_ms(10);
goto kd4;
}
else
goto t;
kd4:
if (input(pin_a3)==1){
set_pwm1_duty(1875);
delay_ms(10);}
}
100 hz için pwm değeri
%25 için 625
%50 1250
%75 1875
%100 2500 değerleririn alıyor.
4 butonlu12 voltulk dc lambanın parlaıklıgını azaltıp artırmak istiyorum..1 butona bastıgım zaman %25 artacak. tekrar 1. butona bastıgım zaman parlaklık azalacak. 1. butona satıktan sonra 2. butona bastıgım zaman parlaklık %50 artacak. 2. butona tekrar bastıgım zaman parlaklık azalacak. %25 düşecek. diğer butonlarad aynı bu şekilde çalışacak. buna ait bir program yazdım. programda bir sıkıntı var. bir bakabilirseniz sevinirim.
#include<16f628a.h>
#fuses intrc,nowdt,noprotect,nowdt,noprotect
#use delay(clock=4000000)
void main(){
setup_ccp1(ccp_pwm);
setup_timer_2(T2_DIV_BY_16,624,1);
set_pwm1_duty(0);
a:
if (input(pin_a0)==1){
set_pwm1_duty(625);
delay_ms(10);
goto kd1;
}
else
goto a;
kd1:
if (input(pin_a0)==1){
set_pwm1_duty(0);
delay_ms(10);}
else
m:
if (input(pin_a1)==1){
set_pwm1_duty(1250);
delay_ms(10);
goto kd2;
}
else
goto a;
kd2:
if (input(pin_a1)==1){
set_pwm1_duty(625);
delay_ms(10);}
else
r:
if (input(pin_a2)==1){
set_pwm1_duty(1875);
delay_ms(10);
goto kd3;
}
else
goto r;
kd3:
if (input(pin_a2)==1){
set_pwm1_duty(1250);
delay_ms(10);}
else
t:
if (input(pin_a3)==1){
set_pwm1_duty(2500);
delay_ms(10);
goto kd4;
}
else
goto t;
kd4:
if (input(pin_a3)==1){
set_pwm1_duty(1875);
delay_ms(10);}
}
100 hz için pwm değeri
%25 için 625
%50 1250
%75 1875
%100 2500 değerleririn alıyor.