Отговори на тема  [ 16 мнения ]  Отиди на страница Предишна  1, 2
Реализиране на софтуерен PWM 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение 
#include <16F88.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=8000000)
#bit led1=0x06.0
#bit led2=0x06.1
#bit led3=0x06.2
#bit led4=0x06.3
#bit led5=0x06.4
#bit led6=0x06.5
#bit led7=0x06.6
#bit led8=0x06.7


int x[9];
int y;


#int_TIMER0
void clock_isr()
{
disable_interrupts(INT_TIMER0);

if(y>x[1]) led1=0;
if(y>x[2]) led2=0;
if(y>x[3]) led3=0;
if(y>x[4]) led4=0;
if(y>x[5]) led5=0;
if(y>x[6]) led6=0;
if(y>x[7]) led7=0;
if(y>x[8]) led8=0;

if(y++>50)
{
y=0;
led1=1;
led2=1;
led3=1;
led4=1;
led5=1;
led6=1;
led7=1;
led8=1;
};

set_timer0(100);
enable_interrupts(INT_TIMER0);
}


void main()
{

setup_oscillator( OSC_8MHZ );
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);

set_tris_b(0x00);

y=0;
x[1]=0;
x[2]=6;
x[3]=12;
x[4]=18;
x[5]=24;
x[6]=30;
x[7]=36;
x[8]=42;
while(true)
{
if(x[1]++>50) x[1]=0;
if(x[2]++>50) x[2]=0;
if(x[3]++>50) x[3]=0;
if(x[4]++>50) x[4]=0;
if(x[5]++>50) x[5]=0;
if(x[6]++>50) x[6]=0;
if(x[7]++>50) x[7]=0;
if(x[8]++>50) x[8]=0;
delay_ms(40);
};
}



Последно направих това и работи добре. В момента е настроено да прави нещо като пулсираща вълна. Тези дни ще му сложа подходящи светодиоди (Преди да сложа MOSFET-ите) да видя ефекта как ще се получи, че бях сложил едни дребни и чувствителни, които не можеха да угаснат напълно дори и при 0 на изхода. Благодаря на всички за добрите идеи. :)


Вто Яну 29, 2008 1:42 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 16 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни