- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章单片机的内部机构
§5 并行输入/输出端口 8051单片机有四个8位的I/O端口,分别称为P0,P1,P2,P3,每个端口均为准双向口,共占32只引脚,每个端口可作为8位的总线使用,也可作为单独的I/O应用。每个端口都包含一个锁存器(即特殊寄存器P0-P3),一个输出驱动器和输入缓冲器。作输出线时数据可以锁存,作输入时可以缓冲。 当有外部扩展的存储器时,P0作为地址的低8位,P2作为高8位组成16位地址总线,而P0复用为8位的数据总线。 P0 P2 P3 P1 §5 并行输入/输出端口 1、P0口 无外扩存储器时,P0可作为I/O应用。CPU执行传送或改写位内容的指令时,硬件使C=0,开关MUX处于图示位置,P0作为通用I/O口。此时,T1处于截止状态,输出极变为漏极开路,此时需加上拉电阻。 VCC P0口结构 (1)P0用作输出口时,当CPU执行输出指令时,写脉冲加在D锁存器的CP上,输出数据经过锁存器的D端,反相输出在Q非,然后加到T2上,到数据为1是,T2导通,P0.i输出为0,当数据为0时,T2截止,P0.i的数据经上拉电阻拉高,为1。 VCC 特殊的单片机“读—运算(修改)—写”输出指令,其执行过程为先读出锁存器的数据,然后运算再锁存到锁存器,然后输出到引脚,读锁存器中的数据时,Q端数据经过控制开通的三态缓冲器1送入内部数据总线。 P0口结构 (2)P0用作输入口时,读引脚的指令将三态缓冲器2打开,端口引脚上的数据经上图蓝色的线输入内部数据总线。 在读引脚时,由于T2并接在引脚上,如果T2导通它会把引脚上的高电平拉成低电平,从而产生误读。因此,在读端口之前,应先向端口锁存器写“1”,从而是Q非为“0”,使T2截止。 VCC P0口结构 P0口用作数据/地址总线使用时,芯片外部有锁存器: (1)P0口先送出低8位地址再送出数据 此时C=1,MUX打到上方,地址/数据位驱动T1,其反相驱动T2,当地址/数据位为“1”时,T1导通,T2截止,P0.i输出为“1”;当地址/数据位为“0”时,T1截止,T2导通,P0.i为“0”。 (2)P0口先送出低8位地址再输入数据 送出地址与上相同,但读入数据时,打开缓冲器2,引脚数据经缓冲器2进入内部数据总线。 VCC P1口结构 P1口为准双向口,用作通用I/O口(开关量输入/输出),输出驱动有上拉电阻(实质为由两个场效应管构成的),其余与P0作为I/O口相同。 P2口结构 P2口可作为地址高8位,也可作为通用I/O口。 (1)作为高8位地址总线:MUX打向上方,使地址与反相器3连接,由P2.X输出 地址信息; (2)作为通用I/O口时:MUX打向下方,输入/输出与P0口相同。 P3口结构 (1)P3口作为通用I/O口:当CPU执行对P3口的I/O操作时,W被置1,P3口变为通用I/O口,与P0、P1、P2作为I/O时的工作原理一致。 P3口除了具有准双向I/O口以外,各引脚还具有另外一项功能,即第二功能。 P3口结构 P3口的第二功能: 口 线 第二功能 P3.0 RXD(串行口通信数据输入线) P3.1 TXD(串行口通信数据输出线) P3.2 INT0(外部中断0信号输入) P3.3 INT1(外部中断1信号输入) P3.4 T0(计数器0的外部信号输入端) P3.5 T1(计数器1的外部信号输入端) P3.6 WR(CPU至片外数据存储器的“写选通控制”输出) P3.7 RD(CPU至片外数据存储器的读写选通控制”输出) (2)P3口用作第二功能时,锁存器的输出Q由硬件设置为1。 P3口输出时,数据由W线经反相器3输出; P3口输入时,经同相器4输入至第二功能线。 端口的负载能力和接口要求 P0口:可驱动8个LS型TTL负载; P1-P3:可驱动4个TTL型负载; ALE端:可驱动8个LS型TTL负载; PSEN:可驱动8个LS型TTL负载。 2、端口接口要求 1、端口的驱动能力 作为输入口时,任何TTL或NMOS电路都能以正常的方式驱动8051单片机(HMOS)的P1-P3口,由于其输出级具有上拉电阻,故可被OC门的电路所驱动,无需上拉电阻; 注意:由于单片机的端口只提供几毫安的输出电流,因而,当输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时,应在端口与晶体管的基极之间串联一个电阻,以限制高电平输出时的电流。 谢谢! §1 MCS-51单片机的组成 §2 MCS-51单片机的引脚及其功能 §3 MCS-51单片机的存储器配置 §4 振荡器
文档评论(0)