如何使用外部模块改变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引脚电平改变比较复杂,希望有人能够解惑
展开
 我来答
DoramiHe
2018-11-05 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
你用的是定时器1,模式1(16位定时/计数),如果单片机用的是12MHz或11.0592MHz的晶振,则机器周期为1us,那么每隔200us,CLK翻转1次,CLK周期为400us
追问
我今天查阅资料发现51单片机的针脚为准双向接口,检测输入的
时候需要输出一个1(高电平),然后外部输入0(低电平)才可以触发,也就是输入只能检测低电平,不可以检测高电平输入。 而我的目的就是使模块输入高电平而改变引脚状态,请问有没有什么比较好的方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式