二、存储器地址编码 SRAM6116:“16”2K×8b=2KB21×210=21l 即6116有根地址线。 地址空间:A10A9A8A7A6A5A4A3A2A1A0 最低地址:00000000 000000H 最高地址:1111111111107FFH MCS51单片机寻址范围:64KB26×210=21即16位地址线 地址空间:A15A14A13A12A11A10A9A8A7……A0单片机 ×××A10A9A8A7……A06116 25=32 2KB
二、存储器地址编码 SRAM6116: “16”—— 2K×8b = 2KB 2 1×2 10 = 2 11 即6116有11根地址线。 地址空间: A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 07FFH MCS-51单片机寻址范围:64KB 2 6×2 10= 2 16即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机 × × × × × A10A9A8A7······A0 6116 2 5 = 32 2KB
上式中:“×”表示0或1。 即单片机地址空间中包含有32个2KB。某片6116占据的是哪 2KB不能确定—地址浮动。 只有限定A15……A11的取值才能确定6116在系统中的地址 范围。如,P2.6=0,选中6116的CS线。设P27P25P24P23 假定全为1 则:6116地址范围是B800H~ BFFFH。 同理,P27P25P24P23假定全为0 则:6116地址范围是0000H~07FFH; 再设P27选中6116(设P26P25P24P23全为1) 则:地址范围是7800H~7FFFH
上式中:“×”表示0或1。 即单片机地址空间中包含有32个2KB。某片6116占据的是哪 2KB不能确定——地址浮动。 只有限定A15······A11的取值才能确定6116在系统中的地址 范围。如,P2.6 = 0 ,选中6116的/CS线。设P2.7 P2.5 P2.4 P2.3 假定全为1 则: 6116地址范围是B800H ~ BFFFH。 同理, P27 P25 P24 P23假定全为0 则: 6116地址范围是0000H ~ 07FFH; 再设P27选中6116 (设P26 P25 P24 P23全为1) 则:地址范围是7800H ~ 7FFFH
可见:存储器芯片在系统中地址分布由两个因素决定: 是,芯片本身的地址线(与容量有关) 二是,芯片选通信号的获得方式。 扩展存储器时,总是让单片机低位地址与存储器芯片地址线相 接;而让单片机剩余的高位地址线(在P2口)常作为片选信号 线 这种方法对SRAM、 EPROM、扩展I/O芯片、外设同样适用。 P25=0时,选中2764;“68K×8b=23×210=213 A15A14A13A12A11……………A0 23=8 8KB
2 3 = 8 8KB 可见:存储器芯片在系统中地址分布由两个因素决定: 一是,芯片本身的地址线(与容量有关) 二是,芯片选通信号的获得方式。 扩展存储器时,总是让单片机低位地址与存储器芯片地址线相 接;而让单片机剩余的高位地址线(在P2口)常作为片选信号 线。 这种方法对SRAM、EPROM、扩展I / O芯片、外设同样适用。 P25 = 0时,选中2764; “64” 8K×8b = 2 3×2 10 = 2 13 A15 A14 A13 A12 A11 ············A0
若取P27P26均为1; 则2764在本系统内地址范围:C000H~ DFFFH 若6116与2764都用A13 (P25)选中可否 可以。此时6116:D800H~ DFFFH 2764: C000H DBOOH
若取P27 P26均为1; 则2764在本系统内地址范围:C000H ~ DFFFH 可以。此时6116:D800H ~ DFFFH 2764:C000H ~ DB00H 若6116与2764都用A13 (P25)选中可否
6116与2764在0800H~ DFFFH范围内地址重 叠,这是不是违反交 换原则呢? 不会!因为,6116是SRAM,2764是 EPROM。除地址和选 通信号外,还有读/写控制信号起作用。 RAM-/WE/WR OE /RD 可用来区分 ROM /OE /PSEN 二器件
6116与2764在0800H ~ DFFFH范围内地址重 叠,这是不是违反交 换原则呢? 不会!因为,6116是SRAM,2764是EPROM。除地址和选 通信号外,还有读/写控制信号起作用。 RAM —— /WE /WR /OE /RD ROM —— /OE /PSEN 可用来区分 二器件