
2019/12/23 单片机原理及其应用 CH3汇编语言程序设计 伪指令 第三章汇编语言程序设计 汇编语言的结构 程序设计举例 一、MCS-51单片机汇编语言的伪指令 ,1、起始地址伪指今ORG ORG addr16 MC5-51单片机汇编语言程序设计中,常用的伪指令(七条): ·用于规定目标程序段成数据块的起始她址, 设置在程序开始处 ,ORG一定位伪指令 ·例:rg0000h ljmp main 一END一结束汇编伪指令 EQU一赋值伪指令 ·2、汇编结束伪指令END ,DB一定义字节指令 ·告诉汇编程序,对源程序的汇编到此结束。 ,DW一定义数据字指令 一个程序中只出现一次,在程序的最未尾. ·例: >DS一定义存储区指令 end >BT一位定义指令
2019/12/23 1 第三章 汇编语言程序设计 一、MCS-51单片机汇编语言的伪指令 MCS-51单片机汇编语言程序设计中,常用的伪指令(七条): ORG—定位伪指令 END—结束汇编伪指令 EQU—赋值伪指令 DB—定义字节指令 DW—定义数据字指令 DS—定义存储区指令 BIT—位定义指令 • 1、起始地址伪指令 ORG ORG addr16 • 用于规定目标程序段或数据块的起始地址, • 设置在程序开始处。 • 例: Org 0000h • ljmp main • org 0100h • main: mov sp,#30h • . • 2、汇编结束伪指令 END • 告诉汇编程序,对源程序的汇编到此结束。 • 一个程序中只出现一 次,在程序的最末尾。 • 例: . • . • end 1 2 3 4

