Setelah ini kalian Save hasilnya kemudian compile dan jalankan programnya di proteus kalian.Karena pwmnya non invert jadi gelombangnya seperti di bawah ini . untuk lebih jelasnya kalian bisa coba sendiri di Pc kalian , apa perbedaan invert dan non invert.
#include <mega32.h>
// Declare your global variables here
void main(void)
{
// Port D initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x30;
/
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 250.000 kHz
// Mode: Ph. correct PWM top=0x00FF
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA1;
TCCR1B=0x03;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
while (1)
{
OCR1AL=100; // hasil dari dutty cycle dan frekuensinya kalian bisa lihat simulasi diatas
}
}
untuk lebih jelasnya dan lebih praktisnya , kalian bisa download programnya langsung di bawah ini
Download program PWM AVR
Download simulasi proteus Pwm
0 komentar:
Post a Comment
Click to see the code!
To insert emoticon you must added at least one space before the code.