如何在一定的时间内用51单片机的I/O循环检测外部信号的个数?

比如在2s时间内检测到3个低电平则点亮1个LED灯否则关闭如此在2s时间内不停的检测... 比如在2s时间内检测到3个低电平则点亮1个LED灯 否则关闭
如此在2s时间内不停的检测
展开
 我来答
夜来雨早来晴
2015-11-04 · TA获得超过3.1万个赞
知道大有可为答主
回答量:9110
采纳率:60%
帮助的人:854万
展开全部
用单片机普通IO口采集外部信号的频率的方法:
用TH0和TL0做计数器,再配合2个8位的软件计数器 可以组成2个16位的计数器 可以测2路频率, 使用定时器1+软件计数器的方法定时1秒中,每当1秒到时,计数器中的值即是所测量的频率。

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
迪凯特科技(北京)有限公司_
2025-01-03 广告
MCS-51串行接口有四种工作方式,分别是:1. 方式0(8位同步移位寄存器方式),一般用于外接移位寄存器芯片扩展I/O接口。2. 方式1(10位异步收发方式),通常常用于双机通信。3. 方式2(11位异步收发方式),通常常用于多机通信。4... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
茂名绿茶
2014-06-24 · TA获得超过866个赞
知道小有建树答主
回答量:778
采纳率:73%
帮助的人:140万
展开全部
开启定时器定时二秒,开启外部中断戓定时器计脉冲个数,两秒时间到就判断脉冲数然后改变引脚的电平即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jmhyys
2014-06-24 · TA获得超过524个赞
知道小有建树答主
回答量:1052
采纳率:62%
帮助的人:299万
展开全部

你这个描述的不够清楚,

  1. 什么时候开始两秒内?(开机开始?还是第一个低电平到来开始?还是别的什么事件开始?)

  2. 低电平信号的维持时间有多长?

  3. 每个低电平的间隔是一定的还是不一定的?一定的话间隔是多少?

然后,根据信号的特点去构思怎么去编这个程序了。。。。。。。

追问
开机检测到第一个低电平开始 每个低电平的间隔不一定,假使在2秒内会出现3个即点亮LED灯 否则关闭 这个程序该如何写?能否提供点程序参考下,谢谢了!
追答
  1. 定时器中断查询电平输入脚,(定时器定时长度根据低电平维持时间来定,一般要在维持时间的10分之1,更短更好)

  2. 每进一次定时器中断,查询一次电平输入脚,如果碰到变成了低电平,那就开始计时,2秒变量加1,低电平个数加1,并要求程序下次查询高电平

  3. 如果2秒变量已经超过了而低电平个数没达到要求就全部变量清零。

  4. 如果低电平个数达到了3个,那就完成了一次计数,让LED点亮。。。。。。。。。。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6936026
2014-06-24 · TA获得超过109个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:123万
展开全部
开定时器,由于2S时间太长,要作多次循环,在此期间对某IO口的低电平脉冲进行计数,太到三个就在某IO口输出点亮LED的电平。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huwqly
2014-06-24 · TA获得超过493个赞
知道小有建树答主
回答量:646
采纳率:20%
帮助的人:192万
展开全部
在定时器里判断,用中断检测
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式