2019/12/23 ·3.赋值伪指令EQU 4.定义字节数据伪指令DB ·告诉汇编程序,给符号赋值 ·格式:[特号:】DB宇节韵据表 ·格式:符号名称EQU数值或汇编符号 功能:字节数据表可以是多个字节数据、宇符串成表 达式,它表示将字节数据表中的数据从左到右依次存放在指 ·先定义后使用 ·例: 定地址单元 led_lamp equ p1.0 ·列如:ORG1000H counter equ 100 display addr equ 2000h TAB:DB 2BH,0AOH,A',2*4 mov ro,#counter ·表示从1000H单元开始的地方存放数据2BH,0A0H, mov dptr,#display addr 41H(字母A的ASCIE9),08H mov c,led lamp ·6.定义空间伪指令D5 ·5.定义字数据伪指令DW 格试:标号:】DS表达式 格式:符号:】DW字黎据表 功能:从指定的地址开始。保留多少个存储单元作为备 ·功能:与DB类似,但DW定义的数据项为字,包括两 用的空间。 个字节,存放时高位在前,低位在后。 ·如:ORG1000H 例如:ORG1000H ·BUF:D550: DATA:DW 324AH,3CH; ·TA8:DB22H 表示从1000H单元开始的地方存放数据32H,4AH ·表示从1000H开始的地方预留50个(1000H-1031H)存 00H:3CH(3CH以字的形式表示为003CH) 储字节空间
2019/12/23 2 • 3、赋值伪指令 EQU • 告诉汇编程序,给符号赋值。 • 格式: 符号名称 EQU 数值或汇编符号 • 先定义后使用 • 例: • led_lamp equ p1.0 • counter equ 100 • display_addr equ 2000h • . • mov r0, #counter • mov dptr, #display_addr • mov c, led_lamp • 4.定义字节数据伪指令DB • 格式:[符号:] DB 字节数据表 • 功能:字节数据表可以是多个字节数据、字符串或表 达式,它表示将字节数据表中的数据从左到右依次存放在指 定地址单元。 • 例如:ORG 1000H • TAB: DB 2BH, 0A0H, ‘A’, 2*4 ; • 表示从1000H单元开始的地方存放数据2BH,0A0H, 41H(字母A的ASCII码),08H • 5.定义字数据伪指令DW • 格式:[符号:] DW 字数据表 • 功能:与DB类似,但DW定义的数据项为字,包括两 个字节,存放时高位在前,低位在后。 • 例如:ORG 1000H • DATA: DW 324AH, 3CH ; • 表示从1000H单元开始的地方存放数据32H,4AH, 00H ; 3CH(3CH以字的形式表示为003CH) • 6.定义空间伪指令DS • 格式:[标号:] DS 表达式 • 功能:从指定的地址开始,保留多少个存储单元作为备 用的空间。 • 如: ORG 1000H • BUF: DS 50 ; • TAB: DB 22H ; • 表示从1000H开始的地方预留50个(1000H~1031H)存 储字节空间。 5 6 7 8

2019/12/23 二、单片机汇编语言程序设计的基本步骤 三:汇编语言程序的主要结构形式 题意分析、熟悉并了解汇编语言指令的基本格式和主要 特点明确被控对象对软件的要求设计出算法等】 题序程座:最简单、最基本的程序结构,按指令的排列 画出程序流程图。 顺序一条条地执行,直到全部指令执行完毕为止, 分配内存工作区及有关端口地址.分配内存工作区,要根 分支程座:通过转移指令对相应条件的判断,改变程序 据程序区、数据区、暂存区、堆栈区等预计所占空间大小, 对片内外存储区进行合理分配并确定每个区域的首地址,便 的执行方向。 于编程使用。 循环程座:在程序中需要反复的执行的程序段,为了道 编制汇编源程序 免在程序中多次的编写,可以通过利用亲件转移成无条 仿真、调试和优化程序】 件转移指令来控制程序的执行。 固化程序。 10 原顺序结构 分支构 额环结构 入日 入口 1.顺序程序的设计 处理 衡苹程序也款是服序程序,它是最衡单、最基本的程序结构, 修改条件 其特点是按指令的排列佩序一条条地执行,直到全蒂指令执行完中 分支1 分支2 为止。不管多么复杂的程序,总是由若干序程序段所阻成的。 条件满足否? 出口 出口 出口 12
2019/12/23 3 • 题意分析、熟悉并了解汇编语言指令的基本格式和主要 特点、明确被控对象对软件的要求、设计出算法等。 • 画出程序流程图。 • 分配内存工作区及有关端口地址。分配内存工作区,要根 据程序区、数据区、暂存区、堆栈区等预计所占空间大小, 对片内外存储区进行合理分配并确定每个区域的首地址,便 于编程使用。 • 编制汇编源程序。 • 仿真、调试和优化程序。 • 固化程序。 二、单片机汇编语言程序设计的基本步骤 三:汇编语言程序的主要结构形式 • 顺序程序:最简单、最基本的程序结构,按指令的排列 顺序一条条地执行,直到全部指令执行完毕为止。 • 分支程序:通过转移指令对相应条件的判断,改变程序 的执行方向。 • 循环程序:在程序中需要反复的执行的程序段,为了避 免在程序中多次的编写,可以通过利用条件转移或无条 件转移指令来控制程序的执行。 语句 3 语句 2 顺序结构 入口 语句 1 出口 分支结构 入口 条件满足否? 分支 1 出口 Y N 分支 2 循环结构 入口 处理 修改条件 条件满足否? Y 出口 N 简单程序也就是顺序程序,它是最简单、最基本的程序结构, 其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕 为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。 1.顺序程序的设计 9 10 11 12

2019/12/23 分5 #京世部¥¥¥等 60H 例:设在外RAM的60H单元存有1个学节代网,要求 将其分解成两个4位字段,高4位存入原单元的标4位, 其低4位存入61H单元的低4位,且要求这两个单元的 60H 0RG1000E 61H 高4位均为0,试德制完蔓程序。 10y0,80阳 MOVI A,RO MOV B,A 分折色 ALA,OFO阳 ¥年##¥¥¥¥ 60H STAP MOVX RO,A MOV A.B 00000000¥¥¥¥ 提的 60H 61H sJP t END 13 2.分支程序的设计 一、分文结构与分支程序设计 整精事中禁 a-b(a20) 结构:根语不同的条件,进行相应的处理, 通常用条件装移指令形成草分文结构。 (a<0) 如:判(A)=Z戒Nz,神移 判(cY)=1或0,转移 解:本题关使是判是正兼还是负兼:由ACC.7便知。 ORG 1000H 判(bit)=1或0,转移 BR.ACC.7,MINUS CJNE比枝不湘等转移 SUBB A.B SJMP DONE MINUS:ADD A,B DONE:SJMP END 16
2019/12/23 4 例: 设在外RAM的60H单元存有1个字节代码,要求 将其分解成两个4位字段,高4位存入原单元的低4位, 其低4位存入61H单元的低4位,且要求这两个单元的 高4位均为0,试编制完整程序。 分析: # # # # ¥ ¥ ¥ ¥ 0 0 0 0 # # # # 0 0 0 0 ¥ ¥ ¥ ¥ 60H 60H 61H 解: ORG 1000H MOV R0,#60H MOVX A,@R0 MOV B,A ANL A,#0F0H SWAP A MOVX @R0,A MOV A,B ANL A,#0FH INC R0 MOVX @R0,A SJMP $ END 分析: # # # # ¥ ¥ ¥ ¥ 0 0 0 0 # # # # 0 0 0 0 ¥ ¥ ¥ ¥ 60H 60H 61H 2. 分支程序的设计 一、分支结构与分支程序设计 结构:根据不同的条件,进行相应的处理。 通常用条件转移指令形成简单分支结构。 如: 判(A) = Z 或 NZ ,转移 判(CY)= 1 或 0 ,转移 判(bit)=1 或 0 ,转移 CJNE 比较不相等转移 例2、设a存放在累加器A中,b存放在寄存器B中,要求按 下式 计算Y值,并将结果Y存于累加器A 中,试编写程序。 a-b (a≥0) Y = a+b (a < 0) 解:本题关键是判a是正数,还是负数;由ACC.7便知。 ORG 1000H BR: JB ACC.7,MINUS CLR C SUBB A,B SJMP DONE MINUS: ADD A,B DONE: SJMP $ END 13 14 15 16

2019/12/23 分支程序实例 例4多向分支程序设计(散转指令) 例3:内部R30阳和31日中分别存有2个8位无符号数,编程找出 ,根据R0的值转向7个分支程序 其中的大数存入内部32组单元中。 ·R060,转向SUB6: K0K1. ADD A,31H MOV 32H,A W3UB03UB了 SJMP FINISH L1:MOV 32H,31H FINISH:SJMP车 17 18 0RG2000H DPTR,#TAB:转移指令表首地址 ·例5:如图所示,设计一段程序实现功能:如果(A】中1的个数为奇数,所 A,R0:取数 有的二极管发光:如果全0,则只让VD0-VD3发光:否则全灭。 MOV B,10 IV AB,A10,商在A中 CL c RLC A 1A-2A JMP @A+DPTR PC-A+DPTR ·TAB:AJMP SUB0,转移指今表 AJMP SUB1 AJMP SUB2 AJMP SUBS AJMP SUB6 19 20
2019/12/23 5 例3:内部RAM30H和31H中分别存有2个8位无符号数,编程找出 其中的大数存入内部32H单元中。 ORG 0040H MOV A, 30H CLR C SUBB A,31H JC L1 ;CY=1,转移到 L1 ADD A,31H MOV 32H,A SJMP FINISH L1:MOV 32H,31H FINISH: SJMP $ 分支程序实例 例4 多向分支程序设计(散转指令) • 根据R0的值转向7个分支程序。 • R060,转向SUB6; K=? 转SUB0 转SUB1 转SUB6 K=0 K=1 . K=6 开始 • ORG 2000H • MOV DPTR,#TAB;转移指令表首地址 • MOV A,R0 ;取数 • MOV B,#10 • DIV AB ;A10,商在A中 • CLR C • RLC A ;A←2A • JMP @A+DPTR ;PC ← A+DPTR • TAB: AJMP SUB0 ;转移指令表 • AJMP SUB1 • AJMP SUB2 • AJMP SUB5 • AJMP SUB6 • 例5:如图所示,设计一段程序实现功能:如果(A)中1的个数为奇数,所 有的二极管发光;如果全0,则只让VD0-VD3发光;否则全灭。 EA/VP 31 X1 19 X2 18 RESET 9 INT0 12 INT1 13 T0 14 T1 15 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 RD 17 WR 16 PSEN 29 ALE/P 30 TXD 11 RXD 10 AT89C51 C2 30pF C3 30pF Y1 6.000MHZ GND VD1 VD2 VD3 VD4 VD5 VD6 VD7 R2 330 R3 330 R4 330 R5 330 R6 330 R7 330 R8 330 R9 330 GND R1 10K + C1 47uF GND VCC VCC VD0 17 18 19 20

2019/12/23 渣程图 3.循环程序的设计 源程序 P.LIGHTALL 循环结构不但使程序简练,而且大大节省存储空间。 LIGHTRALP P2.00阳 循环程序包含四部分: 1、初始化部分 (循环计数器、地址指针初始化) L0TML0州P2阿 2、循环处理部分(主体,需要重复执行的部分) 5JP TOand 3、循环控制部分(修改地址指针、修改变量、检测 TOmd:SJP 循环结束条件) 注意专肥1单片机中,卖华分 4、循环结束部分(对结果分析、处理,存放结果) 21 22 先处理,后判断: 先测断,后处速: 循环有,单葡环、多道环。 开猫☐ 开司 葡环次教已知:用计数毒控制循环次数 初始化部分 循环状数来知:按问题条件控制循环是否轴京。 初始化部分 处理部分 修放变量 (1)黄环次重是已蜘知的程序 修改变量】 籍环结N处理部分 例6已知片内RAM的40H单元开始依次存放10个8位无符行二进制最,要 求找出其中的最大数存入3FH单元中,试偏程。 分析:先将第一个兼和第二个最比较,大者进入累加器八中,然后本累加器中 Y 结束部分 A的教与第三个数比校,依次比较下去。最后黑加量A中则下的是最大教, 结束部分] 比被大小用减法鼎冷,注意恢复累加馨A中的原来的大数 结东口 结束 23
2019/12/23 6 开始 位P=1? (A)=0? P1=FFH P1=00H P1=0FH 结束 Y Y N N • ORG 0100H • JB P, LIGHTALL • JZ LIGHTHALF • MOV P2,#00H • SJMP TOend • LIGHTALL :MOV P2,#0FFH • SJMP TOend LIGHTHALF:MOV P2,#0FH • TOend: SJMP $ • END 流程图: 源程序: 注意:在MCS-51单片机中,实现单分 支常用的指令有:JZ、JNZ、DJNZ、 CJNE、JC、JNC、JB、JNB、JBC等。 循环结构不但使程序简练,而且大大节省存储空间。 循环程序包含四部分: 1、初始化部分 (循环计数器、地址指针初始化) 2、循环处理部分(主体,需要重复执行的部分) 3、循环控制部分(修改地址指针、修改变量、检测 循环结束条件) 4、循环结束部分(对结果分析、处理,存放结果) 3. 循环程序的设计 先处理,后判断: 开始 初始化部分 处理部分 修改变量 循环结束? 结束部分 结束 Y N 先判断,后处理: 开始 初始化部分 修改变量 循环结束? Y 结束部分 结束 N 处理部分 (1)循环次数是已知的程序 例6、已知片内RAM的40H单元开始依次存放10个8位无符号二进制数,要 求找出其中的最大数存入3FH单元中,试编程。 分析:先将第一个数和第二个数比较,大者送入累加器A中,然后拿累加器中 A的数与第三个数比较,依次比较下去。最后累加器A中剩下的是最大数。 比较大小用减法指令,注意恢复累加器A中的原来的大数。 循环有:单循环、多重循环。 循环次数已知:用计数器控制循环次数; 循环次数未知:按问题条件控制循环是否结束。 21 22 23 24

