- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                AT89S52单片机内部功能部件
                    6.1   输入/输出端口  51单片机有4个口,共32根I/O线,        所有4个端口都是双向口。               每个口有对应的锁存器——                     即专用寄存器P0~P3,                          还有输出驱动器和输入缓冲器。           为了方便起见,把四个端口和相应的锁存器用P0~P3来表示。            访问外部存储器时,其地址由P0口和P2口送出,而数据由P0口传送,这时P0端口为分时多路转换的A/D总线。  6.1.1  P0 口(8位)  6.1.2  P1口(8位)  6.1.3  P2口(8位)  6.1.4 P3口(8位)  6.1.5 端口的负载能力及接口要求 6.1.1     P0 口 下图是P0口1位的结构图,它包含有: (1).  输出驱动电路: 由一对 FET(场效应管) 	 			       组成,其工作状态受输出				       控制电路的控制; (2).  输出控制电路: 由一个反相器,一个与门和				       一个模拟转换开关(MUX)					组成。 (3).  MUX的位置由来自CPU的控制信号决定:        当控制信号为“0”时,开关处于图示位置,  	使输出级与锁存器的    端接通。  ※  从P0口输出数据            CPU向端口输出数据时,写脉冲加在触 发器的CL上,由内部总线送到D端的数据取反 后出现在 Q 上,又经输出级FET反相,在P0引 脚上出现的数据正好是内部总线的数据。  ※  从P0口输入数据           端口中的两个三态缓冲器用于读操作。下面一个缓冲器用于直接读端口引脚数据,当执行由端口输入数据的指令时,读脉冲把下面一个三态缓冲器打开,端口上的数据将经过缓冲器输送至内部总线。           上面一个缓冲器并不直接读取端口引脚上的数据,而是读取锁存器Q端的数据。因为Q端与引脚处的数据是一致的。  		采取这种电路结构是为了适应所谓的“读- 修改 - 写”这类指令的需要。     这类指令的特点是:先读端口的输入数据→ 随之对该数据进行修改→然后再写到端口上。            对于“读——修改——写”指令,不直接 读引脚上的数据,而读锁存器Q端的数据,这是 为了避免错读引脚上的电平而采取的措施。        例如:若用一根口线去驱动一个晶体管的 基极,当向此口写“1”时,晶体管导通,并把引 脚上的电平拉低。这时若从引脚上读取数据, 会把此数据(“1”)错读为(“0”),从锁存器  Q端读取则可得到”1“的正确数据。 	   还有, 从图中结构可看出:引脚上的外部信号既 加在三态缓冲器的输入端上,又加在输出级FET的漏极 上。 若FET是导通的,则引脚上的电位始终被嵌在“0” 电平上,所以端口输入的数据不可能正确读入。         因此,在输入数据时,应先把端口锁存器置“1”, 使FET截止,使引脚处于悬浮状态,可作高阻抗输入。 这就是所谓的准双向口。          当P0口作地址/数据总线使用时,有两种情况:             	一种是从P0输出地址或数据,这时控制信号应为 高电平“1”,转换开关把反相器输出端与下拉FET接 通,同时“与”门开锁,输出的地址或数据既通过“与 门”去驱动上拉FET,又通过反相器去驱动下拉FET。         另一种是从P0输入数据,这时数据仍应从 输入 缓冲器进入内部总线。     	综上所述,P0口既可作地址/数据总 线,又可作I/O 端口使用。 作输出口使用时,输出级属于开漏电路,必须外接上拉电阻。 作输入口使用时,必须先向对应的锁存器写“1”,使FET截止,作高阻抗输入。 当P0口作地址/数据总线使用时,就不能作 I/O端口使用。 6.1.2     P1口      P1口是一个准双向口,作通用 I/O 口使用。        在输出驱动器部分,P1口与P0口不同。      P1口接有内部上拉电阻,此上拉电阻由两部 分组成:固定部分和附加部分,如下图所示 :         附加FET允许通过的电流约为耗尽型FET 允许的100倍,很快把引脚上拉到高电平。        延时线延时为两个振荡器周期,使附加的 增强型FET保持导通两个振荡器周期,稳定后,内部上拉电阻恢复到约为20~40kΩ.        	 P1FET的栅极受或门控制,或门下面的 一个输入端随    变“0”立即变为“0”,上面一个 输入端因延时线的作用将保持2个P周期的“0” 电平,故或门输出也保持2个P周期的低电平, 在此期间P1FET保持导通,它允许通过很大的 电流,使端口很快拉向高
                
原创力文档
                        

文档评论(0)