<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pic dsPIC Arm7 Arm Cortex Programlama ve Projeler &#187; PWM</title>
	<atom:link href="http://www.uicroarm.com/tag/pwm/feed" rel="self" type="application/rss+xml" />
	<link>http://www.uicroarm.com</link>
	<description>ds-pic arm-7 cortex nxp proje uygulama</description>
	<lastBuildDate>Fri, 23 Apr 2010 19:11:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PIC24-PWM</title>
		<link>http://www.uicroarm.com/pic24-pwm</link>
		<comments>http://www.uicroarm.com/pic24-pwm#comments</comments>
		<pubDate>Fri, 16 Apr 2010 17:59:24 +0000</pubDate>
		<dc:creator>Aykut</dc:creator>
				<category><![CDATA[PIC24F dsPIC30F dsPIC33F Uygulamaları]]></category>
		<category><![CDATA[16Bit]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c30]]></category>
		<category><![CDATA[dsPIC30F]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[PIC24]]></category>
		<category><![CDATA[PWM]]></category>

		<guid isPermaLink="false">http://www.uicroarm.com/?p=137</guid>
		<description><![CDATA[
Bu örneğimizde PWM uygulaması yapacağız. Program aşağıdaki gibidir. 

/*
Aykut ULUSAN
Elektronik Mühendisi
IZMIR

www.uicroarm.com

JP5 ve JP19 on konumda olacak

PWM özelliğini kullanacağız
*/

#include &#60;p24Fxxxx.h&#62;

_CONFIG1(0x3F20)  // JTAG, WDF, flash memory'ye yazma kullanılmayacak
_CONFIG2(0x78EF)	// Dahili fast rc osc enable, xtal uçları boş olacak

// X*10US
void
DLY_10US(unsigned int us){
	while(us--) {
		__asm__ volatile (&#34;repeat #33&#34;);
		__asm__ volatile (&#34;nop&#34;);
	}
}

// 65536ms'ye kadar
void
DLY_MS(unsigned int ms){
	while(ms--){
		DLY_10US(100);
	}
}

volatile unsigned char duty=0;

int
main(void){

	AD1PCFG=0xFFFF;				// portlar dijital
	TRISB = [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.uicroarm.com/wp-content/dosyalar/2010/04/main3.jpg" alt="" title="main" width="295" height="221" class="alignnone size-full wp-image-138" /><span id="more-137"></span></p>
<p>Bu örneğimizde PWM uygulaması yapacağız. Program aşağıdaki gibidir. </p>
<pre class="brush: cpp;">
/*
Aykut ULUSAN
Elektronik Mühendisi
IZMIR

www.uicroarm.com

JP5 ve JP19 on konumda olacak

PWM özelliğini kullanacağız
*/

#include &lt;p24Fxxxx.h&gt;

_CONFIG1(0x3F20)  // JTAG, WDF, flash memory'ye yazma kullanılmayacak
_CONFIG2(0x78EF)	// Dahili fast rc osc enable, xtal uçları boş olacak

// X*10US
void
DLY_10US(unsigned int us){
	while(us--) {
		__asm__ volatile (&quot;repeat #33&quot;);
		__asm__ volatile (&quot;nop&quot;);
	}
}

// 65536ms'ye kadar
void
DLY_MS(unsigned int ms){
	while(ms--){
		DLY_10US(100);
	}
}

volatile unsigned char duty=0;

int
main(void){

	AD1PCFG=0xFFFF;				// portlar dijital
	TRISB = 0x1FFF;
	_LATB14=1;
	_LATB13=1;
	RPOR7bits.RP15R = 18;  // rb15 pwm portu
	T2CON = 0;
	TMR2 = 0;
	PR2 = 255;
	OC1CON = 0x0006;
	OC1RS = duty;			//duty cycle'ı bir reg ile değiştireceğiz.
	T2CON = 0x8000;
	T3CON = 0;
	TMR3 = 0;
	PR3 = 143;
	T3CON = 0x8030;   

	while(1){
		DLY_MS(20);
		OC1RS = ++duty;
	}

	return 0;
}

/*************************************************************/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.uicroarm.com/pic24-pwm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nxp-Arm7 PWM</title>
		<link>http://www.uicroarm.com/nxp-arm7-pwm</link>
		<comments>http://www.uicroarm.com/nxp-arm7-pwm#comments</comments>
		<pubDate>Sat, 14 Mar 2009 14:46:47 +0000</pubDate>
		<dc:creator>Aykut</dc:creator>
				<category><![CDATA[ARM7 Uygulamaları]]></category>
		<category><![CDATA[duty cycle]]></category>
		<category><![CDATA[LPC2148]]></category>
		<category><![CDATA[PWM]]></category>
		<category><![CDATA[RGB LED]]></category>

		<guid isPermaLink="false">http://www.uicroarm.com/?p=63</guid>
		<description><![CDATA[
Pwm uygulaması : LPC2148&#8242;in 6 tane pwm portu var, hepsi birbirinden bağımsız olarak kullanılabilir. Kullanımıda oldukça basit registerlere sahip. Aşağıya  pwm2 portunu %50 duty cycle ile aktif eden bir program ekliyeceğim. Aynı şekilde diğer pwm portlarınıda istediğiniz duty cycle&#8217;da çalıştırabilirsiniz. (Pwm2 pini P0.7&#8242;dir)


#include

void sistem_setup(void);
void DLY_MS(long ms);
void pwm_init (void);
#define P0_0    0x00000001

int
main(void){
sistem_setup();
//	SCS = [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-64" title="pwm_kucukpic" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/pwm_kucukpic.jpg" alt="pwm_kucukpic" width="295" height="221" /><span id="more-63"></span></p>
<p><strong>Pwm uygulaması : </strong>LPC2148&#8242;in 6 tane pwm portu var, hepsi birbirinden bağımsız olarak kullanılabilir. Kullanımıda oldukça basit registerlere sahip. Aşağıya  pwm2 portunu %50 duty cycle ile aktif eden bir program ekliyeceğim. Aynı şekilde diğer pwm portlarınıda istediğiniz duty cycle&#8217;da çalıştırabilirsiniz. (Pwm2 pini P0.7&#8242;dir)</p>
<pre class="brush: cpp;">

#include

void sistem_setup(void);
void DLY_MS(long ms);
void pwm_init (void);
#define P0_0    0x00000001

int
main(void){
sistem_setup();
//	SCS = 0x03;					// fast I/O moduna geelim
PINSEL0=P0_0&lt;&lt;15;                            // PWM portları seçilir
pwm_init();
while(1);
}

void
pwm_init (void){
PWMPR=0;			  // PWMTC , her Pclk+1'de artar
PWMMCR=0x02; 	       // PWMMR0 seçilir
PWMMR0=3000;
PWMMR2=1500; 		// PWM2 için duty cycle %50
PWMLER=0x5; 		         // PWMMR0, PWMMR2 değerlerini latch et
PWMPCR=0x400; 	       // PWM2 output enable
PWMTCR=0x09; 		// timer start ve PWM enable edilir
}

void
sistem_setup(void){
// Processor clock=5*12Mhz=60Hz
PLL0CFG=0x24;
// PLLCON ve PLLCFG registerleri ierigi degistirildiginde , asagidaki
// proses uygulanir, 1) PLL0FEED=0xAA ve 2)PLL0FEED=0x55
PLL0FEED=0xAA;	 	// Feed process
PLL0FEED=0x55;
PLL0CON=0x1;  		// PLL'i enable	et
PLL0FEED=0xAA;		// Feed process
PLL0FEED=0x55;
while(!(PLL0STAT &amp;amp; 0x400)) ;   // PLL kitleninceye kadar bekle (5*12Mhz=60Mhz'e kitlenir)
PLL0CON=0x3;	 	// PLL'i clock kaynagi gibi bagla
PLL0FEED=0xAA;	 	// Feed process
PLL0FEED=0x55;
MAMCR=0x2;	  	// MAM full Enable
MAMTIM=0x4;		// MAM fetch cycles = 4CCLK
VPBDIV=0x02;	 	// PCLK = 30 MHz
}
void
DLY_MS(long ms){
long i;
unsigned int j;
for (i = 0; i &lt; ms; i++ )
for (j = 0; j &lt; 7500; j++ );
}
</pre>
<p>3 PWM portunu kullanarak kaliteli RGB ledlerle istediğiniz rengi elde edebilirsiniz. Bazı resimler aşağıdadır.<br />
<a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0001.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-65" title="abcd0001" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0001-150x150.jpg" alt="abcd0001" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0003.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-66" title="abcd0003" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0003-150x150.jpg" alt="abcd0003" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0005.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-67" title="abcd0005" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0005-150x150.jpg" alt="abcd0005" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0006.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-68" title="abcd0006" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0006-150x150.jpg" alt="abcd0006" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0007.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-69" title="abcd0007" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0007-150x150.jpg" alt="abcd0007" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0008.jpg" rel="lightbox[63]"><img class="alignnone size-thumbnail wp-image-70" title="abcd0008" src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/abcd0008-150x150.jpg" alt="abcd0008" width="150" height="150" /></a><a href="http://www.uicroarm.com/wp-content/dosyalar/2009/03/800x600.jpg" rel="lightbox[63]"><img src="http://www.uicroarm.com/wp-content/dosyalar/2009/03/800x600-150x150.jpg" alt="800x600" title="800x600" width="150" height="150" class="alignnone size-thumbnail wp-image-72" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uicroarm.com/nxp-arm7-pwm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
