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


前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程胜合了数字电子技术、控制技术、软件编程等知识与技能。 本课程国绕MCS-51系列单片机进行学习,课程主要包括有关单片机的基本概念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 /0接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 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 单元 外围设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容

单岸机故术及应用 第6单元 并行接口 【导言】 木单元讲述有关接口的概念、介绍单片机并行口结构、学习并行口输入输出应用,讲透 单片机外部扩展性能,介绍单片机简单L0扩展方法、介绍可编程并行口8255A的扩展方法。 带*的章节是选学内容。 【学习目标】 掌据:单片机并行口的结构和应用。 8051单片机简单1/0扩晨方法。 理解:单片机外部扩展性能。 【学习重点和难点】 1.里点:单片机并行口应用。 2.难点:并行口编程. 【学习内容】 6.1MCS.51单片机的并行输入输出接口 6.2MCS-51单片机的外部扩展性能 6.3并行口应用 6.48255A可编程并行10扩展接口
单片机技术及应用 1 第 6 单元 并行接口 【导言】 本单元讲述有关接口的概念、介绍单片机并行口结构、学习并行口输入输出应用。讲述 单片机外部扩展性能,介绍单片机简单 I/O 扩展方法、介绍可编程并行口 8255A 的扩展方法。 带* 的章节是选学内容。 【学习目标】 掌 握:单片机并行口的结构和应用。 8051 单片机简单 I/O 扩展方法。 理 解:单片机外部扩展性能。 【学习重点和难点】 1.重点:单片机并行口应用。 2.难点:并行口编程。 【学习内容】 6.1 MCS -51 单片机的并行输入/输出接口 6.2 MCS-51 单片机的外部扩展性能 6.3 并行口应用 *6.4 8255A 可编程并行 I/O 扩展接口

常6草完外行按口 外部设备的功能是多种多样的,所使用的信息有数字式的,也有模拟式的,其信息可能 是并行的,也可能是串行的。外设工作速度通常与CU也不四配,所以必须有各种各样的接 口电路来完成不同功能的外设与CPU的连接。完成数字式信号和非数字式信号之间的转换, 完成并行数据和申行数据之问的转换,协博外设与CU的速度等。输入/输出接口电路就是 为了解决计算机和外部设备之间的信息变换问题面提出的,输入输出接口是CPU和外设之 间的缓冲电路。 本章讨论单片机的并行口接口。讲述单片机的并行口结构和应用,介绍简单O口的扩 展、利用串行口扩展并行O口、,可编程并行口8255A的扩展等。 6.1MCS-51单片机的并行输入输出接口 单片微型计算机在工业控制等领域的应用,都必须与各种外田设备连接起来,而输入/ 输出口是连接单片机与外国设备不可峡少的功能模块,MCS-51系列8051芯片内有四个8位 并行输入输出接口,32根输入输出口线:这些并行输入输出接口,又简称为O按口,分 别记作0口、P1口、P2口和P3口, 单片机的4个O口蜡口的设计有相同之处,但因为各个端口功能不同又有所差别。各 端口的设计各具特点。各端口结构上的差异,使得各口的性所和功能也就有了差异。熟悉各 端口的电路设计,不但可以熟练的使用它,还可以作为其它电路的输入输出部分的设计参考。 6.1.1P0▣ 0口的逻纸电路结构如图6-1所示,它包含】个数裙输出锁存器,2个三态数据输入缓 冲器,1个输出驱动电路和一个输出控制电路。 试衡存器信号 地址/数据输出 控制信号 内部总战 CLK Q 写硫存器信号 多路开关 读信号 图6-1W口的2绸电路结构图
第 6 单元 并行接口 2 外部设备的功能是多种多样的,所使用的信息有数字式的,也有模拟式的,其信息可能 是并行的,也可能是串行的,外设工作速度通常与 CPU 也不匹配,所以必须有各种各样的接 口电路来完成不同功能的外设与 CPU 的连接,完成数字式信号和非数字式信号之间的转换, 完成并行数据和串行数据之间的转换,协调外设与 CPU 的速度等。输入/输出接口电路就是 为了解决计算机和外部设备之间的信息变换问题而提出的,输入/输出接口是 CPU 和外设之 间的缓冲电路。 本章讨论单片机的并行口接口。讲述单片机的并行口结构和应用,介绍简单 I/O 口的扩 展、利用串行口扩展并行 I/O 口、可编程并行口 8255A 的扩展等。 6.1 MCS -51 单片机的并行输入/输出接口 单片微型计算机在工业控制等领域的应用,都必须与各种外围设备连接起来,而输入/ 输出口是连接单片机与外围设备不可缺少的功能模块。MCS-51 系列 8051 芯片内有四个 8 位 并行输入/输出接口,32 根输入/输出口线。这些并行输入/输出接口,又简称为 I/O 接口,分 别记作 P0 口、P1 口、P2 口和 P3 口。 单片机的 4 个 I/O 口端口的设计有相同之处,但因为各个端口功能不同又有所差别,各 端口的设计各具特点。各端口结构上的差异,使得各口的性质和功能也就有了差异。熟悉各 端口的电路设计,不但可以熟练的使用它,还可以作为其它电路的输入输出部分的设计参考。 6.1.1 P0 口 P0 口的逻辑电路结构如图 6-1 所示,它包含 1 个数据输出锁存器,2 个三态数据输入缓 冲器,1 个输出驱动电路和一个输出控制电路。 V2 VCC 读锁存器信号 D Q 内部总线 CLK Q V1 写锁存器信号 读信号 地址/数据输出 控制信号 多路开关 1 2 图 6-1 P0 口的逻辑电路结构图

