单片机5章并行口.

上传人:我** 文档编号:117850887 上传时间:2019-12-11 格式:PPT 页数:66 大小:1.37MB
返回 下载 相关 举报
单片机5章并行口._第1页
第1页 / 共66页
单片机5章并行口._第2页
第2页 / 共66页
单片机5章并行口._第3页
第3页 / 共66页
单片机5章并行口._第4页
第4页 / 共66页
单片机5章并行口._第5页
第5页 / 共66页
点击查看更多>>
资源描述

《单片机5章并行口.》由会员分享,可在线阅读,更多相关《单片机5章并行口.(66页珍藏版)》请在金锄头文库上搜索。

1、 POP3端口的功能和内部结构 POP3端口的编程编程 用并行口设计用并行口设计LEDLED数码显示数码显示 用并行口设计和键盘电路用并行口设计和键盘电路 本章介绍的主要内容 计算机对外设进行数据操作时,外设的数据是不能直计算机对外设进行数据操作时,外设的数据是不能直 接接到接接到CPUCPU的数据线上的,必须经过接口。的数据线上的,必须经过接口。 第五章第五章 输入、输出接口输入、输出接口P0P0P3P3 这是这是 由于由于CPUCPU的数据线是外设或存贮器和的数据线是外设或存贮器和CPUCPU进行进行 数据传输的唯一公共通道,为了使数据线的使用对象不产数据传输的唯一公共通道,为了使数据线的

2、使用对象不产 生使用总线的冲突,以及快速的生使用总线的冲突,以及快速的CPUCPU和慢速的外设时间上和慢速的外设时间上 协调,协调,CPUCPU和外设之间必须有接口电路(简称接口或和外设之间必须有接口电路(简称接口或I/OI/O 口),接口起着缓冲、锁存数据,地址译码、信息格式转口),接口起着缓冲、锁存数据,地址译码、信息格式转 换、传递状态(外设状态),发布命令等功能。换、传递状态(外设状态),发布命令等功能。 CPU 输入接口输入设备 输出接口输出设备 图51输入接口和输出接口 51单片机有P0、P1、P2、P3四个8位双向I/O口, 每个端口可以按字节输入或输出,也可以按位进行输 入或输

3、出,四个口共32根口线,用作位控制十分方便 。P0口为三态双向口,能带8个TTL电路;P1、P2、 P3口为准双向口,负载能力为4个TTL电路。 51 P0P3端口的功能和内部结构 P0P3端口的功能如下: I/OI/O接口种类:接口种类: I/OI/O接口有并行接口、串行接口、定时接口有并行接口、串行接口、定时/ /计计 数器、数器、A/DA/D、/D/A/D/A等,根据外设的不同情况和要求选择不等,根据外设的不同情况和要求选择不 同的接口。同的接口。 单片机已将这些接口作在内部,无需外加接口,外设单片机已将这些接口作在内部,无需外加接口,外设 可直接接于单片机(有时需加驱动)可直接接于单片

4、机(有时需加驱动) 本章介绍单片机的并行接口,用于和外设的并行数据本章介绍单片机的并行接口,用于和外设的并行数据 通信。通信。 lPO口1.作为输入/输出口。 2.作为地址/数据总线 ,接外围芯片时PO口分时 输出低 8 位地址与数据信号。 lP1口1.作为输入/输出口。 2.在增强型(52系列)和ISP型(在系统编程型)中 P1口还有如下功能(仅了解即可): P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入

5、lP2口1.作为输入/输出口。 2.作为高8位地址总线。 lP3口P3口为双功能 1.作第一功能使用时,其功能为输入/输出口。 2.作第二功能使用时,每一位功能定义如下表 所示: RD (外部数据存储器读选通信号入) P3.7 WR (外部数据存储器写选通信号入)P3.6 T1 (定时器1外部计数脉冲输入)P3.5 T0 (定时器0外部计数脉冲输入) P3.4 P3.3 P3.2 TXD (串行输出线)P3.1 RXD (串行输入线) P3.0 第 二 功 能 端口引脚 INT0(外部中断0输输入线线) INT1 (外部中断1输输入线线) 5.1.2 端口的内部结构 四个端口的一位结构见图5.

6、1,同一个端 口的各位具有相同的结构。由图可见,四个端 口的 结构有相同之处: 依据每个端口的不同功能,内部结构亦有不 同之处,以下重点介绍不同之处。 都有两个输入缓冲器,分别受内部读锁存 器和读引脚控制信号的控制。 都有锁存器(即专用寄存器POP3) 都是场效应管输出驱动。 1.PO口 PO口的输出驱动电路由上拉场效应管T1和驱动场效 应T2组成,控制电路包括一个与门, 一个非门和一个 模拟开关MUX。 Q 1.PO作I/O口使用 CPU发控制电平“0”封锁与门,使T1管截止 ,同时使MUX开关同下面的触点接通,使锁存器的 Q 与T2栅极接通。 当CPU向端口输出数据时,写脉冲加在锁存 器的

7、 CL上、内部总线的数据经反相,再经T2管反 相,PO口的这一位引脚上出现正好和内部总线同 相的数据。由于输出驱动级是漏极开路电路(因T1 截止),在作I/O口使用时应外接10K的上拉电阻。 当输入操作时,端口中两个三态缓 冲器用于读操作。缓冲器2用于读端口引 脚的数据。当执行端口读指令时,读引 脚脉冲打开三态缓冲器2,于是端口引脚 数据经三态缓冲器2送到内部总线。缓冲 器1用于读取锁存器Q端的数据。当执行 “读-修改-写”指令(即读端口信息,在 片内加以运算修改后,再输出到该端口 的某些指令如:ANL PO,A指令),即是 读的锁存器Q的数据。 这是为了避免错读引脚的电平信号,例如 用一根口

