
江苏开放大学 JIANGSU OPEN UNIVERSITY 单片机技术及应用 (讲义) 100 0 http://www.jsou.edu.cn/ 顾筠编 2018年11月
单片机技术及应用 (讲义) 顾筠 编 2018 年 11 月


前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本课程围绕MCS-51系列单片机进行学习,课程主要包括有关单片机的基本概念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 /O接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 1.理解单片机相关的基础知识,单片机最小系统: 2.掌握MCS-51的寻址方式和指令系统: 3.掌握单片机程序设计方法: 4.理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口: 5.了解常用外设的接口方法和程序设计方法:AD和D/A接口、LED显示。 本讲义依据单片机的功能应用划分成单元,共有10个单元的学习内容。 第1单元单片机基础概述 第2单元单片机组成结构 第3单元单片机的存储器 第4单元单片机指令系统 第5单元单片机程序设计 第6单元并行接口 第7单元中断系统 第8单元定时器/计数器 第9单元串行接口 第10单元外围设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容
前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本课程围绕 MCS-51 系列单片机进行学习,课程主要包括有关单片机的基本概念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 I/O 接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 1.理解单片机相关的基础知识,单片机最小系统; 2.掌握 MCS-51 的寻址方式和指令系统; 3.掌握单片机程序设计方法; 4.理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口; 5.了解常用外设的接口方法和程序设计方法:A/D 和 D/A 接口、LED 显示。 本讲义依据单片机的功能应用划分成单元,共有 10 个单元的学习内容。 第 1 单元 单片机基础概述 第 2 单元 单片机组成结构 第 3 单元 单片机的存储器 第 4 单元 单片机指令系统 第 5 单元 单片机程序设计 第 6 单元 并行接口 第 7 单元 中断系统 第 8 单元 定时器/计数器 第 9 单元 串行接口 第 10 单元 外围设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容

片机技术及应用 第3单元单片机的存储器 【导言】 本单元主要介绍ROM和RAM存储器的特性,讲述单片机的程序存储器和数据存储器, 介绍程序存储器和数据存储器的扩展。带*章节内容选学。 【学习目标】 掌握:单片机的存储器结构 ROM和RAM存储器的特性。 理解:存储器扩展。 【学习重点和难点】 1.重点:数据存储器。 2.难点:存储器编程结构。 【学习内容】 3.1MCS-51单片机的程序存储器 3.2MCS-51单片机的数据存储器 *3.3存储器扩展方法 *3.4程序存储器的扩展 *3.5数据存储器的扩展
单片机技术及应用 1 第 3 单元 单片机的存储器 【导言】 本单元主要介绍 ROM 和 RAM 存储器的特性,讲述单片机的程序存储器和数据存储器, 介绍程序存储器和数据存储器的扩展。带*章节内容选学。 【学习目标】 掌 握:单片机的存储器结构 ROM 和 RAM 存储器的特性。 理 解:存储器扩展。 【学习重点和难点】 1.重点:数据存储器。 2.难点:存储器编程结构。 【学习内容】 3.1 MCS-51 单片机的程序存储器 3.2 MCS-51 单片机的数据存储器 *3.3 存储器扩展方法 *3.4 程序存储器的扩展 *3.5 数据存储器的扩展

