Created
June 12, 2019 18:59
-
-
Save komponenrobot/0c7efecef55001b62150ce3b80a44b43 to your computer and use it in GitHub Desktop.
cvavr PWM
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******************************************************* | |
This program was created by the CodeWizardAVR V3.36 | |
Automatic Program Generator | |
© Copyright 1998-2019 Pavel Haiduc, HP InfoTech s.r.l. | |
http://www.hpinfotech.com | |
Project : | |
Version : | |
Date : 13/06/2019 | |
Author : Robotik Indonesia | |
Company : Robotik Indonesia | |
Comments: | |
Chip type : ATmega328P | |
Program type : Application | |
AVR Core Clock frequency: 16,000000 MHz | |
Memory model : Small | |
External RAM size : 0 | |
Data Stack size : 512 | |
*******************************************************/ | |
#include <mega328p.h> | |
// Declare your global variables here | |
void main(void) | |
{ | |
// Declare your local variables here | |
// Crystal Oscillator division factor: 1 | |
#pragma optsize- | |
CLKPR=(1<<CLKPCE); | |
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); | |
#ifdef _OPTIMIZE_SIZE_ | |
#pragma optsize+ | |
#endif | |
// Input/Output Ports initialization | |
// Port B initialization | |
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=Out Bit1=Out Bit0=In | |
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (1<<DDB2) | (1<<DDB1) | (0<<DDB0); | |
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=0 Bit1=0 Bit0=T | |
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); | |
// Port C initialization | |
// Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In | |
DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); | |
// State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T | |
PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); | |
// Port D initialization | |
// Function: Bit7=In Bit6=Out Bit5=Out Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In | |
DDRD=(0<<DDD7) | (1<<DDD6) | (1<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); | |
// State: Bit7=T Bit6=0 Bit5=0 Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T | |
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); | |
// Timer/Counter 0 initialization | |
// Clock source: System Clock | |
// Clock value: 2000,000 kHz | |
// Mode: Fast PWM top=0xFF | |
// OC0A output: Non-Inverted PWM | |
// OC0B output: Inverted PWM | |
// Timer Period: 0,128 ms | |
// Output Pulse(s): | |
// OC0A Period: 0,128 ms Width: 0 us | |
// OC0B Period: 0,128 ms Width: 0,128 ms | |
TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (1<<COM0B0) | (1<<WGM01) | (1<<WGM00); | |
TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (0<<CS00); | |
TCNT0=0x00; | |
OCR0A=0x00; | |
OCR0B=0x00; | |
// Timer/Counter 1 initialization | |
// Clock source: System Clock | |
// Clock value: 2000,000 kHz | |
// Mode: Ph. correct PWM top=0x03FF | |
// OC1A output: Non-Inverted PWM | |
// OC1B output: Inverted PWM | |
// Noise Canceler: Off | |
// Input Capture on Falling Edge | |
// Timer Period: 1,023 ms | |
// Output Pulse(s): | |
// OC1A Period: 1,023 ms Width: 0 us | |
// OC1B Period: 1,023 ms Width: 1,023 ms | |
// Timer1 Overflow Interrupt: Off | |
// Input Capture Interrupt: Off | |
// Compare A Match Interrupt: Off | |
// Compare B Match Interrupt: Off | |
TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (1<<COM1B1) | (1<<COM1B0) | (1<<WGM11) | (1<<WGM10); | |
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (1<<CS11) | (0<<CS10); | |
TCNT1H=0x00; | |
TCNT1L=0x00; | |
ICR1H=0x00; | |
ICR1L=0x00; | |
OCR1AH=0x00; | |
OCR1AL=0x00; | |
OCR1BH=0x00; | |
OCR1BL=0x00; | |
// Timer/Counter 2 initialization | |
// Clock source: System Clock | |
// Clock value: Timer2 Stopped | |
// Mode: Normal top=0xFF | |
// OC2A output: Disconnected | |
// OC2B output: Disconnected | |
ASSR=(0<<EXCLK) | (0<<AS2); | |
TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20); | |
TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20); | |
TCNT2=0x00; | |
OCR2A=0x00; | |
OCR2B=0x00; | |
// Timer/Counter 0 Interrupt(s) initialization | |
TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); | |
// Timer/Counter 1 Interrupt(s) initialization | |
TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); | |
// Timer/Counter 2 Interrupt(s) initialization | |
TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2); | |
// External Interrupt(s) initialization | |
// INT0: Off | |
// INT1: Off | |
// Interrupt on any change on pins PCINT0-7: Off | |
// Interrupt on any change on pins PCINT8-14: Off | |
// Interrupt on any change on pins PCINT16-23: Off | |
EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); | |
EIMSK=(0<<INT1) | (0<<INT0); | |
PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0); | |
// USART initialization | |
// USART disabled | |
UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80); | |
// Analog Comparator initialization | |
// Analog Comparator: Off | |
// The Analog Comparator's positive input is | |
// connected to the AIN0 pin | |
// The Analog Comparator's negative input is | |
// connected to the AIN1 pin | |
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); | |
ADCSRB=(0<<ACME); | |
// Digital input buffer on AIN0: On | |
// Digital input buffer on AIN1: On | |
DIDR1=(0<<AIN0D) | (0<<AIN1D); | |
// ADC initialization | |
// ADC disabled | |
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); | |
// SPI initialization | |
// SPI disabled | |
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); | |
// TWI initialization | |
// TWI disabled | |
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); | |
while (1) | |
{ | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment