
如何在一定的时间内用51单片机的I/O循环检测外部信号的个数?
5个回答
展开全部
用单片机普通IO口采集外部信号的频率的方法:
用TH0和TL0做计数器,再配合2个8位的软件计数器 可以组成2个16位的计数器 可以测2路频率, 使用定时器1+软件计数器的方法定时1秒中,每当1秒到时,计数器中的值即是所测量的频率。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
用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...
点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
展开全部
开启定时器定时二秒,开启外部中断戓定时器计脉冲个数,两秒时间到就判断脉冲数然后改变引脚的电平即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个描述的不够清楚,
什么时候开始两秒内?(开机开始?还是第一个低电平到来开始?还是别的什么事件开始?)
低电平信号的维持时间有多长?
每个低电平的间隔是一定的还是不一定的?一定的话间隔是多少?
然后,根据信号的特点去构思怎么去编这个程序了。。。。。。。
追问
开机检测到第一个低电平开始 每个低电平的间隔不一定,假使在2秒内会出现3个即点亮LED灯 否则关闭 这个程序该如何写?能否提供点程序参考下,谢谢了!
追答
定时器中断查询电平输入脚,(定时器定时长度根据低电平维持时间来定,一般要在维持时间的10分之1,更短更好)
每进一次定时器中断,查询一次电平输入脚,如果碰到变成了低电平,那就开始计时,2秒变量加1,低电平个数加1,并要求程序下次查询高电平
如果2秒变量已经超过了而低电平个数没达到要求就全部变量清零。
如果低电平个数达到了3个,那就完成了一次计数,让LED点亮。。。。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开定时器,由于2S时间太长,要作多次循环,在此期间对某IO口的低电平脉冲进行计数,太到三个就在某IO口输出点亮LED的电平。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在定时器里判断,用中断检测
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询