8、线去驱动一个晶体管基极,当向 口线写“1”,晶体管导通,导通的PN结会 把引脚的电平拉低,如读引脚数据,则会 读为0 ,而实际上原口线的数据为1。因而 采用读锁存器Q的值而避免了错读。究竟是 读引脚还是读 锁存器,CPU内部会自行判 断是发读引脚脉冲还是读锁存器脉冲,读 者不必在意。 应注意 ,当作输入端口使用时,应先 对该口写入“1”使场效应管T2截止,再进 行读入操作,以防场效应管处于导通状态 ,使引脚箝位到零,而引起误读。 当PO口作地址/数据线使用时,CPU及内 部控制信号为“1”,转换开关MUX打向上面的 触点, 使反相器的输出端和T2管栅极接通, 输出的地址或数据信号通过与门驱动T

9、1管,同 时通过反相器驱动T2管完成信息传送,数据输 入时,通过缓冲器进入内部总线。 P1口作通用I/O口使用,因电路结构上输出驱 动部分接有上拉电阻。当作输入时,同PO一样, 要先对该口写“1”。 Q 2.P1口 P1口的结构见下图 P2口 P2口的位结构比P1多了一个转换控制部分,当 P2口作通用I/O口时,多路开关MUX倒向左; 当扩展片外存贮器时,MUX开关打向右,P2口 作高八位地址线输出高八位地址信号。 其MUX的的倒向是受CPU内部控制的。 应当注意:当P2口的几位作地址线使用时,剩 下的P2口线不能作I /O口线使用。 4.P3口 P3口为双功能I/O口,内部结构中增加了第二输

10、 入/输出功能。 当作为普通I/O口使用时,第二输出功能端保持 “1”,打开与非门3,用法同P1口。 当作第二功能输出时,锁存器输出为“1”打 开与非门3,第二功能内容通过与非门3和T送至引 脚。 输入时,引脚的第二功能信号通过三态缓冲器 4进入第二输入功能端。两种功能的引脚输入都应 使T截止,此时第 二输出功能端和锁存器输出端Q 均为高电平。 P3的各位如不设定为第二功能则自动处于第一 功能,在更多情况下,根据需要, 把几条口线设 为第二功能,剩下的口线可作第一功能(I/O)使用 ,此时,宜采用位操作形式 。 归纳四个并行口使用的注意事项如下: 1。如果单片机内部有程序存贮器,不需要扩展 外

11、部存贮器和I/O接口,单片机的四个口均可 作I/O口使用。 2。四个口在作输入口使用时,均应先对其写 “1”,以避免误读。 3。P0口作I/O口使用时应外接10K的上拉电阻, 其它口则可不必。 4。P2可某几根线作地址使用时,剩下的线不能 作I/O口线使用。 5。P3口的某些口线作第二功能时,剩下的口线 可以单独作I/O口线使用。 5.2 编程举例 下面举例说明端口的输入、输出功能,其 他功能的应用实例在后面章节说明。 例5-1.设计一电路,监视某开关K,用发光 二极管LED显示开关状态,如果开关合上, LED 亮、 开关打开,LED熄灭。 分析:设计电路如图5. 3如示。 开关接在P1.1口

12、线,LED接P1.0口线,当 开关断开时,P1.1为+5V,对应数字量为“1” ,开 关合上时P1.1电平为0V,对应数字量为 “0”,这样就可以用JB指令对开关状态进行 检测 。 LED正偏时才能发亮,按电路接法,当P1.0 输出“1”,LED正偏而发亮,当P1.0 输出“0” , LED 的两端电压为 0 而熄灭。 LED +5V Vcc - EA RST 10uF 1K P1.0 89S51 P1.1 1K 30P 30P XTAL1 XTAL2 GND 89C51 Vcc - EA RST 89S51 +5V P1.1 1K 30P XTAL1 XTAL2 89C51 K 30P XT

13、AL2 LED +5V Vcc - EA RST 10uF 1K P1.0 89S51 P1.1 30P XTAL1 XTAL2 GND 89C51 Vcc - EA RST 89S51 +5V P1.1 1K 30P XTAL1 89C51 K 编程如下: CLR P1.0 ;使发光二极管灭 AGA:SETB P1.1 ;先对P1口写入“1” JB P1.1,LIG ;开关开,转LIG SETB P1.0 ;开关合上,二极管亮 SJMP AGA LIG: CLR P1.0 ;开关开,二极管灭 SJMP AGA 用C 语言编程如下: #include sbit p1_0=P10; sbit p

14、1_1=P11; /*定义位变量*/ void main() p1_0=0; /*使发光二极管灭*/ while(1) p1_1=1; /*对输入位P1.1写“1” */ if (p1_1=0) p1_0=1; /*开关合上,二极管亮*/ else p1_0=0; /*开关开,二极管灭*/ +5VP1.0 LED 在上述电路图中二极管亮度不够,按下 面两种电路接法,增加了驱动能力,二极管 更亮些。 接成灌电流形式: P1.0 +5V LED 1 加驱动电路: 例5-2.在图5-4中P1.4P1.7接四个发光 二极管LED,P1.0P1.3接四个开关,编程将开 关的状态反映到发光二极管上。 89C51/89S51 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 +5V +5V 1K4 3304 图5-4 例5-2图 EA 用汇编语言编程 ORG 0000H MOV P1,#0FFH ;高四位的LED全灭, 低四位输入线送“1”, ABC: MOV A,P1 ;读P1口引脚开关状态,并送入A SWAP A ;低四位开关状态换到高四位 ANL A,#0F0H ;保留高四位 MOV P1,A ;从P1口输出 ORL P1,#0FH ;高四位不变,低四位送“1”

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号