2019/12/23 START,MOVR2,#09H,际计徽和重(精纤次绿已 MOV RO,#40H!地址聊特初擅 MOVA,@R0,章兼 器人实现功:计1口中1的个。把结 LOOP:INC RO:海整地址滑特 SUBBA,BRO JC NEXT1tCY一1(后者大)装NEXT1 ADDA,eRO:恢复A中的来大放 SJMP NEXT2 "器 MOV API NEXT1:MOVA@RO大塔输A NEXT2:DJNZ LOOP:RLC R2,LO0P控制环次藏 INC NEXT MOV 3FH,A INC 0H 密 SJMP车 NEXT:DZR2.LOOP一悬背家 25 26 (2)循环次数未知;多重循环 程序如下: 拟利用P2口控制八个发光管,一序社个发光管周而复始 ORG 1000H ORG 0100H 地轮注发亮,没电略设计为当输出高电平时发光管点亮,每欢点亮 DELAY:MOV R5,#10 MOV A#80H 时间持峡约0.58。 DELO:MOV R6,#100 LGHT:MOV P2.A DEL1:MOV R7,#248 RR A DEL2:DJNZ R7,DEL2 ACALL DELAY DJNZ R6,DEL1 SJMP LIGHT DJNZ R5,DELO RET 27 28
2019/12/23 7 START:MOV R2,#09H ;循环计数初值(循环次数已知) MOV R0,#40H ;地址指针初值 MOV A,@R0 ;取数 LOOP:INC R0;调整地址指针 CLR C SUBB A,@R0 JC NEXT1 ;CY=1(后者大)转NEXT1 ADD A,@R0;恢复A中的原来大数 SJMP NEXT2 NEXT1: MOV A,@R0;大数送给A NEXT2: DJNZ R2,LOOP;控制循环次数 MOV 3FH,A SJMP $ • 例7:设计一段程序实现功能:统计P1口中1的个数,把结 果存入30H单元中。 解题思路:要统计1的个数,可以利用RLC指令带上Cy循环左移,如果移 入Cy的是1,就让(30H)加1,重复8次,可以统计出结果。 . MOV 30H,#00H MOV R2,#08H MOV A, P1 LOOP:RLC A JNC NEXT INC 30H NEXT:DJNZ R2,LOOP . 30H赋初始值, 置循环次数 移位,判断Cy 是否为1,为1 则30H自加1 判断是否结束 拟利用P2 口控制八个发光管,编一程序让8个发光管周而复始 地轮流发亮,设电路设计为当输出高电平时发光管点亮,每次点亮 时间持续约0.5s。 (2)循环次数未知;多重循环 EA/VP 31 X1 19 X2 18 RESET 9 INT0 12 INT1 13 T0 14 T1 15 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 RD 17 WR 16 PSEN 29 ALE/P 30 TXD 11 RXD 10 AT89C51 C2 30pF C3 30pF Y1 6.000MHZ GND VD1 VD2 VD3 VD4 VD5 VD6 VD7 R2 330 R3 330 R4 330 R5 330 R6 330 R7 330 R8 330 R9 330 GND R1 10K + C1 47uF GND VCC VCC VD0 程序如下: ORG 0100H MOV A,#80H LIGHT: MOV P2,A RR A ACALL DELAY SJMP LIGHT ORG 1000H DELAY: MOV R5,#10 DEL0:MOV R6,#100 DEL1:MOV R7,#248 DEL2:DJNZ R7,DEL2 DJNZ R6,DEL1 DJNZ R5,DEL0 RET 25 26 27 28