第3单元单片机的存储器 单片机中,除了有中央处理器CPU外,还必须含有存储器,用于存放工作所需的程序和 数据。8051单片机片内含有数据存储器RAM和程序存储器ROM两类存储器。RAM称为读 写存储器,主要用于存储数据,又称为数据存储器,它可根据需要读出、写入各种数据,或 与外界进行信息交换等。RAM是易失性存储介质,掉电后信息消失。ROM称为只读存储器, 主要用于存储程序,又称为程序存储器,它必须在单片机工作之前,存入各种程序、常数等 内容,工作后,只能读出,不能写入。ROM在掉电后信息不丢失。 当单片机系统出现片内存储容量不够时,还可以扩展片外存储器。片外存储器也包括片 外程序存储器ROM和片外数据存储器RAM两种。 3.1MCS-51单片机的程序存储器 8051单片机芯片内含有4K字节的程序存储器ROM,为了单片机能够按循序执行一条 条指令,8051单片机专门设有一个专用计数器,称为程序计数器P℃。8051单片机的程序计 数器PC有16位,其功能主要是实现程序的顺序执行,PC中存放将要执行的指令地址,且 具有计数功能。每从程序存储器中取出一条指令后,PC内容自行加1,使其指向下一字节的 地址,PC还可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。 8051单片机片内程序存储器的寻址范围有64KB,其地址从0000H~0FFFH。另外,还 可以扩展片外程序存储器,地址从1000H~FFFH。如图3-1(a)所示为8051程序存储器 的编址图。 对于片内有ROM的单片机,EA引脚应接高电平,使系统从片内开始执行程序,直到 执行完全部程序,如8051芯片。当PC的内容在0~OFFFH之间时,系统执行片内程序存储 器:当PC的内容超过OFFFH时,系统自动去执行片外程序存储器。 对于片内无ROM的单片机,则EA引脚应接低电平,使其只访问片外程序存储器,如 8031芯片。 由于EA引脚的存在,还可以让片内程序存储器与片外程序存储器的地址重叠,借助EA 的高、低电平来确定是访问片内程序存储器,还是片外程序存储器。 MCS-51系列单片机片内程序存储器中有7个特殊单元,留作特殊用途,从其内容可分 为二组特殊单元。一组有一个特殊单元,作系统复位用,入口地址从0000H开始,系统复位 后,程序计数器P℃的内容置为0000H,系统从0000H单元开始取指令,并执行程序,一般 在0000H0002H单元中存放一条无条件跳转指令,以便用户直接去执行指定的程序。另一 组有6个特殊单元,分别存放6个中断源和中断服务程序的入口地址,详见表3-1所示。在 这6个特殊单元中,每一个特殊单元中一般都存放一条无条件跳转指令,中断响应后,按中 断种类,自动转移到中断区的首地址上,然后执行无条件跳转指令,转移到该中断的中断服 2
第 3 单元 单片机的存储器 2 单片机中,除了有中央处理器 CPU 外,还必须含有存储器,用于存放工作所需的程序和 数据。8051 单片机片内含有数据存储器 RAM 和程序存储器 ROM 两类存储器。RAM 称为读 写存储器,主要用于存储数据,又称为数据存储器,它可根据需要读出、写入各种数据,或 与外界进行信息交换等。RAM 是易失性存储介质,掉电后信息消失。ROM 称为只读存储器, 主要用于存储程序,又称为程序存储器,它必须在单片机工作之前,存入各种程序、常数等 内容,工作后,只能读出,不能写入。ROM 在掉电后信息不丢失。 当单片机系统出现片内存储容量不够时,还可以扩展片外存储器。片外存储器也包括片 外程序存储器 ROM 和片外数据存储器 RAM 两种。 3.1 MCS-51 单片机的程序存储器 8051 单片机芯片内含有 4K 字节的程序存储器 ROM,为了单片机能够按循序执行一条 条指令,8051 单片机专门设有一个专用计数器,称为程序计数器 PC。8051 单片机的程序计 数器 PC 有 16 位,其功能主要是实现程序的顺序执行,PC 中存放将要执行的指令地址,且 具有计数功能。每从程序存储器中取出一条指令后,PC 内容自行加 1,使其指向下一字节的 地址,PC 还可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。 8051 单片机片内程序存储器的寻址范围有 64KB,其地址从 0000H~0FFFH。另外,还 可以扩展片外程序存储器,地址从 1000H~FFFFH。如图 3-1(a)所示为 8051 程序存储器 的编址图。 对于片内有 ROM 的单片机, EA 引脚应接高电平,使系统从片内开始执行程序,直到 执行完全部程序,如 8051 芯片。当 PC 的内容在 0~0FFFH 之间时,系统执行片内程序存储 器;当 PC 的内容超过 0FFFH 时,系统自动去执行片外程序存储器。 对于片内无 ROM 的单片机,则 EA 引脚应接低电平,使其只访问片外程序存储器,如 8031 芯片。 由于 EA 引脚的存在,还可以让片内程序存储器与片外程序存储器的地址重叠,借助 EA 的高、低电平来确定是访问片内程序存储器,还是片外程序存储器。 MCS-51 系列单片机片内程序存储器中有 7 个特殊单元,留作特殊用途,从其内容可分 为二组特殊单元。一组有一个特殊单元,作系统复位用,入口地址从 0000H 开始,系统复位 后,程序计数器 PC 的内容置为 0000H,系统从 0000H 单元开始取指令,并执行程序,一般 在 0000H~0002H 单元中存放一条无条件跳转指令,以便用户直接去执行指定的程序。另一 组有 6 个特殊单元,分别存放 6 个中断源和中断服务程序的入口地址,详见表 3-1 所示。在 这 6 个特殊单元中,每一个特殊单元中一般都存放一条无条件跳转指令,中断响应后,按中 断种类,自动转移到中断区的首地址上,然后执行无条件跳转指令,转移到该中断的中断服

