10227|20

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

51单片机P1口读取! [复制链接]

为什么说要读P1口要把P1先至1,不然就不正确!我试了不加前面的代码页可以啊!
那这是为什么呢?谢谢!

最新回复

用c语言如何实现?   详情 回复 发表于 2022-12-1 16:06
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
P1口不是上电后就已经置1了么..
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
哦!就是可以不用了?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
一般 情况下,上电后 默认 置为高电平。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
不知道楼主说的药先写1是哪儿说的。
我的理解应该是不用的。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
此问题根据不同MCU而不同,有的MCU是不需要“读P1口要把P1先置1”的,但对于如Intel的8051就是需要的,这是因为:
P1口内部接了MOS管到地,先置1是为了让这个MOS管截至,要不然读该I/O口永远都是低哦!
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

7
 
不用。。。
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

8
 
跟P1口的硬件结构有关,CPU送1是初始化P1口
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(初级)

9
 
p1口是准双向口,p1口的每一位口线能独立地作输入线或输出线。
作输出时:将“1”写入锁存器,是输出极的场效应管截止,输出线有内部上拉电阻提升为高点位,输出“1”
作输入时:必须先将“1”写入锁存器,场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,既当外部输入“1”时该口线为高电平,而出入0时,该口为低电平。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
看看p1口的结构图就明白了!!
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
这就是所谓的“准双向口”----它可以关闭输出作为输入,也就是输出"1"。准双向口的优点是不需要配置就可以适应输入和输出需要。

现在有许多新的51 MCU,其P1可能不是准双向口了,就要进行适当配置才能作输入用。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
我不需要知道太详细!我只想知道如何正确的读写P1、P0、P2等!
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

13
 
学习
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

14
 
8楼说的很正确,主要看你原来写入锁存器的值是否为1,是的话就不用写了,否则必须先写1,一般情况下做输入口还是先写一下1保险些。
p0,p1,p2,p3在做普通i/o口时基本没差别
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

15
 
heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

16
 
由P1口的内部结构决定的,书上就是那么说的
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

17
 
p1口是准双向口,p1口的每一位口线能独立地作输入线或输出线。
作输出时:将“1”写入锁存器,是输出极的场效应管截止,输出线有内部上拉电阻提升为高点位,输出“1”
作输入时:必须先将“1”写入锁存器,场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,既当外部输入“1”时该口线为高电平,而出入0时,该口为低电平。

8楼基本正解

这是51单片机的基本知识,如果搞错了,很多外围设备控制访问,调晕倒也搞不通的,尤其写C的时候,由于不关心单片机原理,尤其容易忽视这一条

甚至会把别人本来正确的例程,自以为是地修改成错误的

呵呵,好多年前的亲身体验啊

点评

我也是这个问题呢,搞了好几天了,如果想检测某个管脚变高电平是执行一段程序,我肯定初始化的时候要把它置0,可是要作为输入管脚,我必须先写1使场效应管截止,这两个好像矛盾啊,那该怎么办呢??  详情 回复 发表于 2012-8-1 16:23
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

18
 
关键是对单片机IO口的硬件结构要了解清楚。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

19
 
一般都用GPIO口,专有设置输入或输出,带上拉还是不要上拉。比MSC51要方便可靠。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

20
 
原帖由 windstarcn 于 2009-5-25 01:50 发表
p1口是准双向口,p1口的每一位口线能独立地作输入线或输出线。
作输出时:将“1”写入锁存器,是输出极的场效应管截止,输出线有内部上拉电阻提升为高点位,输出“1”
作输入时:必须先将“1”写入锁存器,场效应 ...

  我也是这个问题呢,搞了好几天了,如果想检测某个管脚变高电平是执行一段程序,我肯定初始化的时候要把它置0,可是要作为输入管脚,我必须先写1使场效应管截止,这两个好像矛盾啊,那该怎么办呢??
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表