维岸机技求及应用 数据输出锁存器是由D触发器构成,输出控制电路由一个多路转换开关、与门和反相器 等短成,输出驱动电路由一对场效应管组成,上管导通,下音被止时,输出高电平:上管被 止,下管导还时,输出低电平;上、下管都被止时,引脚滑空, P阳口的功能有:旺可以作为通用的O。进行数据输入、输出!,又可以作为单片机系统 的地址数据线使用。 当作为通用1O口使用时,内部控制信号为“0”,且多路开关接锁存器的Q强,锁行 器置“1”时,由于控制信号为0,使上、下两管都截止,引脚浮空。而锁存器置“0”时, 下管导通,输出低电平, 当作为系统的地址/数据线使用时,内部控制信号为“1”,多路开关打向上方,在执行 输出领据指令时,根据数据信号的“1”或“0”,使管脚出现高、纸电平,在执行输入数据 的指令或取指操作时,地址经引脚输出。而数据经输入缓冲器进入内部总线。在实际应用中, P0口都是作为系统的电址/数据线使用的。 6.1.2P1▣ P1口的逻辑电路结构如图6-2所示,它与P0口电路结构上的不同之处在于:它不再需要 多路转换开关,但电路内部增加一个上拉电阻与一个场效应管一起组成输出业动电路。 读填存器信号 上拉电阻 内部总线 CLK Q 写镜存器信号 读信号 图62P1】口的逐辑电路结构图 P1口为准双向口。使用时,用户可以把PI口的某些口位作为输出线使用,另外一些口 位作为输入线使用 6.1.3P2▣ P2口的逻辑电路如图6-3所示,它的结构与P1口的不同之处在于增加了一个多路转换开 关。 3
单片机技术及应用 3 数据输出锁存器是由 D 触发器构成,输出控制电路由一个多路转换开关、与门和反相器 等组成,输出驱动电路由一对场效应管组成,上管导通,下管截止时,输出高电平;上管截 止,下管导通时,输出低电平;上、下管都截止时,引脚浮空。 P0 口的功能有:既可以作为通用的 I/O,进行数据输入、输出,又可以作为单片机系统 的地址数据线使用。 当作为通用 I/O 口使用时,内部控制信号为“0”,且多路开关接锁存器的 Q 端。锁存 器置“1”时,由于控制信号为 0,使上、下两管都截止,引脚浮空。而锁存器置“0”时, 下管导通,输出低电平。 当作为系统的地址/数据线使用时,内部控制信号为“1”,多路开关打向上方,在执行 输出数据指令时,根据数据信号的“1”或“0”,使管脚出现高、低电平,在执行输入数据 的指令或取指操作时,地址经引脚输出,而数据经输入缓冲器进入内部总线。在实际应用中, P0 口都是作为系统的地址/数据线使用的。 6.1.2 P1 口 P1 口的逻辑电路结构如图 6-2 所示,它与 P0 口电路结构上的不同之处在于:它不再需要 多路转换开关,但电路内部增加一个上拉电阻与一个场效应管一起组成输出驱动电路。 P1 口为准双向口。使用时,用户可以把 P1 口的某些口位作为输出线使用,另外一些口 位作为输入线使用。 6.1.3 P2 口 P2 口的逻辑电路如图 6-3 所示,它的结构与 P1 口的不同之处在于增加了一个多路转换开 关。 图 6-2 P1 口的逻辑电路结构图 VCC 上拉电阻 读锁存器信号 D Q 内部总线 CLK Q V1 写锁存器信号 读信号 1 2