片机技术及应用 务的子程序去执行。 0000H 0000H 00H 片内ROM 片外ROM 0000H 7FH 片内RAM EA=1 EA=0 OFFFH OFFFH 80H SFR 片外RAM FFH 1000H 片外ROM FFFFH FFFFH (a)程序存储器 (b)数据存储器 图3-18051单片机存储器的编址图 表3-1中断入口地址表 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行接口中断 0023H 定时器T2中断 002BH 3.2MCS-51单片机的数据存储器 MCS-51系列单片机内部数据存储器RAM共有256个单元。对于8051芯片而言,通常 把256个单元按其功能划分为两部分,前128个字节,其编址为00H~7FH,后128个字节 其编址为80H~FFH。前128个字节是8051单片机真正的数据存储器RAM,分为三个区域: 工作寄存器区、位寻址区、堆栈和数据缓冲器区。后128个字节是8051单片机供给专用寄 存器使用的,称之为专门寄存器区,这些寄存器也称为特殊功能寄存器SFR,如程序计算器 PC,累加器A、寄存器B、程序状态字寄存器PWS等。如图3-1(b)所示为8051数据存储器 编址图。 下面对前128个字节RAM的三个区域作一说明: 1.工作寄存器区 3
单片机技术及应用 3 务的子程序去执行。 (a)程序存储器 (b)数据存储器 图 3-1 8051 单片机存储器的编址图 表 3-1 中断入口地址表 中断源 入口地址 外部中断 0 0003H 定时器 T0 中断 000BH 外部中断 1 0013H 定时器 T1 中断 001BH 串行接口中断 0023H 定时器 T2 中断 002BH 3.2 MCS-51 单片机的数据存储器 MCS-51 系列单片机内部数据存储器 RAM 共有 256 个单元。对于 8051 芯片而言,通常 把 256 个单元按其功能划分为两部分,前 128 个字节,其编址为 00H~7FH,后 128 个字节 其编址为 80H~FFH。前 128 个字节是 8051 单片机真正的数据存储器 RAM,分为三个区域: 工作寄存器区、位寻址区、堆栈和数据缓冲器区。后 128 个字节是 8051 单片机供给专用寄 存器使用的,称之为专门寄存器区,这些寄存器也称为特殊功能寄存器 SFR,如程序计算器 PC,累加器 A、寄存器 B、程序状态字寄存器 PWS 等。如图 3-1(b)所示为 8051 数据存储器 编址图。 下面对前 128 个字节 RAM 的三个区域作一说明: 1.工作寄存器区 片内 ROM 片外 ROM 片外 ROM EA 0 0FFFH 0000H FFFFH 1000H EA 1 0FFFH 0000H 片内 RAM 片外 RAM FFFFH 0000H SFR 7FH 00H 80H FFH

