»Ë»Ñ Æ÷·³
°³¹ßÀÚÆ÷·³ ÀÔ´Ï´Ù.
  • ºÏ¸¶Å© ¾ÆÀÌÄÜ

¸¶ÀÌÄÄ PWM À§»óÁö¿¬ ÄÚµù Áú¹®ÀÔ´Ï´Ù..¤Ð¤Ð2

  • Áö±¸°úÇÐll
  • µî·ÏÀÏ 2016-11-27 21:37
  • Á¶È¸¼ö 587

PIC18F452 »ç¿ëÁßÀ̸ç, CCS-Compiler »ç¿ëÁßÀÔ´Ï´Ù.

 

À̹ø¿¡ CCP1 , CCP2 ÇÉÀ» ÅëÇÏ¿© °°Àº Ŭ·°ÀÇ ÁÖÆļö (Ç㳪 ¼­·Î À§»óÀÌ 180µµ Áö¿¬µÈ)¸¦ Ãâ·ÂÇϴ°ÍÀÌ ¸ñÇ¥Àä~


ÀÏÁÖÀÏ ³Ñ°Ô °øºÎÇÏ°íÀִµ¥..


ÀÏ´Ü ¾Æ·¡ ÄÚµå·Î CCP1 CCP2ÇÉ¿¡¼­ °°Àº ÁÖÆļö Ãâ·ÂÀ» °¡´ÉÇÏ°Ô ¸¸µé¾ú±¸¿ä~


#include <18f452.h>

#device *=16 ADC =10

#fuses NOWDT, HS

#use delay(clock=20000000)

#use RS232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7)

#include

 

#byte PORTC=0xF82

#byte PORTB=0xF81

#byte TRISC=0xF94

#byte TRISB=0xF93

#byte T2CON=0xFCA

#byte PR2 = 0xFCB

//Reset Vector Address

#build(reset=0x200)

//Intterupts Vector Address

#build(interrupt=0x208)

 

//Bootloader Area

#org 0x0000,0x01ff

void bootloader() 

{

#asm

  nop //No Operation

#endasm

void main()

{

 

 TRISC=0x80; //CCP1 pinÀ» Ãâ·ÂÀ¸·Î ÇÒ´ç 

 

 setup_ccp1(CCP_PWM);

 T2CON=0x04;

 PR2 = 0x80;

 set_pwm1_duty(64);

 

 TRISB=0x80; //CCP2 pinÀ» Ãâ·ÂÀ¸·Î ÇÒ´ç

  

 setup_ccp2(CCP_PWM);

 delay_us(13); // (ÁÖÆļöÀÇ ÁֱⰡ 26us¶ó¼­ À§»óÁö¿¬½ÃÅ°·Á°í 13us¸¦ µô·¹À̽ÃÄ×½À´Ï´Ù.)

 T2CON=0x04;

 PR2 = 0x80;

 set_pwm2_duty(64);

 

 while(1);

 

}


ÄÚµå ÀÔ´Ï´Ù.  (»ç½Ç ÁÖÆļö´Â ³»·Áµµ ¾îÂîµÇµç »ó°ü¾ø½À´Ï´Ù.)


ÀúÈñ Çб³ Á¶±³´Ô²² ¸»¾¸µå·È´õ´Ï, ÄÚµùÀ¸·Î´Â ÇÑ°è°¡ ÀÖ¾î, 


Çϵå¿þ¾î ±¸Á¶¸¦ º¯°æÇÏ¿© À§»óÀ» Áö¿¬½ÃÄÑ¾ß ÇÑ´Ù°í ÇϽôµ¥,


Àú´Â ÄÚµù¸¸À¸·Îµµ ÃæºÐÈ÷ °¡´ÉÇÏ´Ù°í »ý°¢Çؼ­..¤Ð¤Ð


¸¶ÀÌÄÄ °ü·Ã Áú¹®µéÀº ¸¹ÀÌ ¾ø¾îº¸À̳׿ä..


ÄÚµù¿¡¼­ ¸·È÷´Ï±î ³Ê¹« ´ä´äÇؼ­ Áú¹®±Û ¿Ã¸®°Ô µÇ¾ú½À´Ï´Ù. 


Á¶¾ð ÇØÁֽøé Á¤¸» °¨»çÇÏ°Ú½À´Ï´Ù..¤Ð¤Ð

 

 

 

1480250266_7Ka9F9veOE.png

 

0
ÃßõÇϱ⠴ٸ¥ÀÇ°ß 0
|
°øÀ¯¹öÆ°
÷ºÎÆÄÀÏ
  • ¤¤¤·¤¤¤·.png

´Ù¸¥ÀÇ°ß 0 Ãßõ 0 Áö±¸°úÇÐll
  • ¾Ë¸² ¿å¼³, »óó ÁÙ ¼ö ÀÖ´Â ¾ÇÇÃÀº »ï°¡ÁÖ¼¼¿ä.
©¹æ »çÁø  
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û ¸ñ·Ïº¸±â