单片机原理与接口技术(第5章).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 单片机原理与接口技术 第5章输入/输出口的应用 MCS-51单片机有四个8位的I/O输入/输出端口,即:P0、P1、P2和P3。每个端口都是8位的准双向输入/输出口。 4.1 AT89C51单片机性能介绍 单片机共有40条引线,其中有32条是I/O口。每一条又都能独立地完成输入/输出的功能。每个端口还有一个锁存器,它们是四个特殊功能的寄存器P0~P3,输出时这四特殊功能的寄存器可以作为驱动器,输入时它们又可以作为缓冲器。 5.1单片机的I/O(输入/输出)接口 MCS-51单片机中的4个8位的I/O端口P0~P3,其中P0口为三状态双向口,负载能力为8个TTL门电路,P1~P3口为准双向口。准双向是指用作输入口时,口锁存器必须先写入“1”信号。P1~P3口的负载能力为4个TTL门电路。 图5-1 MCS-51单片机I/O的逻辑图 ● MCS-51单片机中的4个8位的I/O端口P0~P3,其中P0口为三状态双向口,负载能力为8个TTL门电路,P1~P3口为准双向口。准双向是指用作输入口时,口锁存器必须先写入“1”信号。P1~P3口的负载能力为4个TTL门电路。 5.2 P1口的内部结构 单片机的四个I/O口P0~P3,其内部电路各不相同,但是逻辑功能基本上是一样的,为了便于理解,这里只对P1口的内部电路进行分析。 在单片机控制系统中,P0口是数据总线,也是地址总线的低8位。P2口是地址总线的高8位。P3口是特殊功能的I/O口。实际上,只有P1口才是专供用户使用的。 P1口是一个准双向的I/O口 P1口是一个准双向的I/O口,P1口的每一位都有一个上拉电阻。每一位口线能独立用作输入线或输出线,也就是说,既能作为输入口,也能作为输出口。 图5-2 是P1口的内部结构图。对于P1口的操作有三种情况,即:输出数据、输入数据和读取P1口的位状态。 图5-2 P1口位结构 5.2.1.输出数据 当单片机的内部总线某一位输出“1”时,锁存器D端的信号为“1”,同时“写”信号来一个低电平脉冲,根据D触发器的原理,Q端为“1”,端为“0”,场效应管的控制端得到低电平,场效应管不导通,P1口输出高电平“1”。 输出数据 当单片机的内部总线某一位输出“0”时,端为“1”,场效应管导通,P1口输出低电平“0”。 5.2.2.输入数据 P1口作为输入口时,信号来自于单片机的外部,如果外部信号为低电平“0”,读引脚来脉冲时,三态输入缓冲器2导通,低电平“0”信号到达内部总线的D端,内部总线与CPU相连。 输入数据 为什么说P1口是一个准双向的输入口呢?由图5-3可以看出,当场效应管T导通时,无论开关K是否闭合,P1口均为低电平。为了解决这个问题,在执行输入指令前,先用一条输出指令,向P1口送去高电平“1”,关闭场效应管T;再用输入指令,采集开关K的工作状态。这时如果开关K断开时,输入信号为高电平“1”。开关K闭合时,输入信号为低电平“0”。 图5-3 P1口作为输入口 5.2.3.读取P1口的位状态 有时不知道P1口的输出状态是高电平“1”,还是低电平“0”。可以用一条指令读取锁存器中的数据。这时“读锁存器信号”端来一个脉冲,三态输入缓冲器1导通。Q端的数据通过三态输入缓冲器1到达内部总线的D端,再到达CPU。 说明 由P1口的内部电路可知,P1口有一个上拉电阻,当P1口输出高电平时,形成了拉电流,电流从单片机中流出,电阻会发热,所以电流不能太大。 当P1口输出低电平时,形成了灌电流,电流流入单片机,场效应管只有0.3v的电压,散耗功率很小,所以电流可以大一些。也就是说,一般情况下,最好用灌电流的形式输出信号,而尽量避免使用拉电流输出信号。 5.3用C语言控制P1口输出信号 操作P1口时,需要对P1口的寄存器声明,在C语言的编译器中,这项声明包含在reg51.h中,在编写程序时,要把这个头文件包含在进去,声明语句如下: #include reg51.h 用C语言控制P1口输出信号 在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用做对外部输出的脉冲或用于定时目的。然而要注意的是:每当用做外部数据存储器时,将跳过一个ALE脉冲。 sfr P1=0X90 也可以对P1口的特殊寄存器声明,其语句如下:

文档评论(0)

书房 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档