;Atmel AVR Test Program - Example #1 ;written 2001 Nov 06 ;by Kenrick Chin ;This program generates a 2MHz rectangular wave ;(125ns HI followed by 375ns LO) on all pins of PORTB ;pins 2, 3, 5, 6, 7 on the all 8-pin MCUs ;pins 12 to 19 on the AT90S2313 ;pins 14 to 19 on the AT90S4433 ********************************************************* * Hardware Definitions ********************************************************* ;register definitions A EQU 16 B EQU 17 ********************************************************* * Hardware I/O Definitions ********************************************************* ;I/O addresses for AT90S2313 UBRRHI EQU $03 ;N/A on AT90S2313 ADCL EQU $04 ;N/A on AT90S2313 ADCH EQU $05 ;N/A on AT90S2313 ADCSR EQU $06 ;N/A on AT90S2313 ADMUX EQU $07 ;N/A on AT90S2313 ACSR EQU $08 UBRR EQU $09 UCR EQU $0A USR EQU $0B UDR EQU $0C ;N/A on AT90S2313 SPCR EQU $0D ;N/A on AT90S2313 SPSR EQU $0E ;N/A on AT90S2313 SPDR EQU $0F ;N/A on AT90S2313 PIND EQU $10 DDRD EQU $11 PORTD EQU $12 PINC EQU $13 DDRC EQU $14 PORTC EQU $15 PINB EQU $16 DDRB EQU $17 PORTB EQU $18 EECR EQU $1C EEDR EQU $1D EEAR EQU $1E WDTCR EQU $21 ICR1L EQU $24 ;$26 on AT90S4433 ICR1H EQU $25 ;$27 on AT90S4433 OCR1L EQU $2A OCR1H EQU $2B TCNT1L EQU $2C TCNT1H EQU $2D TCCR1B EQU $2E TCCR1A EQU $2F TCNT0 EQU $32 TCCR0 EQU $33 MCUSR EQU $34 ;N/A on AT90S2313 MCUCR EQU $35 TIFR EQU $38 TIMSK EQU $39 GIFR EQU $3A GIMSK EQU $3B SP EQU $3D SREG EQU $3F ********************************************************* * INTERRUPT VECTORS ********************************************************* ORG $0000 JMP reset ********************************************************* * Start of main program ********************************************************* ORG $0010 reset SER A CLR B OUT DDRB A ;all PORTB pins are outputs loop OUT PORTB A ;set PORTB all HI OUT PORTB B ;set PORTB all LO BRA loop ********************************************************* * End of CODE Segment ********************************************************* END