2019/12/23 MCS51单片机的总线结构 数据总线、地址总线、控制总线 A8~A15 P2口作地址高8位 P2 AB 单片机存储器扩展 ALE P0口作地址/数据线,分时复 用,ALE拉制锁存器锁存地址信 PO DB (P3.6)WR PSEN是片外程序存储器读选通 (P3.7)RD CB 信号:RD、WR是片外数据存储 塔读、写信号:EA用来选择片内 片外程序存储器。 80c51 29 30 特点 地址镇存器 ●一总 无论在片外扩及瘦序存储器、数据存储是或其他外国设备都 ●三态缓冲出的8D镇存器74L5373/74HC373 使用同一总。 ●两个空间 在片外可以分别扩展2小64K公空间,肿片外程序存储需和片 L% 外最据存情要。 ●两壶拉制 片外扩展的程序存情器和数据存储器或然使用相同的地址慈 34781476 戴和数据总城,有湘同的64KB地址空间,但拉制信号不周, 以保证空间的教立性。 ALE 32
2019/12/23 8 单片机存储器扩展 PSEN是片外程序存储器读选通 信号;RD、WR是片外数据存储 器读、写信号;EA用来选择片内 /片外程序存储器。 MCS-51单片机的总线结构 P2口作地址高8位 CB A0~A7 A8~A15 DB 地址 锁存器 P2 ALE P0 PSEN (P3.6)WR (P3.7)RD EA 80C51 AB P0口作地址/数据线,分时复 用,ALE控制锁存器锁存地址信 号。 数据总线 、地址总线、 控制总线 特点 一组总线 无论在片外扩展程序存储器、数据存储器或其他外围设备都 使用同一组总线。 两个空间 在片外可以分别扩展2个64KB空间,即片外程序存储器和片 外数据存储器。 两套控制 片外扩展的程序存储器和数据存储器虽然使用相同的地址总 线和数据总线,有相同的64KB地址空间,但控制信号不同, 以保证空间的独立性。 地址锁存器 带三态缓冲输出的8D锁存器74LS373/74HC373 P0 A0~A7 ALE 29 30 31 32

