- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT89S51片内并行端口的原理及编程 概述 可以将“0”与“1”转换为电压信号的端口 单片机中最常用的TTL电平:0V代表“0”,+5V代表“1” AT89S51单片机有4个8位I/O口:P0,P1,P2,P3 为什么要使用拉电阻 数字电路有三种状态:高电平、低电平和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定 。 为加大输出引脚的驱动能力 。上拉电阻是用来解决总线驱动能力不足时提供电流的,一般说法是拉电流。下拉电阻是用来吸收电流的。 在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。 芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。 提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。 长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰 。 上拉/下拉电阻阻值的选择原则 从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 对于高速电路,过大的上拉/下拉电阻可能边沿变平缓。综合考虑 关于开漏输出 开路电路中提到的“漏”就是指MOSFET的漏级。 MOSFET即金属-氧化层-半导体-场效晶体管 : Metal-Oxide-Semiconductor Field-Effect Transistor 开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是在漏极外部的电路上添加上拉电阻,因此,完整的开漏电路应该由开漏器件和开漏上拉电阻组成。 因此,开漏输出,在使用时需外接上拉电阻,利用外部电路的驱动能力,减少IC内部的功耗。 可以将多个开漏输出的脚连接到一条线上,形成“与逻辑”,当任意一个变低后,开漏线上的逻辑就为0。 关于推挽输出 一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。 如果输出级有两个三极管,始终处于一个导通、一个截止的状态,也就是两个三级管推挽相连,这样的电路结构称为推拉式电路或图腾柱(Totem-pole)输出电路 。 比如功放的输出级有两个“臂”(两组放大元件),一个“臂”的电流增加时,另一个“臂”的电流则减小,二者的状态轮流转换。对负载而言,好象是一个“臂”在推,一个“臂”在拉,共同完成电流输出任务。适用于低电压大电流的场合 两只对称的功率开关管每次只有一个导通,所以导通损耗小。 并行I / O 端口的使用 单片机总共有P0、P1、P2、P3四个8位准双向输入输出端口,共占32根引脚。 可以作为输出口,直接连接输出设备(如发光二极管),也可以作为输入口,直接连接输入设备(如开关设备)。还可以外接继电器、显示器、蜂鸣器、键盘等。 每个端口都有锁存器(即专用寄存器P0~P3) 、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。 在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 reg51.h这个文件中将所有寄存器映射为同名的变量,对这些变量的读写相当于对寄存器的读写,IO口的寄存器PX(X代表0-3) 输出状态IO寄存器设置 PX某一位置1或0,对应IO口相应位的电平高低 在读取PX某一位之前,要向该位写入1 (汇编语言需进行此步操作,C语言编译器会自动完成此步,C语言编程可省略此步骤),然后读回数据真实反映该位IO口的输入状态。 IO口的操作(位运算回顾) 将某一位置1 (相应位与1进行按位或运算) 将某一位置0 (相应位与0按位进行与运算) 将某一位取反 (相应位与1进行按位异或运算) 特有的位操作 sbit 下图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。 准双向口 内部无上拉电阻 P0口逻辑电路 当P0口作为输出口使用时,内部总线将数据送入锁存器,CPU发出控制信号“0”封锁“与”门,将输出上拉场效应管T1截止,同时多路开关MUX打向下面,把锁存器与输出驱动场效应管T2栅极接通。形成的P0口输出电路为漏极开路输出。 P0口逻辑电路 P0口用作输出口时,CPU的写脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并由引脚P0.x输出。当锁存器为1时,/Q端为0,下方场效应管截止,输出为漏极开路,必须外接上拉电阻才能有高电平输出。当D锁存器为0时,下方场效应管管导通,P0口输出为低电平。 P0口逻辑电路
文档评论(0)