第6单元并行推口 读领存器信号 地址 控制伯号 上拉电阻 内军总线 CLK 写核存馨信号 多落开关 读信写 图63P2口的逻钳电路站构图 2口有两种功能,由多路转换开关米控制。 (1》对于芯片内部有程序存储器的MS-51单片机(如8051芯片),P2口作通用1O 口用,它是一个准双向口,可直接连接输入输出设备。 (2)对于芯片内部无程序存储器的MCS-51单片机(如8D31芯片),必须外接程序存 储器,则P2口作为系统扩展用,输出高8位地址总线输出口。 6.1.4P3口 P3口的逻辑电路结构如图64所示。 读锁在器信号 第二功能输出 上拉电阻 内部总线 CLK 写铺存墨信号 读信号 第二功使输入 图64P3口的逐辑电路结枸图 P3口是·个多功能口。分别为输入粉出口和第二功能口。当P3口用作O接口时,其 功能与P1口相同。当P3口作为第二功能使用时,锁存器Q端必须为高电平,以锥持输入 输出信号的杨通 4
第 6 单元 并行接口 4 P2 口有两种功能,由多路转换开关来控制。 (1)对于芯片内部有程序存储器的 MCS-51 单片机(如 8051 芯片),P2 口作通用 I/O 口用,它是一个准双向口,可直接连接输入/输出设备。 (2)对于芯片内部无程序存储器的 MCS-51 单片机(如 8031 芯片),必须外接程序存 储器,则 P2 口作为系统扩展用,为输出高 8 位地址总线输出口。 6.1.4 P3 口 P3 口的逻辑电路结构如图 6-4 所示。 P3 口是一个多功能口,分别为输入/输出口和第二功能口。当 P3 口用作 I/O 接口时,其 功能与 P1 口相同。当 P3 口作为第二功能使用时,锁存器 Q 端必须为高电平,以维持输入/ 输出信号的畅通。 图 6-3 P2 口的逻辑电路结构图 VCC上拉电阻 读锁存器信号 D Q 内部总线 CLK Q V1 写锁存器信号 读信号 1 2 地址 控制信号 多路开关 上拉电阻 读锁存器信号 VCC D Q 内部总线 CLK Q V1 写锁存器信号 读信号 1 2 第二功能输入 第二功能输出 图 6-4 P3 口的逻辑电路结构图

草师机做米及应用 6.2MCS-51单片机的外部扩展性能 单片机中己经梨成了输入/输出接口电路,但单片机本身的/0口电路,只有数据锁存 和缓冲功能,没有状态寄存和命令功能。另外构成一个实际应用系统(如工业薄控系统)时, 考虑传感器接口、同服控制接口以及人机对话接口等的需要,最小应用系统亦不能满足要求。 因此在较复杂的MCS-51单片机应用系统巾都断要进行输入/输出接口的扩展。 这一节讨论MCS-51单片机的系统扩展能力,了解扩晨总线结构。介绍总线扩展时经常 会使用的总线驱动、地址锁存、译玛等 6.2.1系统扩展的三总线结构 单片机都是通过片外引抑进行系统扩服的。为了满足系统扩展的要求,MCS-51系列单 片机片外引脚可以构成图6-5所示的三总线钻构,即地址总线(AB)、数据总线(DB】和 控制总线(CB)·所有的外部芯片都通过这三条总线进行扩展。 P2 A15--A8 (AB 地址 XTAL2 A7-AD)- 铺种 8031 o D7~-D0(DB) A ALE RXD P3.0 PSEN IXD P3.6 WR P3.1 P3.7 RD (CB) INI Vcc P32 INTI Vss 3.3 P3.4 T 1 RST P3.5 图6-5.MC3-51年片机的总线脚结构 1.数据总线(DB) 数据总线由阳口提供,该口为三态双向口,其宽度为8位, 2.地址总线(AB) 地址总线宽度为16位,故可寻址范国为21-64K字节: 地比总线由P0口提供低8位A7~A0,2口提供高8位A15一A8。由于P)口还要作数
单片机技术及应用 5 6.2 MCS-51 单片机的外部扩展性能 单片机中已经集成了输入/输出接口电路,但单片机本身的 I/O 口电路,只有数据锁存 和缓冲功能,没有状态寄存和命令功能。另外构成一个实际应用系统(如工业测控系统)时, 考虑传感器接口、伺服控制接口以及人机对话接口等的需要,最小应用系统亦不能满足要求。 因此在较复杂的 MCS-51 单片机应用系统中都需要进行输入/输出接口的扩展。 这一节讨论 MCS-51 单片机的系统扩展能力,了解扩展总线结构。介绍总线扩展时经常 会使用的总线驱动、地址锁存、译码等。 6.2.1 系统扩展的三总线结构 单片机都是通过片外引脚进行系统扩展的。为了满足系统扩展的要求,MCS-51 系列单 片机片外引脚可以构成图 6-5 所示的三总线结构,即地址总线(AB)、数据总线(DB)和 控制总线(CB)。所有的外部芯片都通过这三条总线进行扩展。 1.数据总线(DB) 数据总线由 P0 口提供,该口为三态双向口,其宽度为 8 位。 2.地址总线(AB) 地址总线宽度为 16 位,故可寻址范围为 2 16=64K 字节。 地址总线由 P0 口提供低 8 位 A7~A0,P2 口提供高 8 位 A15~A8。由于 P0 口还要作数 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 图 6-5 MCS-51 单片机的总线引脚结构 (AB) 地址 锁存 P2 P0 A15~A8 A7~A0 D7~D0 (DB) (CB) 8031 XTAL1 XTAL2 RXD TXD VCC VSS ALE RST T0 EA PSEN T1 WR RD INT0 INT1 P3.0 P3.1

第6兼元外行接口 器总线口,所以O是分时复用的,P0口输出的低8位地址数据必须用领存器锁存。 P2口具有输出镇存功能,故不需外加如锁存器。PO,P2口在系统扩展中用作地址线后便 不能作为般I/O口使用。 3.控制总线(CB) 控制总线包括片外系统扩展用控制线和片外信号输入单片机的信号线. 系统扩展用控制线有WR、RD、PSEN、ALE、EA, ·RD:外部数据存储器(RAM)或外部扩展I/O口的读控制信号。 ·WR:外部数据存储器(RAM)或外部扩展I/O口的写控制信号, ·PSEN:外部程序存储器的读允许控制信号,。 ·ALE:P0口地址锁存允许信号。 ·EA:速梯片内或片外程序存储器。 其它控制信号线为片外信号对单片机的控制线。 NTD、NT1为外部中断0、1的输入:T0、T1为定时器/计数器0、1的外部输入:RST 为复位引脚,接复位电路:RXD和TXD为市行口的输入、输出口线。 片外数据存储器与程序存储器的操作使用不可的指令和控制信号,允许两者的地址重 复。MCS-51访问外部数据存储器时,RD或WR有效,而PSEN无效:MCS-51访问外部 程序行储器时,PSEN有效,而RD和WR无效,MCS-51不会同时访问这两个外都存储空 间。 根据地址总线宽度,片外可扩展的数据存储浴与程序存储器分别为64K字节。地址范国 为0001H一FFFFI 片外数据存结器与片内数据存储器的操作指令不同,片外RAM或扩展1O口只能用 MOVX指令访问. 片内、片外程序存储器的选环靠硬件结构实现。当A)时,CPU只访问外部程序存储 器:当EA=1时,CPU将片内、片外的程序存储器看成一个统一的空间访问。 打展的1/O口与片外数据存储器统一编址,其控制相同。 通过以上对MCS-51单片机片外总线结构的讨论,可以对MCS-51单片机的系统扩展能 力作如下概括: MCs-51单片机有四个8位并行1/O口,原理上这四个口都可以作为双向并行L/0接口 使用,但在实际应用中,只有对于片内有ROM/EPROM的单片机8051/8751,并且在不使 用外部扩展时,才允许这四个口作为用户1/O口使用。对于大多数使用8031以及使用 80518751需外部扩展时,P0口和P2口被用作扩展总线。MCS-51单片机可提供给用户使用 的1/O口只有P1口和部分P?口线(3口常用作它的第二功能,多数口线作为控制信号用). 所以一般购需增加韩助的按口电路: I/O口的扩展总是为实现某一测控功能而进行的。例如连接键盈、显示卷、驱动开关控 制、开关监测等。因此1/0扩展时首先应考虑与之相连的外设硬件电路特性,如驱动功率
第 6 单元 并行接口 6 据总线口,所以 P0 是分时复用的。P0 口输出的低 8 位地址数据必须用锁存器锁存。 P2 口具有输出锁存功能,故不需外加锁存器。P0、P2 口在系统扩展中用作地址线后便 不能作为一般 I/O 口使用。 3.控制总线(CB) 控制总线包括片外系统扩展用控制线和片外信号输入单片机的信号线。 系统扩展用控制线有 WR 、 RD 、 PSEN 、ALE、 EA 。 RD :外部数据存储器(RAM)或外部扩展 I/O 口的读控制信号。 WR :外部数据存储器(RAM)或外部扩展 I/O 口的写控制信号。 PSEN :外部程序存储器的读允许控制信号。 ALE:P0 口地址锁存允许信号。 EA :选择片内或片外程序存储器。 其它控制信号线为片外信号对单片机的控制线。 INT0 、INT1为外部中断 0、1 的输入;T0、T1 为定时器/计数器 0、1 的外部输入;RST 为复位引脚,接复位电路;RXD 和 TXD 为串行口的输入、输出口线。 片外数据存储器与程序存储器的操作使用不同的指令和控制信号,允许两者的地址重 复。MCS-51 访问外部数据存储器时, RD 或 WR 有效,而 PSEN 无效;MCS-51 访问外部 程序存储器时, PSEN 有效,而 RD 和 WR 无效。MCS-51 不会同时访问这两个外部存储空 间。 根据地址总线宽度,片外可扩展的数据存储器与程序存储器分别为 64K 字节。地址范围 为 0000H~FFFFH。 片外数据存储器与片内数据存储器的操作指令不同,片外 RAM 或扩展 I/O 口只能用 MOVX 指令访问。 片内、片外程序存储器的选择靠硬件结构实现。当 EA =0 时,CPU 只访问外部程序存储 器;当 EA =1 时,CPU 将片内、片外的程序存储器看成一个统一的空间访问。 扩展的 I/O 口与片外数据存储器统一编址,其控制相同。 通过以上对 MCS-51 单片机片外总线结构的讨论,可以对 MCS-51 单片机的系统扩展能 力作如下概括: MCS-51 单片机有四个 8 位并行 I/O 口,原理上这四个口都可以作为双向并行 I/O 接口 使用,但在实际应用中,只有对于片内有 ROM/EPROM 的单片机 8051/8751,并且在不使 用外部扩展时,才允许这四个口作为用户 I/O 口使用。对于大多数使用 8031 以及使用 8051/8751 需外部扩展时,P0 口和 P2 口被用作扩展总线。MCS-51 单片机可提供给用户使用 的 I/O 口只有 P1 口和部分 P3 口线(P3 口常用作它的第二功能,多数口线作为控制信号用)。 所以一般均需增加辅助的接口电路。 I/O 口的扩展总是为实现某一测控功能而进行的。例如连接键盘、显示器、驱动开关控 制、开关监测等。因此 I/O 扩展时首先应考虑与之相连的外设硬件电路特性,如驱动功率