2019/12/23 存储最的扩展 2.扩晨一片EPROM 一,程序存储器的展 地址重叠 1.常用芯片 ALE Intel EPROM27系列 P27225 00-0.7 0000-1FfF 2238682k8.272ak8.2764(k8.2712816k8. H-stFF 27系列EPROM引脚 地址线:A0一An1(容量为2字节) 4O00H-9FFEH 数据线:D0-D7 20-P24 A000H-BFFFH CO00H-DF FFH 控制线:输出允许0E*(低电平有效)、片选CE”(低电平有效) EA -1 E00OH-FF FFH FSEN 33 34 ●线选法 线选 3.扩展多片EPROM 扩展多片EPROME时,除了片内存储单元的选择,还有片与片之 CE 间的选择,即片选信号的控制问题。常用的方法有: P2.4-ALg 8031 ●线选法 276 12764 2764 ●译码法 D,-D PSEN 36
2019/12/23 9 存储器的扩展 一、程序存储器的扩展 1.常用芯片 Intel EPROM 27系列 如:2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、 27256(32KB) 27系列EPROM引脚 地址线:A0~An-1(容量为2n字节) 数据线:D0~D7 控制线:输出允许OE*(低电平有效)、片选CE* (低电平有效)。 A LE P0 .0~ P 0.7 805 1 P2 .0~ P 2.4 E A P SE N C E A 0~ A 7 276 4 D 0~ D 7 A 8~ A 1 2 O E G 74L S373 P 2.7 P 2.6 P 2 .5 地 址 范 围 0 0 0 0 000H ~ 1FF FH 0 0 1 20 00H ~ 3FFF H 0 1 0 40 00H ~ 5FFF H 0 1 1 60 00H ~ 7FFF H 1 0 0 80 00H ~ 9FFF H 1 0 1 A 0 00H ~ B FFF H 1 1 0 C 0 00H ~ D FFFH 1 1 1 E 0 00H ~ FFFF H 地址重叠 2.扩展一片EPROM 3.扩展多片EPROM 扩展多片EPROM时,除了片内存储单元的选择,还有片与片之 间的选择,即片选信号的控制问题。常用的方法有: 线选法 译码法 线选法 33 34 35 36

2019/12/23 ●译码法 将高位地址利用译码器进行译码,用产生的译码信号作为片选信号。 2、全译码 1、部分译码 仅对部分高位地址进行译码 A-Ag 2764 2764 D,D。 D:-Do P24-P2.0 A12-A 8031 P2. PSEN 出陆老EPROM 37 38 45Y 二、数据存储最的射展 ■常用芯片 .Intel SRAM 如:6116(2KB)6264(8KB).62256(32KB) ●引脚 8031 地址线:Ag-Aa 6264 数据线:/0g-/0 控制线:读0E(低电平有效)、写WE(低电平有效)、片选CE(低电平 有效)(6264有2个片选信号CE1低电平有效.CE2高电平有效) 40
2019/12/23 10 译码法 将高位地址利用译码器进行译码,用产生的译码信号作为片选信号。 1、部分译码 仅对部分高位地址进行译码 2、全译码 二、数据存储器的扩展 常用芯片 Intel SRAM 如:6116(2KB)、6264(8KB)、62256(32KB) 引脚 地址线:A0~An-1 数据线:I/O0~I/O7 控制线:读OE (低电平有效) 、写WE(低电平有效)、片选CE (低电平 有效)(6264有2个片选信号CE1低电平有效、CE2高电平有效) 37 38 39 40