51系列单片机的IO口设置为输入状态和设置为高电平是一回事吗

看到一片文章中介绍51单片机应用中,有这样一段话:
1.先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。
2.将P1.1、P1.2设置为输入状态,P1.0设为高电平输出,通过RK电阻对C1充电。
那么将“IO口设置为输入状态和设置为高电平”不都是将IO口置1吗?难道有什么区别?
看了“利用单片机实现极简单的测温电路”这篇文章,想做一个测温电路。
里面有这样一段话
“ P1.0、P1.1和P1.2是单片机的3个I/O脚;
  其工作原理为:
1.先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。
2.将P1.1、P1.2设置为输入状态,P1.0设为高电平输出,通过RK电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,即C1上的电压达到单片机高电平输入的门嵌电压时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T1。
3.将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。
4.再将P1.0、P1.2设置为输入状态,P1.1设为高电平输出,通过RT电阻对C1充电,单片机内部计时器清零并开始计时,检测P1.2口状态,当P1.2口检测为高电平时,单片机计时器记录下从开始充电到P1.2口转变为高电平的时间T2。”

这里选择的单片机,51系列的单片机IO口可以满足这种功能吗?如果不能哪种单片机可以满足?推荐一个,价格要低。谢谢!
主要是第2句、第4句难理解。

第1个回答  2011-06-08
你需要仔细阅读下51的io口电路结构原理图,51在程序里不需要专门设置io方向,但是实际io口电路的通路不是一条,下个51的pdf看下就清楚了,不要太关注一些理论的书籍,单片机要用好就要吃透厂商提供的pdf,那些才是王道。
第2个回答  2011-06-08
貌似51单片机没有IO口输入输出设置的吧?430或者PIC那些单片机才需要设置呀。在我理解,单片机读端口的时候应该算是输入,而写端口的时候应该算是输出,这个跟电平的高低应该没有关系吧。
第3个回答  2011-06-08
区别主要在于能否带负载!
第4个回答  2011-06-09
STC系列的都行啊 89c58rc
可以对IO进行设置
弱上拉,强上拉,高阻,推挽本回答被提问者采纳

51单片机读取引脚的数据时,要先将IO口输出设置为高电平。为什么?
是的, 51单片机作输入时就直接让他输出高电平,看看外设有没有将其拉低。这是因为51的高电平输出电流很小,随便一个低电平就能将其拉低的缘故,但低电平不能被拉高。

为什么51单片机io端口输出库信号一般选择低电平有效?
因为51单片机的IO口在复位后的默认状态为1,也就是高电平\/输入状态。如果以高电平作为有效信号,单片机复位到程序初始化之间会有一个时间窗口,那么很容易在上电时造成噼里啪啦一堆误动作、甚至由于瞬态负载过重导致电源无法启动。因此在设计时应当将各种输出信号设计成低电平有效\/低电平触发动作。

51单片机引脚检测高电平输入的问题
在网上看到这样的一句话 “51单片机的I\/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入”,--正确。也就是说如果上面的设计可以做到的话,那么就需要一开始的时候给高电平吗?--必须先给端口置一。--你的电路,是做不到的。--你的电路,按键、不按键,送到引脚...

51单片机 我要检查IO外接输入的电平状态,
在这个前提下,外界,只有输入低电平,才会改变引脚的状态;输入高电平,是没有反应的。如果,外设一定要送来高电平,那就必须加上一个反相器,再连接到单片机的引脚即可。其中的 P0口 为总线式设计 电路形式 为 集电极开路 也就是说它的内部开关只能将 P0的IO连接到GND上 而不能连接到 VCC上 ...

51单片机IO口置1时输入最小电压、电流各多少?
51单片机的IO口,设置为输入时内阻1M,电压为3.5V以上时为高电平,输入电流小于0.1mA。设置为输出时,输出形式为集电极开路型。最大拉电流10mA。。。呵呵呵

我想问问关于51单片机I\/O口的问题!!
51单片机置1是输入状态,--也是输出状态,但是也可以输入。是呈现高阻态的,就是I\/O口内部结构的开关是断开的,不接地,--P0 口,确实是这样的。但还接一个上拉电阻吧!(都带上拉电阻)。--P0 口没有上拉电阻。--P1P2P3,都有上拉电阻。--但是电阻很大,几百K,上拉作用有限。那...

51单片机哪几个IO口高电平有效,哪几个低电平有效?有什么规律?
51单片机上的IO口无所谓高低电平有效,高低电平有效是指触发条件,可以自设定的。只有P0口是OC输出的,需要外部加上拉电阻,其它端口都带有上拉。对于输入来说,都没有关系。

51单片机IO读高电平
因为单片机的I\/O口在读信号时只能读低电平(你看看书上介绍IO口的部分就会明白,他们是集电极开路方式)所以当把某个IO设为低电平时,内部三极管导通相当于直接把外部信号接地了,所以出现你的这个现象,要是外部信号是高电平的话应该加个反向器使起要动作时发低电平,而IO应该设为高电平读取,另外把IO...

51单片机IO读高电平
因为单片机的I\/O口在读信号时只能读低电平(你看看书上介绍IO口的部分就会明白,他们是集电极开路方式)所以当把某个IO设为低电平时,内部三极管导通相当于直接把外部信号接地了,所以出现你的这个现象,要是外部信号是高电平的话应该加个反向器使起要动作时发低电平,而IO应该设为高电平读取,另外把IO...

51单片机的io口默认是高电平还是低电平
上电开机,I\/O默认为高电平的。

相似回答