单片机采集脉冲信号编程

用单片机的P1口接收脉冲信号,P1.0与秒脉冲相连,下降沿的时候开始采集数据,P1.1至P1.4接要采集的脉冲信号,频率为32hz,请问如何编程?程序中大体要包括哪几部分... 用单片机的P1口接收脉冲信号,P1.0与秒脉冲相连,下降沿的时候开始采集数据,P1.1至P1.4接要采集的脉冲信号,频率为32hz,请问如何编程?程序中大体要包括哪几部分? 展开
 我来答
langqiong261
推荐于2016-09-15 · TA获得超过1161个赞
知道小有建树答主
回答量:1175
采纳率:0%
帮助的人:1183万
展开全部
楼上回答有误,很明显输出入信号多于2路,用普通IO口可以。
程序中主要做好扫描和判断,不停读P1.0口,如果上次读到的为1,这次读到的是0,既可以判断为下降沿,这时可以设一个标记位,标示1秒脉冲来了。
然后进入P11~P14的判断,同理,判断上次和当前次电平,每个下降沿或者上升沿计数一次(开4个变量),当P1.0的标记位没有的时候(1秒过了),读出变量值即为脉冲个数,也就是频率了
追问
恩,好像有点懂了。不过P1.1-P1.4的信号是32hz的,但两次的信号不一定会有变化,那程序中不是也应该有延时的部分吗?
追答
最好不要,因为使用的是扫描方式,你是不确定信号是什么时候来的,加了延时很容易丢掉采集信号,这也是扫描方式的弱点,需要不停的扫描。
百度网友9afc5e6
2011-04-17 · TA获得超过217个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:107万
展开全部
秒脉冲可以接到外部中断口去,设置下降沿中断,中断之后将P1口的数据采集进来就可以了,
程序包括主程序和外部中断程序(采集脉冲信号)。
另外你要采集的信号是32HZ,那么你的采集频率就应该大于32HZ,一秒采集一次会造成你采集的信号与原信号相比失真的,参考一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式