16f877a pwm Frekans 1–10 Hz, darbe süresi 200–300 µs, akım yoğunluğu 50–60 mA

Başlatan point_blank, 25 Aralık 2012, 21:53:20

point_blank

merhaba arkadaşlar ben ccs c ile pwm oluşturmak istiyorum ve pwm cıkısını opamp ile yukseltmek istiyorum 12 volt cıkıs verecek şekilde fakat bir türlü pwm yi ayarlayamıom 10 hz darbe süresi 200ms akım yogunluğu 50 ma bu degrleri nasıl ayarlayabilirim lütfen yardım edin (pwm1)

uveren

6.yüzyılda doğan kız çocuklar cahilce gömülüyordu. 21.yüzyılda kız/erkek farketmeden, doğamadan medenice öldürülüyor.  "1-Güneş katlanıp dürüldüğünde, 2-Yıldızlar bulandığında, 3-Dağlar yürütüldüğünde, 4-Kıyılmaz mallar bırakıldığında, 5-Vahşi hayvanlar bir araya toplandığında, 6-Denizler ateşlendiğ

point_blank

verdiğiniz bilgi için tesekkürler ama ben bunu yazılımla nasıl ayarlayacam biraz yazılım kısmında sıkıntım var yardım edermisiniz örneğin 10 hz i 100 ms de bir nasıl oluşturabilirim örnek yapabileceğim üstünde çalışıp öğrenecebileceğim bir koda koyarmısınız

mesaj birleştirme:: 25 Aralık 2012, 22:21:10

benim istediğim dalga şekli bu şekilde olmalı bunu nasıl yapabilirim


mesaj birleştirme:: 25 Aralık 2012, 22:23:07

veya bu şekildede olabilir
Frekans 100–150 Hz, süre 150–250 µs, yazılımda ayarlayamıom set_pwm1_duty var ama ne işe yarar bilmiom netten bakıom anlamıom


mesaj birleştirme:: 25 Aralık 2012, 22:24:58

benim kodlarım bu şekilde

#include <16F877A.h>
#device adc=10

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected


#use delay(clock=4000000)

#include <LCDD.c> //



void main()
{
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_2(T2_DIV_BY_16, 156, 1);   

   setup_ccp1(CCP_PWM);
   setup_ccp2(CCP_OFF);
 
    lcd_init();

 
while(true)
{
if(input(pin_a1)==1)
{

printf(lcd_putc," \f YAVAS   ");
   
   setup_timer_2(T2_DIV_BY_16, 156, 1);
   
    set_pwm1_duty(20);
}
   while(input(pin_a1)==1){}

 
if(input(pin_a2)==1)
{

printf(lcd_putc," \f ORTA   ");
setup_timer_2(T2_DIV_BY_16, 156, 1);
   
    set_pwm1_duty(40);

   while(input(pin_a1)==1){}
}
  if(input(pin_a3)==1)
{

printf(lcd_putc," \f HIZLI   ");
setup_timer_2(T2_DIV_BY_16, 156, 1);

set_pwm1_duty(156);
}
   while(input(pin_a1)==1){}
}
 

}