单岸机故术及应用 电平等。 1/O扩展与单片机的扩展性能有关。MCS-51单片机的1/O口与外部数据存储器是统一 编址的,共占一个64KB的空间,【/O口的扩展与数据存储器的扩展癸似,/0口通过总线 扩服时,P2口提供地址总线高8位,P阳口分时提供地址总线低8位和数据总线,控制总规 主要是RD(读)WR(马)。另外需注意O、P2、P3口的负找问题、驱动能力。MCS-5到 没有单独的输入输出指令,扩展的/O口采取与数据存钻器相同的子址方式,使用MOVX 指令实现CPU与I/O数据的箱入输出。 6.3.2总线驱动 CS-5引系列单片机有很强的外部扩展功能,外围扩展电路芯片大多是·些常规芯片, 扩展电路及方法较典型、规范。用户很容易通过标准扩晨电路来构成较大规顿的应用系统: 在单片机系统扩展时,轻常会使用取动器、销存器、译码器。 在应用系统中,所有系统扩展的外国芯片都通过总线驱动,总线只能情动一定数量的电 路。MCS-51系列单片机中,作为数据总线和低8位地址总线的0口可驱动8个LSTTL.电 路,而其它口只能驱动4个LST门电路。当应用系统规榄过大,可能造成负载过重,致使 驱动能力不够,系统不能可靠地工作。这时带要对总线的驱动能力进行扩展。图66为 MCS-51单片机总线驱动扩展原理图。 覆冲器 AB DB CB A15-A8 (P2u) AB 031 D7-D0 0Π) DBE066DB▣ PSEN W丽 RD CB 图66MC5一5】单片机总线动原群图 地址总线和控制总线的动器为单向总线票动器,并且有三态输出功能。数据总线的华 动举应为双向那动,三态输出,并有两个控制端,控制数据传递方向:
单片机技术及应用 7 电平等。 I/O 扩展与单片机的扩展性能有关。MCS-51 单片机的 I/O 口与外部数据存储器是统一 编址的,共占一个 64KB 的空间,I/O 口的扩展与数据存储器的扩展类似。I/O 口通过总线 扩展时,P2 口提供地址总线高 8 位,P0 口分时提供地址总线低 8 位和数据总线,控制总线 主要是 RD(读) WR (写)。另外需注意 P0、P2、P3 口的负载问题、驱动能力。MCS-51 没有单独的输入输出指令,扩展的 I/O 口采取与数据存储器相同的寻址方式,使用 MOVX 指令实现 CPU 与 I/O 数据的输入输出。 6.3.2 总线驱动 MCS-51 系列单片机有很强的外部扩展功能,外围扩展电路芯片大多是一些常规芯片, 扩展电路及方法较典型、规范。用户很容易通过标准扩展电路来构成较大规模的应用系统。 在单片机系统扩展时,经常会使用驱动器、锁存器、译码器。 在应用系统中,所有系统扩展的外围芯片都通过总线驱动,总线只能带动一定数量的电 路。MCS-51 系列单片机中,作为数据总线和低 8 位地址总线的 P0 口可驱动 8 个 LSTTL 电 路,而其它口只能驱动 4 个 LSTTL 电路。当应用系统规模过大,可能造成负载过重,致使 驱动能力不够,系统不能可靠地工作。这时需要对总线的驱动能力进行扩展。图 6-6 为 MCS-51 单片机总线驱动扩展原理图。 地址总线和控制总线的驱动器为单向总线驱动器,并且有三态输出功能。数据总线的驱 动器应为双向驱动,三态输出,并有两个控制端,控制数据传递方向。 图 6-6 MCS-51 单片机总线驱动原理图 DBEO DBEI A15~A8 D7~D0 AB 缓冲器 G DB 8031 (P2 口) (P0 口) AB DB WR PSEN RD 3 CB CB G