本例中,74LS37362256与AVR 单片机的连接,其中单片机ALE引脚(Address Latch Enable,地址锁存使能) 
与74LS373的LE(锁存器使能,Latch Enable)引脚连接,单片机的读写控制引脚RD,WR与62256的OE,WE连接,这3条控制总线引脚负责地址锁存及读/写控制。为了访问外部扩展内存,一定要在主程序内将MCUCR寄存器的最高位SRE置位。 
本例向62256写入1001~1200共200个整数。 
 
以下是Studio6.2编译通过的截图: 
 
 
程序清单: 
 
- /*
 
 -  * GccApplication1.c
 
 -  *
 
 -  * Created: 2014/11/19 星期三 下午 10:27:26
 
 -  *  Author: Administrator
 
 -  */ 
 
  
 
 
- #define F_CPU 1000000UL
 
 - #include <AVR/io.h>
 
 - #include <util/delay.h>
 
 - #include <stdint.h>
 
  
- #define EXTMEM_ADDR (uint8_t *) 0x8000
 
  
- //LED 控制
 
 - #define LED_ON() (PORTB &=~_BV(PB7))
 
 - #define LED_BLINK() (PORTB ^= _BV(PB7))
 
  
- int main()
 
 - {
 
 -         uint8_t i;
 
 -         DDRB = 0xFF;PORTB = 0xFF;
 
 -         LED_ON();_delay_ms(1000);
 
 -         MCUCR |= 0x80; //允许访问外部存储器
 
 -         for(i=0;i<200;i++)
 
 -         {
 
 -                 *(EXTMEM_ADDR+i)= i+1;
 
 -         }
 
  
-         for(i=0;i<200;i++)
 
 -         {
 
 -                 *(EXTMEM_ADDR+i+0x0100)= *(EXTMEM_ADDR+199-i);
 
 -         }
 
  
-         while(1)
 
 -         {
 
 -                 LED_BLINK();
 
 -                 _delay_ms(200);
 
 -         }
 
 - }
 
  
  |