如何使用外部模块改变STC89C52RC的IO引脚电平?
#include<reg52.h>sbitHW=P1^0;sbitFM=P1^1;voidmain(){FM=1;while(1){if(HW==1)FM=~FM;els...
#include <reg52.h>
sbit HW = P1^0;
sbit FM = P1^1;
void main()
{
FM = 1;
while(1)
{
if(HW == 1)
FM = ~FM;
else
FM = 1;
}
}
程序如上,FM为蜂鸣器 HW为人体红外模块SR501(默认输出低电平,触发后输出高电平)经过刚刚查询资料我了解到51单片机的IO引脚电平改变比较复杂,希望有人能够解惑 展开
sbit HW = P1^0;
sbit FM = P1^1;
void main()
{
FM = 1;
while(1)
{
if(HW == 1)
FM = ~FM;
else
FM = 1;
}
}
程序如上,FM为蜂鸣器 HW为人体红外模块SR501(默认输出低电平,触发后输出高电平)经过刚刚查询资料我了解到51单片机的IO引脚电平改变比较复杂,希望有人能够解惑 展开
2018-11-05 · 知道合伙人互联网行家
关注
展开全部
你用的是定时器1,模式1(16位定时/计数),如果单片机用的是12MHz或11.0592MHz的晶振,则机器周期为1us,那么每隔200us,CLK翻转1次,CLK周期为400us
追问
我今天查阅资料发现51单片机的针脚为准双向接口,检测输入的
时候需要输出一个1(高电平),然后外部输入0(低电平)才可以触发,也就是输入只能检测低电平,不可以检测高电平输入。 而我的目的就是使模块输入高电平而改变引脚状态,请问有没有什么比较好的方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询