51单片机引脚检测高电平输入的问题
这样设计的原理图当按下按键的时候,单片机的p16引脚就链接vcc(3.3v),此时我能通过if(p1^6==1),来执行后面的事情请问这样的设计能否实现?2>另外在网上看...
这样设计的原理图
当按下按键的时候,单片机的p16引脚就链接vcc(3.3v),此时我能通过 if( p1^6==1),来执行后面的事情
请问这样的设计能否实现?
2>另外在网上看到这样的一句话 “51单片机的I/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入”,也就是说如果上面的设计可以做到的话,那么就需要一开始的时候给高电平吗? 展开
当按下按键的时候,单片机的p16引脚就链接vcc(3.3v),此时我能通过 if( p1^6==1),来执行后面的事情
请问这样的设计能否实现?
2>另外在网上看到这样的一句话 “51单片机的I/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入”,也就是说如果上面的设计可以做到的话,那么就需要一开始的时候给高电平吗? 展开
艾普斯
2024-07-18 广告
2024-07-18 广告
稳频稳压电源哪家好?艾普斯电源(苏州)有限公司开始专业研发、制造及营销交流稳压电源,满足全球电子及信息业对电源设备日益蓬勃的市场需求。迄今为止,业已发展成为交流不间断电源、稳压电源、变频电源、中频航空- 军事专用电源、直流电源、逆变电源等产...
点击进入详情页
本回答由艾普斯提供
展开全部
设计存在缺陷:“51单片机的I/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入” 正确,此操作在IO口初始化时设置;但是你的电路图,读取的始终为“1”;原因:当设置为输入时,单片机内部有上啦电阻,把其IO口引脚拉高;
改进:IO口连接一下拉电阻 6.8K~10K之间即可
改进:IO口连接一下拉电阻 6.8K~10K之间即可
更多追问追答
追问
如果一开始的时候不设置为1 ,只是按键按下的时候为p16就接上的vcc,那么此时判断该引脚是否为高,再执行某件事,断开后就为低电平了,行不行?
追答
AT89C51单片机 上电之后P0,P1,P2,P3为高电平……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机IO与外部相连是线与的关系,所以你的方法不行。单片机io口为高的时候你读取的相应io口电平才是外部电平。如果你把相应IO口置0,无论外部是0或1你读取的永远是0。所以你只有把io口置1,判断if( p1^6==0)才能判断是否键按下(当然你的按键得接地)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
51单片机的引脚检测到各个引脚的电压高于1.8V就认为是有高电平输入,低于0.7V就认为是低电平输入,在0.7~1.8V之间,是一个未知区域,既不是高电平也不是低电平。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大家常用的是,按键一端接地,另一端接IO口 检测,检测端加上拉电阻。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询