标题: 怎样对输入进单片机的高电平进行计数 [打印本页]

作者: 黝黑    时间: 2017-4-22 15:57
标题: 怎样对输入进单片机的高电平进行计数
我们做了一个检测物体的,当检测到物体后会产生一个高电平,如何使用外部中断来对高电平进行计数呢?


作者: Sky1094    时间: 2017-4-22 16:24
定义一个全局变量,中断设置上升沿触发,然后在中断服务程序里面对该全局变量加1,就可以了。
作者: 51Lovers    时间: 2017-4-22 17:06
要像键盘扫描一样加上软消抖处理。
作者: dzbj    时间: 2017-4-22 17:09
重复频率低用管脚侦测就可以 就相当于按下开关的操作 程序都可以一样用

如果频率特别高 纳秒如楼上所说用外部中断捕获比较好 但建议用下降沿触发 因为传统的51片子是支持下降沿的 养成好习惯写出来的东西兼容性好 也可以尽量减少纠错的时间消耗

不知道你们用什么元件检测 如果需要延时防抖 更建议用第一种 用中断时 延时写不好容易影响整体运行时间
作者: zl2168    时间: 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。
作者: zl2168    时间: 2017-4-22 19:47
本帖最后由 zl2168 于 2017-4-22 19:49 编辑

实例71  统计T0引脚上10分钟内的脉冲数
Proteus仿真一下,确认有效。
实例71 统计T0引脚上10分钟内脉冲数.rar (52.96 KB, 下载次数: 56)







以上摘自张志良编著《单片机实验实训100例》 ISBN 978-7-5124-1603-1,北航社出版. 书中电路和程序设计有详细说明,程序语句条条有注解。

作者: 黝黑    时间: 2017-4-25 19:47
zl2168 发表于 2017-4-22 19:47
实例71  统计T0引脚上10分钟内的脉冲数
先Proteus仿真一下,确认有效。

附件里的东西打不开

作者: 黝黑    时间: 2017-4-25 19:48
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

我们是检测到一个物体就有一个高电平的产生,我们的主要目的就是计数物体的个数

作者: 黝黑    时间: 2017-4-25 19:49
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

我们是检测到一个物体就有一个高电平的产生,我们的主要目的就是计数物体的个数

作者: 黝黑    时间: 2017-4-25 19:50
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

我们是检测到一个物体就有一个高电平的产生,我们的主要目的就是计数物体的个数
作者: zl2168    时间: 2017-4-25 20:45
黝黑 发表于 2017-4-25 19:50
我们是检测到一个物体就有一个高电平的产生,我们的主要目的就是计数物体的个数

高电平怎么产生的?物体与物体之间就没有间隙吗?间隙是什么电平?
你对物体检测还未建立概念!
作者: zl2168    时间: 2017-4-25 20:49
黝黑 发表于 2017-4-25 19:47
附件里的东西打不开

在proteus中打开。
作者: imxuheng    时间: 2017-4-25 22:26
        不知道你用的是哪种单片机,C51的好像不支持上升沿触发,只支持下降沿触发和低电平触发,可以接一个低电平转换电路,把高电平转换为低电平,把低电平转换为高电平,从而实现下降沿触发。推荐你个简单的电路即可实现

无标题.png (7.94 KB, 下载次数: 92)

无标题.png

作者: 黝黑    时间: 2017-4-25 23:34
zl2168 发表于 2017-4-25 20:45
高电平怎么产生的?物体与物体之间就没有间隙吗?间隙是什么电平?
你对物体检测还未建立概念!

接受你的批评
作者: 黝黑    时间: 2017-4-25 23:36
zl2168 发表于 2017-4-25 20:45
高电平怎么产生的?物体与物体之间就没有间隙吗?间隙是什么电平?
你对物体检测还未建立概念!

接受你的批评
作者: yunchong    时间: 2017-4-25 23:56
查查书把
作者: lxxxxxx    时间: 2017-4-26 09:05
用中断  中断服务程序里面全局变量自加1
作者: lxxxxxx    时间: 2017-4-26 09:07
和按键检测计数原理差不多
作者: anwuyuzhe    时间: 2017-4-26 10:56
很多方法可以。看一楼吧
作者: jlian168    时间: 2017-4-26 14:16
外部中斷設正緣或負緣觸發即可...




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1