0% found this document useful (0 votes)
129 views

Contoh Program Interrupts Pada Traffic Light Menggunakan Atmega 8535 Dengan Code Vision AVR

Program Traffict Light

Uploaded by

Widi Mulyasana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views

Contoh Program Interrupts Pada Traffic Light Menggunakan Atmega 8535 Dengan Code Vision AVR

Program Traffict Light

Uploaded by

Widi Mulyasana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

contoh program interrupts pada traffic light menggunakan atmega 8535

dengan code vision AVR

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 08/01/2013
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:

Chip type : ATmega8535


Program type : Application
AVR Core Clock frequency: 4,000000 MHz
Memory model : Small
External RAM size :0
Data Stack size : 128
*****************************************************/

#include <mega8535.h>
#include <delay.h>

// External Interrupt 0 service routine


interrupt [EXT_INT0] void ext_int0_isr(void)
{
PORTA.0=1;
PORTA.3=1;
PORTA.6=1;
PORTA.1=0;
PORTA.2=0;
PORTA.7=0;
PORTA.5=0;
PORTA.4=0;
PORTC.0=0;
delay_ms(1000);
}
// Place your code here

// Declare your global variables here


interrupt [EXT_INT1] void ext_int1_isr(void)
{
PORTA.0=0;
PORTA.3=0;
PORTA.6=0;
PORTA.1=0;
PORTA.2=1;
PORTA.7=0;
PORTA.5=1;
PORTA.4=0;
PORTC.0=1;
delay_ms(1000);
}

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out
Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out
Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=0 State0=0
PORTC=0x00;
DDRC=0x03;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// 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=0x00;
TCCR1B=0x00;
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
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization


// INT0: On
// INT0 Mode: Low level
// INT1: Off
// INT2: Off
GICR|=0xC0;
MCUCR=0x00;
MCUCSR=0x00;
GIFR=0xC0;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Global enable interrupts


#asm("sei")

while (1)
{
// Place your code here
PORTA.0=0;
PORTA.3=1;
PORTC.0=0;
PORTA.1=0;
PORTA.2=1;
PORTA.4=0;
PORTA.5=0;
PORTA.6=1;
PORTA.7=0;
delay_ms(1000);

PORTA.2=0;
PORTA.6=1;
PORTA.3=1;
PORTC.0=0;
PORTA.1=1;
PORTA.0=0;
PORTA.4=0;
PORTA.5=0;
PORTA.7=0;
delay_ms(1000);

PORTA.2=0;
PORTA.6=1;
PORTA.3=0;
PORTC.0=0;
PORTA.1=0;
PORTA.0=1;
PORTA.4=0;
PORTA.5=1;
PORTA.7=0;
delay_ms(1000);

PORTA.2=0;
PORTA.6=1;
PORTA.3=0;
PORTC.0=0;
PORTA.1=0;
PORTA.0=1;
PORTA.4=1;
PORTA.5=0;
PORTA.7=0;
delay_ms(1000);

PORTA.2=0;
PORTA.6=0;
PORTA.3=1;
PORTC.0=1;
PORTA.1=0;
PORTA.0=1;
PORTA.4=0;
PORTA.5=0;
PORTA.7=0;
delay_ms(1000);
}
}

You might also like