ibrahim edhem
/
landscope
metal detector software
pwm.cpp@0:88f4eeea871a, 2011-03-19 (annotated)
- Committer:
- xmen
- Date:
- Sat Mar 19 20:35:51 2011 +0000
- Revision:
- 0:88f4eeea871a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xmen | 0:88f4eeea871a | 1 | #include "cbn1768.h" |
xmen | 0:88f4eeea871a | 2 | #include "pwm.h" |
xmen | 0:88f4eeea871a | 3 | |
xmen | 0:88f4eeea871a | 4 | void pwm_init(void) { |
xmen | 0:88f4eeea871a | 5 | int a; |
xmen | 0:88f4eeea871a | 6 | |
xmen | 0:88f4eeea871a | 7 | //PWM'leri pin �ikisina vermek i�in.... |
xmen | 0:88f4eeea871a | 8 | |
xmen | 0:88f4eeea871a | 9 | PINSEL3 |= (1<<9); //PWM2 p1.20 |
xmen | 0:88f4eeea871a | 10 | PINSEL4 |= (1<<2); //PWM2 p2.01 |
xmen | 0:88f4eeea871a | 11 | |
xmen | 0:88f4eeea871a | 12 | PINSEL3 |= (1<<15); //PWM4 p1.23 |
xmen | 0:88f4eeea871a | 13 | PINSEL4 |= (1<<6); //PWM4 p2.03 |
xmen | 0:88f4eeea871a | 14 | |
xmen | 0:88f4eeea871a | 15 | PINSEL3 |= (1<<21); //PWM6 p1.26 |
xmen | 0:88f4eeea871a | 16 | PINSEL4 |= (1<<10); //PWM6 p2.05 |
xmen | 0:88f4eeea871a | 17 | |
xmen | 0:88f4eeea871a | 18 | PWM1PR = 0x00; // prescalar |
xmen | 0:88f4eeea871a | 19 | |
xmen | 0:88f4eeea871a | 20 | |
xmen | 0:88f4eeea871a | 21 | |
xmen | 0:88f4eeea871a | 22 | |
xmen | 0:88f4eeea871a | 23 | //**********************PWM Control Ayarlari************************* |
xmen | 0:88f4eeea871a | 24 | PWM1PCR=0; |
xmen | 0:88f4eeea871a | 25 | PWM1PCR |= (1<<2);//PWM2 1-Double edge 0-single edge |
xmen | 0:88f4eeea871a | 26 | |
xmen | 0:88f4eeea871a | 27 | PWM1PCR |= (1<<4);//PWM4 1-Double edge 0-single edge |
xmen | 0:88f4eeea871a | 28 | |
xmen | 0:88f4eeea871a | 29 | PWM1PCR |= (1<<6);//PWM6 1-Double edge 0-single edge |
xmen | 0:88f4eeea871a | 30 | |
xmen | 0:88f4eeea871a | 31 | PWM1PCR |= (1<<10);//PWM2 Cikis aktif |
xmen | 0:88f4eeea871a | 32 | |
xmen | 0:88f4eeea871a | 33 | PWM1PCR |= (1<<12);//PWM4 Cikis aktif |
xmen | 0:88f4eeea871a | 34 | |
xmen | 0:88f4eeea871a | 35 | PWM1PCR |= (1<<14);//PWM6 Cikis aktif |
xmen | 0:88f4eeea871a | 36 | |
xmen | 0:88f4eeea871a | 37 | a=2840; |
xmen | 0:88f4eeea871a | 38 | PWM1MR0 = a; // Toplam peryod |
xmen | 0:88f4eeea871a | 39 | |
xmen | 0:88f4eeea871a | 40 | //pwm2 ana pwm �IKISI |
xmen | 0:88f4eeea871a | 41 | PWM1MR1 = 0; //baslangic 0 setteki 9 nolu bacak |
xmen | 0:88f4eeea871a | 42 | PWM1MR2 = a/2; //bitis 1001 |
xmen | 0:88f4eeea871a | 43 | |
xmen | 0:88f4eeea871a | 44 | //pwm4 GEZICI PWM CIKISI |
xmen | 0:88f4eeea871a | 45 | PWM1MR3 = 2500; //baslangic 200 |
xmen | 0:88f4eeea871a | 46 | PWM1MR4 = 2530; //bitis 275 |
xmen | 0:88f4eeea871a | 47 | //PWMMR3 = 176; //baslangic 200 |
xmen | 0:88f4eeea871a | 48 | //PWMMR4 = 181; //bitis 275 |
xmen | 0:88f4eeea871a | 49 | |
xmen | 0:88f4eeea871a | 50 | //pwm6 GEZICI PWM CIKISI |
xmen | 0:88f4eeea871a | 51 | PWM1MR5 = 1836; //baslangic 300 |
xmen | 0:88f4eeea871a | 52 | PWM1MR6 = 1866; //bitis 375 |
xmen | 0:88f4eeea871a | 53 | |
xmen | 0:88f4eeea871a | 54 | |
xmen | 0:88f4eeea871a | 55 | //********************PWM'leri aktif hale getirmek i�in*************************** |
xmen | 0:88f4eeea871a | 56 | |
xmen | 0:88f4eeea871a | 57 | PWM1LER |= (1<<2); //PWM2 AKTIF |
xmen | 0:88f4eeea871a | 58 | |
xmen | 0:88f4eeea871a | 59 | PWM1LER |= (1<<4); //PWM4 AKTIF |
xmen | 0:88f4eeea871a | 60 | |
xmen | 0:88f4eeea871a | 61 | PWM1LER |= (1<<6); //PWM6 AKTIF |
xmen | 0:88f4eeea871a | 62 | |
xmen | 0:88f4eeea871a | 63 | |
xmen | 0:88f4eeea871a | 64 | |
xmen | 0:88f4eeea871a | 65 | |
xmen | 0:88f4eeea871a | 66 | //***********************PWM match ayarlari********************** |
xmen | 0:88f4eeea871a | 67 | |
xmen | 0:88f4eeea871a | 68 | PWM1MCR =(1<<1); //1- PWMMR0 = PWMTC ise PWMTC resetler 0-bu �zellik kullanilmaz |
xmen | 0:88f4eeea871a | 69 | |
xmen | 0:88f4eeea871a | 70 | |
xmen | 0:88f4eeea871a | 71 | |
xmen | 0:88f4eeea871a | 72 | |
xmen | 0:88f4eeea871a | 73 | |
xmen | 0:88f4eeea871a | 74 | |
xmen | 0:88f4eeea871a | 75 | //********************PWM timer counter ayarlari i�in********************** |
xmen | 0:88f4eeea871a | 76 | PWM1TCR=0; |
xmen | 0:88f4eeea871a | 77 | PWM1TCR |= (1<<0); //PWM Timer Counter ve PWM Prescale Counter aktif edildi |
xmen | 0:88f4eeea871a | 78 | |
xmen | 0:88f4eeea871a | 79 | PWM1TCR |= (1<<3); // PWM mode aktif... |
xmen | 0:88f4eeea871a | 80 | |
xmen | 0:88f4eeea871a | 81 | } |