51单片机 我要检查IO外接输入的电平状态,
答案:3 悬赏:0
解决时间 2021-02-23 14:07
- 提问者网友:寂寞撕碎了回忆
- 2021-02-22 21:44
51单片机 我要检查IO外接输入的电平状态,
最佳答案
- 二级知识专家网友:何以畏孤独
- 2021-02-22 22:53
假如我给某一个IO置0。外接高电平,--这样做,IO引脚极有可能烧毁。
如果我把IO设置为1,外接低电平--这是可以的,IO引脚就是低电平。
总之:
想用引脚输入,就先把引脚设置成1。引脚就能随着外部变化。
想用引脚输出,置成1、0均是输出,但是外部就不要再送来信号。
如果我把IO设置为1,外接低电平--这是可以的,IO引脚就是低电平。
总之:
想用引脚输入,就先把引脚设置成1。引脚就能随着外部变化。
想用引脚输出,置成1、0均是输出,但是外部就不要再送来信号。
全部回答
- 1楼网友:风格不统一
- 2021-02-23 01:26
假如我给某一个IO置0。外接高电平,那么软件检查IO 是高电平还是低电平。
会读回0。
我把IO设置为1,外接低电平 又是怎么状态。
也会读回0
IO该怎么设置 --读引脚上的电平,先把相应管脚置为1,再读就能读回正确的电平。
会读回0。
我把IO设置为1,外接低电平 又是怎么状态。
也会读回0
IO该怎么设置 --读引脚上的电平,先把相应管脚置为1,再读就能读回正确的电平。
- 2楼网友:长青诗
- 2021-02-22 23:56
方法:
把引脚设置为输入状态,输出一个1就行。这是单片机的设计者、生产厂家所规定的。
在这个前提下,外界,只有输入低电平,才会改变引脚的状态;输入高电平,是没有反应的。如果,外设一定要送来高电平,那就必须加上一个反相器,再连接到单片机的引脚即可。
其中的 P0口 为总线式设计电路形式 为 集电极开路也就是说它的内部开关只能将 P0的IO连接到GND上 而不能连接到VCC上 当向P0 写“0”时 IO口将连接到 GND 而向P0写“1”时IO将变成高阻状态 也就是相当于断开 什么都没连接*此时若需要输出则必须增加外部上拉电阻 来实现高电平的 *此时若需要实现输入(IO读取) 则直接读取P0即可得到外部输入的电平状态。
至于 P1 2 3其内部有上拉电阻但一般情况下 都要在外部也配上上拉电阻以实现稳定的高电平输出。
综上所述 实际上默认状态输出高可以认为是输出状态但P0是由外部上拉电阻实现的 “输出” p123 是由内部上拉 和外部上拉同时实现的输出也就是说 P123 内部来看是真正的输出而P0内部的状态是高阻。
至于为何要高阻是因为 P0 用于总线的数据交换高阻结构 是总线端口必须的一种状态。
把引脚设置为输入状态,输出一个1就行。这是单片机的设计者、生产厂家所规定的。
在这个前提下,外界,只有输入低电平,才会改变引脚的状态;输入高电平,是没有反应的。如果,外设一定要送来高电平,那就必须加上一个反相器,再连接到单片机的引脚即可。
其中的 P0口 为总线式设计电路形式 为 集电极开路也就是说它的内部开关只能将 P0的IO连接到GND上 而不能连接到VCC上 当向P0 写“0”时 IO口将连接到 GND 而向P0写“1”时IO将变成高阻状态 也就是相当于断开 什么都没连接*此时若需要输出则必须增加外部上拉电阻 来实现高电平的 *此时若需要实现输入(IO读取) 则直接读取P0即可得到外部输入的电平状态。
至于 P1 2 3其内部有上拉电阻但一般情况下 都要在外部也配上上拉电阻以实现稳定的高电平输出。
综上所述 实际上默认状态输出高可以认为是输出状态但P0是由外部上拉电阻实现的 “输出” p123 是由内部上拉 和外部上拉同时实现的输出也就是说 P123 内部来看是真正的输出而P0内部的状态是高阻。
至于为何要高阻是因为 P0 用于总线的数据交换高阻结构 是总线端口必须的一种状态。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