第3单元单片机的存储器 工作寄存器区的编址从O0H~1FH,共分为四组寄存器。每个组都是8个单元,各组都 以R0~R7作为寄存器单元编号。寄存器主要用于存放操作数及中间结果,对它们功能及使用 不需作任何规定,所以,也称为通用寄存器。使用时,CPU只能使用其中一组工作寄存器, 其他各组不工作,处于等待工作状态,到底哪一组工作,由程序状态字寄存器PSW中RS1、 RS0两位的状态组合来进行选择,见表3-2。 表3-2工作寄存器选择表 RS1 RSO 工作寄存器组 0 0 0组(00H~-07D 0 1 1组(08H~0FH) 1 0 2组(10H~17H 1 3组(18H~1FHD 工作寄存器区的存在为CPU就近、快速存储数据提供了方便,同时提高了单片机的运算 速度和程序编制的灵活性。 2.位寻址区 位寻址区包括两个部分:其一是内部RAM的20H~2FH,共有16个RAM单元,计128 位,每一位都赋予一个位地址,位地址范围O0H~7H。第二个位寻址区是特殊功能寄存器 中地址能被8整除的单元,共128位(实际使用93位),位地址范围80H~F℉H。有了这些 位地址就可以位寻址,可以存放各种程序状态标志及位控制变量等。MCS-51单片机具有布 尔处理功能,布尔处理机的存储空间就是指这个位寻址区,见表3-3。 表3-3位寻址空间分布表 位序 D7 D6 D5 D4 D3 D2 DI DO 位址 20H 07H 06H 05H 04H 03H 02H 01H 00H 21H OFH OEH ODH OCH OBH OAH 09H 08H 22H 17H 16H 15H 14H 13H 12H 11H 10H 23H 1FH 1EH 1DH ICH 1BH 1AH 19H 18H 24H 27H 26H 25H 24H 23H 22H 21H 20H 25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 26H 37H 36H 35H 34H 33H 32H 31H 30H 27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H 28H 47H 46H 45H 44H 43H 42H 41H 40H 29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H 2AH 57H 56H 55H 54H 53H 52H 51H 50H 2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H 2CH 67H 66H 65H 64H 63H 62H 61H 60H
第 3 单元 单片机的存储器 4 工作寄存器区的编址从 00H~1FH,共分为四组寄存器。每个组都是 8 个单元,各组都 以 R0~R7 作为寄存器单元编号。寄存器主要用于存放操作数及中间结果,对它们功能及使用 不需作任何规定,所以,也称为通用寄存器。使用时,CPU 只能使用其中一组工作寄存器, 其他各组不工作,处于等待工作状态,到底哪一组工作,由程序状态字寄存器 PSW 中 RS1、 RS0 两位的状态组合来进行选择,见表 3-2。 表 3-2 工作寄存器选择表 RS1 RS0 工作寄存器组 0 0 0 组(00H~07H) 0 1 1 组(08H~0FH) 1 0 2 组(10H~17H) 1 1 3 组(18H~1FH) 工作寄存器区的存在为 CPU 就近、快速存储数据提供了方便,同时提高了单片机的运算 速度和程序编制的灵活性。 2.位寻址区 位寻址区包括两个部分:其一是内部 RAM 的 20H~2FH,共有 16 个 RAM 单元,计 128 位,每一位都赋予一个位地址,位地址范围 00H~7FH。第二个位寻址区是特殊功能寄存器 中地址能被 8 整除的单元,共 128 位(实际使用 93 位),位地址范围 80H~FFH。有了这些 位地址就可以位寻址,可以存放各种程序状态标志及位控制变量等。MCS-51 单片机具有布 尔处理功能,布尔处理机的存储空间就是指这个位寻址区,见表 3-3。 表 3-3 位寻址空间分布表 位序 位址 D7 D6 D5 D4 D3 D2 D1 D0 20H 07H 06H 05H 04H 03H 02H 01H 00H 21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H 22H 17H 16H 15H 14H 13H 12H 11H 10H 23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H 24H 27H 26H 25H 24H 23H 22H 21H 20H 25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 26H 37H 36H 35H 34H 33H 32H 31H 30H 27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H 28H 47H 46H 45H 44H 43H 42H 41H 40H 29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H 2AH 57H 56H 55H 54H 53H 52H 51H 50H 2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H 58H 2CH 67H 66H 65H 64H 63H 62H 61H 60H

片机技术及应用 2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H 2EH 77H 76H 75H 74H 73H 72H 71H 70H 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 3.堆栈和数据缓冲区 (1)堆栈 堆栈是采用“先进后出”工作方式的一片缓冲区,如图3-2所示。单片机中的堆栈是开 辟在内部RAM中的,用于暂时存放信息的存储单元,它是为了程序调用和中断操作而设立 的,具体功能是为了保护现场和保护断点。堆栈有两种操作方式,将数据送入堆栈称为压入 操作,简称入栈。把堆栈中内容取出来的操作称为弹出操作,简称出栈。MCS-51系列单片 机内部数据存储器中堆栈的位置是不固定的,它是利用一个8位专用寄存器堆栈指针SP来 确定栈顶的地址,以确定堆栈在RAM中位置,称为建立堆栈,SP起着管理堆栈的作用,实 现堆栈正确的操作,常用程序指令来完成。一般情况下,MCS-51系列单片机复位后SP的 初始化地址为07H。 (2)数据缓冲器区 数据缓冲器区的编址从30H~7FH,共80个单元,主要提供给用户使用,也称之为用户 RAM区。对数据缓冲区一般没有明确的使用规定,只是常把堆栈开辟在此区中。这时,应 注意把SP初始化的值定在30H以后,当SP一经确定,堆栈的位置也就确定下来了。 进栈 +出栈 栈顶 SP 栈底 图3-2堆栈结构图 3.3存储器扩展方法* MCS-51单片机的芯片内集成了程序存储器和数据存储器,一般单片机最小应用系统最 能发挥单片机体积小、成本低的特点。但在许多较复杂的应用场合,需要存储器扩展。 由于存储器可由多片芯片组成,因此存储器的编址分为两个层次,既存储器芯片的选择 和存储器芯片内部存储单元的选择。对于存储器芯片内部存储单元的选择,方法很简单,就 是把存储器芯片的地址引线按位号和相应的系统地址线直接连接即可实现。而存储器芯片的 选择却比较复杂,利用译码器采用译码法进行存储器芯片选择是常用的方法
单片机技术及应用 5 2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H 2EH 77H 76H 75H 74H 73H 72H 71H 70H 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 3.堆栈和数据缓冲区 (1)堆栈 堆栈是采用“先进后出”工作方式的一片缓冲区,如图 3-2 所示。单片机中的堆栈是开 辟在内部 RAM 中的,用于暂时存放信息的存储单元,它是为了程序调用和中断操作而设立 的,具体功能是为了保护现场和保护断点。堆栈有两种操作方式,将数据送入堆栈称为压入 操作,简称入栈。把堆栈中内容取出来的操作称为弹出操作,简称出栈。MCS-51 系列单片 机内部数据存储器中堆栈的位置是不固定的,它是利用一个 8 位专用寄存器堆栈指针 SP 来 确定栈顶的地址,以确定堆栈在 RAM 中位置,称为建立堆栈,SP 起着管理堆栈的作用,实 现堆栈正确的操作,常用程序指令来完成。一般情况下,MCS-51 系列单片机复位后 SP 的 初始化地址为 07H。 (2)数据缓冲器区 数据缓冲器区的编址从 30H~7FH,共 80 个单元,主要提供给用户使用,也称之为用户 RAM 区。对数据缓冲区一般没有明确的使用规定,只是常把堆栈开辟在此区中。这时,应 注意把 SP 初始化的值定在 30H 以后,当 SP 一经确定,堆栈的位置也就确定下来了。 图 3-2 堆栈结构图 3.3 存储器扩展方法* MCS-51 单片机的芯片内集成了程序存储器和数据存储器,一般单片机最小应用系统最 能发挥单片机体积小、成本低的特点。但在许多较复杂的应用场合,需要存储器扩展。 由于存储器可由多片芯片组成,因此存储器的编址分为两个层次,既存储器芯片的选择 和存储器芯片内部存储单元的选择。对于存储器芯片内部存储单元的选择,方法很简单,就 是把存储器芯片的地址引线按位号和相应的系统地址线直接连接即可实现。而存储器芯片的 选择却比较复杂,利用译码器采用译码法进行存储器芯片选择是常用的方法。 进栈 出栈 栈底 栈顶 SP

第3单元单片机的存嘶器 译码法又分为完全译码和部分译码两种。 (1)完全译码:地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1 个存储单元只占用1个唯一地址。 (2)部分译码:地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而 是1个存储单元占用了几个地址。1根地址线不接,一个单元占用2(21)个地址:2根地址 线不接,一个单元占用4(22)个地址。若有n根地址线不接,则占用2n个地址。实际使用 时,为简单起见,往往取数值最小或最大的一组地址。 对于单片机系统来说,由于实际需要的存储器容量往往大大低于所能提供的容量,而 分译码可以简化译码电路,所以使用得比较多。 在设计地址译码器电路时,如果采用地址译码关系图的话,将会带来很大的方便。 所谓地址译码关系图,就是一种用简单的符号来代表全部地址译码关系的示意图。 例如: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 Al A0 0100········ 上述打“·”部分为片内译码,其地址变化范围为全“0”~全“1”。打“×”的位置 为不接的地址线,只要有1个或1个以上的“×”,即为部分译码。该位为0或1均为有效 地址。“0”表示该位为“0”有效:“1”表示该位为“1”有效。 从地址译码关系图上可以看出以下几点: (1)属完全译码还是部分译码: (2)片内译码线和片外译码各有多少根: (3)所占用的全部地址范围为多少。 在上面的关系图中,有1个“×”(A15不接),表示为部分译码,每个单元占用2个 地址。片内译码线有11根(A10~A0),片外译码线有4根。其所占用的地址范围如下: 当A15为0时,所占用地址为0010000000000000~0010011111111111,即2000H~ 27FFH。 当A15为1时,所占用地址为1010000000000000~1010011111111111,即2000H~ 27FFH。 共占用了两组地址,这两组地址在使用中同样有效。 应该指出的是,随着半导体存储器的不断发展,大容量、高性能、低价格的存储器不断 推出,这就使得存储器的扩展变得更加方便,译码电路也越来越简单。 6
第 3 单元 单片机的存储器 6 译码法又分为完全译码和部分译码两种。 (1)完全译码:地址译码器使用了全部地址线,地址与存储单元一一对应,也就是 1 个存储单元只占用 1 个唯一地址。 (2)部分译码:地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而 是 1 个存储单元占用了几个地址。1 根地址线不接,一个单元占用 2(2 1)个地址;2 根地址 线不接,一个单元占用 4(2 2)个地址。若有 n 根地址线不接,则占用 2 n个地址。实际使用 时,为简单起见,往往取数值最小或最大的一组地址。 对于单片机系统来说,由于实际需要的存储器容量往往大大低于所能提供的容量,而部 分译码可以简化译码电路,所以使用得比较多。 在设计地址译码器电路时,如果采用地址译码关系图的话,将会带来很大的方便。 所谓地址译码关系图,就是一种用简单的符号来代表全部地址译码关系的示意图。 例如: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 × 0 1 0 0 · · · · · · · · · · · 上述打“·”部分为片内译码,其地址变化范围为全“0”~全“1”。打“×”的位置 为不接的地址线,只要有 1 个或 1 个以上的“×”,即为部分译码。该位为 0 或 1 均为有效 地址。“0”表示该位为“0”有效;“1” 表示该位为“1”有效。 从地址译码关系图上可以看出以下几点: (1)属完全译码还是部分译码; (2)片内译码线和片外译码各有多少根; (3)所占用的全部地址范围为多少。 在上面的关系图中,有 1 个“×”(A15 不接),表示为部分译码,每个单元占用 2 个 地址。片内译码线有 11 根(A10~A0),片外译码线有 4 根。其所占用的地址范围如下: 当 A15 为 0 时,所占用地址为 0010000000000000~0010011111111111,即 2000H~ 27FFH。 当 A15 为1时,所占用地址为 1010000000000000~1010011111111111,即 2000H~ 27FFH。 共占用了两组地址,这两组地址在使用中同样有效。 应该指出的是,随着半导体存储器的不断发展,大容量、高性能、低价格的存储器不断 推出,这就使得存储器的扩展变得更加方便,译码电路也越来越简单

片机技术及应用 3.4程序存储器的扩展* 程序存储器用于存储程序代码和程序常数。由于单片机的应用系统通常是专用的微机系 统,一旦系统研制完毕其软件也就定型了,所以,单片机的程序存储器一般由半导体只读存 储器组成。MCS-51的程序存储器寻址空间为64KB。其中8051/8751片内包含4KB的ROM 或EPROM,8031片内不带ROM。当片内ROM不够用或采用8031芯片时,需扩展程序存 储器。 程序存储器的地址范围为O00OH~FFFFH,虽然与数据存储器地址重叠,但寻址空间独 立,使用单独的控制信号和指令,程序存储器的指令和数据读取由PSEN控制,读取数据用 MOVC查表指令。 3.4.1 EPROM程序存储器 一般PROM、EPROM、EEPROM等半导体存储器都可以作为外部扩展程序存储器。由 于EPROM价格低廉,性能可靠,使用方便,所以用EPROM作单片机的外部程序存储器是 最为常用的程序存储器扩展方法。 一.EPROM的功能特性 EPROM是紫外线可擦抹电可编程的半导体只读存 VPP 1 28 Vcc 储器,掉电后信息不会丢失,EPROM中的程序一般由AI2□2 27 ✉PG 专门的编程器写入。MCS-51单片机应用系统中使用最 A7 C 26 A6 25 S 多的EPROM程序存储器是Intel公司的典型系列芯片 A5= 24 ☐A9 2716(2K×8)、2732(4K×8)、2764(8K×8)、27128 A4 6 2764 23 ☐A11 A3 OE (16K×8)和27256(32K×8)等。下面以2764为例, 7(8k×8)22 A2 8 21 ✉A10 介绍其引脚及性能。 Al 9 C正 2764是双列直插式28引脚的标准芯片,容量为 A0 0 19 =D7 DO 11 18 ▣ D6 8K×8,其引脚如图3-3所示。 DI 12 17=D5 图中涉及的引脚符号的意义如下: D2 13 16 D4 GND 14 15 D3 ·A12~A0:13位地址输入线。 ·D7~D0:8位三态数据线。 图3-3 EPROM2764引脚图 ·CE:片选信号输入线,低电平有效。 ·PGM:编程脉冲输入线。 ·OE:读选通信号输入线,低电平有效。 ·Vpp:编程电源输入线,编程电压为+25V 或+12V,正常使用时加+5V电压。 >
单片机技术及应用 7 3.4 程序存储器的扩展* 程序存储器用于存储程序代码和程序常数。由于单片机的应用系统通常是专用的微机系 统,一旦系统研制完毕其软件也就定型了,所以,单片机的程序存储器一般由半导体只读存 储器组成。MCS-51 的程序存储器寻址空间为 64KB。其中 8051/8751 片内包含 4KB 的 ROM 或 EPROM,8031 片内不带 ROM。当片内 ROM 不够用或采用 8031 芯片时,需扩展程序存 储器。 程序存储器的地址范围为 0000H~FFFFH,虽然与数据存储器地址重叠,但寻址空间独 立,使用单独的控制信号和指令,程序存储器的指令和数据读取由 PSEN 控制,读取数据用 MOVC 查表指令。 3.4.1 EPROM 程序存储器 一般 PROM、EPROM、EEPROM 等半导体存储器都可以作为外部扩展程序存储器。由 于 EPROM 价格低廉,性能可靠,使用方便,所以用 EPROM 作单片机的外部程序存储器是 最为常用的程序存储器扩展方法。 一.EPROM 的功能特性 EPROM 是紫外线可擦抹电可编程的半导体只读存 储器,掉电后信息不会丢失,EPROM 中的程序一般由 专门的编程器写入。MCS-51 单片机应用系统中使用最 多的 EPROM 程序存储器是 Intel 公司的典型系列芯片 2716(2K×8)、2732(4K×8)、2764(8K×8)、27128 (16K×8)和 27256(32K×8)等。下面以 2764 为例, 介绍其引脚及性能。 2764 是双列直插式 28 引脚的标准芯片,容量为 8K×8,其引脚如图 3-3 所示。 图中涉及的引脚符号的意义如下: A12~A0:13 位地址输入线。 D7~D0:8 位三态数据线。 CE :片选信号输入线,低电平有效。 PGM :编程脉冲输入线。 OE :读选通信号输入线,低电平有效。 VPP:编程电源输入线,编程电压为+25V 或+12V,正常使用时加+5V 电压。 图 3-3 EPROM2764 引脚图 2764 (8k×8) A12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A7 A6 A5 A4 A3 A2 GND A1 D0 D1 D2 A0 VCC 15 16 17 18 19 20 28 27 26 25 24 23 22 21 NC A8 A9 A11 A10 D3 D7 D6 D5 D4 CE OE PGM VPP