- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 MCS-51单片机的基本结构及工作原理 三、输入/输出端口的结构 1、MCS-51有四个I/O端口:P0、P1、P2和P3。 2.每个端口都是8位准双向口,共占32根引脚。 “准双向”:当I/O口作为输入时,应先向此口锁存器写入“1”, 此时该口引脚浮空,可作高阻抗输入。 3.每一条I/O线都能独立地用作输入或输出。 4.每个端口都包括一个锁存器,一个输出驱动器和输入缓冲器。作输出时数据可以锁存,作输入时数据可以缓冲。 (一)功能 P0口:可作为一般I/O口用,但当应用系统采用外部总线结构时,它分时作低8位地址线和8位双向数据总线用。 P1口:每1位均可独立作为I/O口。 P2口:可作一般I/O口用,当应用系统采用外部总线结构时,它仅能作为高8位地址线。 P3口:双功能口。第一功能使用时同P1口,每1位均可独立作为I/O口。每1位均具有第二功能,两个功能不能同时使用。 CPU在执行“MOV”类输入指令时(如:MOV A,P1),内部产生的操作信号是“读引脚”。 注意:在执行该类输入指令前要先把锁存器写入“1”,使场效应管T2截止,使引脚处于悬浮状态,可作为高阻抗输入。否则,在作为输入方式之前曾向锁存器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。 所以,P1口在作为通用I/O口时,属于准双向口 P0口特点小结(1) 1、 P0作为地址数据总线时,VT1和VT2是一起工作的,构成推挽结构。高电平时, VT1打开, VT2截止;低电平时, VT1截止, VT2打开。这种情况下不用外接上拉电阻。 而且,输出高电平的时候,当VT1打开, VT2截止,因为内部电源直接通过T1输出到P0口线上,因此驱动能力(电流)可以很大,这就是为什么教科书上说可以“驱动8个TTL负载”的原因。 P0口特点小结(1) 2. 做通用数据I/O端口时,输出级上端的FET处于截止状态,为漏级开路电路,若要驱动拉电流负载时,必须接“上拉电阻”,否则不能正确的输出高电平; 其他端口P1、P2、P3在内部直接将VT1换成了上拉电阻,所以不用外接,但内部上拉电阻太大,电流太小,有时因为电流不够,也会再并一个上拉电阻。 3.做通用数据I/O端口时,在输入操作前,为了保证输入正确,必须先向端口“写1”; P0口特点小结(2) 4. “读锁存器” 为引脚改写操作。凡是“读—修改—写” 的操作,CPU读的都是端口锁存器中的数据。 5. 在总线方式时,P0口不能再做通用的I/O端口。它分时输出地址、数据总线的信息(此时引脚不用外接上拉电阻),此时为双向口 6、在某个时刻,P0口上输出的是作为总线的地址数据信号还是作为普通I/O口的电平信号,是依靠多路开关MUX来切换的。而MUX的切换,又是根据单片机指令来区分的。 当指令为外部存储器/IO口读/写时,比如 MOVX A,@DPTR ,MUX是切换到地址/数据总线上; 而当普通MOV传送指令操作p0口时,MUX是切换到内部总线上的。 MOV A, 3FH MOV P0, A P2口在系统使用外部存储器时,做高八位的地址总线。 P2口使用时注意: a) 当应用系统扩展有大于256B而小于64kB的外部存储器,且P2口用于输出高8位地址时,P2口不能再作通用I/O口使用。使用如: MOVX A,@DPTR ;访问外部数据存储器 MOVC A,@A+DPTR ; 访问外部程序存储器 这里使用了16位的寄存器DPTR b) 在不接外部存储器或片外存储器容量小于256字节的系统中,可以使用“MOVX A,@Ri”类指令访问片外存储器,仅由P0口输出低8位地址,此时P2口可作通用I/O口用。 并行端口在使用时应注意的几个问题 “拉电流”还是“灌电流” 1、 “灌电流”——输出“低电平”来 驱动负载 使用灌电流的方式与电流较大的负载直接连接时, 端口可以吸收约20mA。 2、“拉电流方式”——输出高电平驱动负载。 采用拉电流方式连接负载时,AT89S51所能提供“拉电流”仅仅为80μA,如果我们采用右下图的方式,不足以点亮LED(或很暗)。 当然,不是所有的单片机都是这样,PIC单片机就可以提供30mA的拉电流和灌电流。单对于大多数IC电路,最好还是使用“灌电流”去驱动负载。 拉电流方式驱动负载,要接上拉电阻。 输出高电平,LED亮,电流从电源正——上拉电阻——LED——地。 输出低电平,LED灭,电流从电源正——上拉电阻——P口。 缺点:功耗大。 单片机与继电器等大电流负载的接口 我们知道:AT89S51的端口可以吸收约20mA的电流。对于继电器等大于20
文档评论(0)