找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6721|回复: 19
打印 上一主题 下一主题
收起左侧

怎样对输入进单片机的高电平进行计数

  [复制链接]
跳转到指定楼层
楼主
我们做了一个检测物体的,当检测到物体后会产生一个高电平,如何使用外部中断来对高电平进行计数呢?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:192390 发表于 2017-4-22 16:24 | 只看该作者
定义一个全局变量,中断设置上升沿触发,然后在中断服务程序里面对该全局变量加1,就可以了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:187614 发表于 2017-4-22 17:06 | 只看该作者
要像键盘扫描一样加上软消抖处理。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:47286 发表于 2017-4-22 17:09 | 只看该作者
重复频率低用管脚侦测就可以 就相当于按下开关的操作 程序都可以一样用

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

不知道你们用什么元件检测 如果需要延时防抖 更建议用第一种 用中断时 延时写不好容易影响整体运行时间

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:111634 发表于 2017-4-22 19:46 | 只看该作者
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:111634 发表于 2017-4-22 19:47 | 只看该作者
本帖最后由 zl2168 于 2017-4-22 19:49 编辑

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







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

使用道具 举报

7#
ID:192361 发表于 2017-4-25 19:47 | 只看该作者
zl2168 发表于 2017-4-22 19:47
实例71  统计T0引脚上10分钟内的脉冲数
先Proteus仿真一下,确认有效。

附件里的东西打不开
回复

使用道具 举报

8#
ID:192361 发表于 2017-4-25 19:48 | 只看该作者
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

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

使用道具 举报

9#
ID:192361 发表于 2017-4-25 19:49 | 只看该作者
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

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

使用道具 举报

10#
ID:192361 发表于 2017-4-25 19:50 | 只看该作者
zl2168 发表于 2017-4-22 19:46
高电平是不能计数的,高电平跳变是可以计数的。即只能对脉冲计数,不能对一直维持不变的高电平计数。

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

使用道具 举报

11#
ID:111634 发表于 2017-4-25 20:45 | 只看该作者
黝黑 发表于 2017-4-25 19:50
我们是检测到一个物体就有一个高电平的产生,我们的主要目的就是计数物体的个数

高电平怎么产生的?物体与物体之间就没有间隙吗?间隙是什么电平?
你对物体检测还未建立概念!
回复

使用道具 举报

12#
ID:111634 发表于 2017-4-25 20:49 | 只看该作者
黝黑 发表于 2017-4-25 19:47
附件里的东西打不开

在proteus中打开。
回复

使用道具 举报

13#
ID:151348 发表于 2017-4-25 22:26 | 只看该作者
        不知道你用的是哪种单片机,C51的好像不支持上升沿触发,只支持下降沿触发和低电平触发,可以接一个低电平转换电路,把高电平转换为低电平,把低电平转换为高电平,从而实现下降沿触发。推荐你个简单的电路即可实现

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

无标题.png
回复

使用道具 举报

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

接受你的批评
回复

使用道具 举报

15#
ID:192361 发表于 2017-4-25 23:36 | 只看该作者
zl2168 发表于 2017-4-25 20:45
高电平怎么产生的?物体与物体之间就没有间隙吗?间隙是什么电平?
你对物体检测还未建立概念!

接受你的批评
回复

使用道具 举报

16#
ID:193669 发表于 2017-4-25 23:56 | 只看该作者
查查书把
回复

使用道具 举报

17#
ID:193703 发表于 2017-4-26 09:05 | 只看该作者
用中断  中断服务程序里面全局变量自加1
回复

使用道具 举报

18#
ID:193703 发表于 2017-4-26 09:07 | 只看该作者
和按键检测计数原理差不多
回复

使用道具 举报

19#
ID:189693 发表于 2017-4-26 10:56 | 只看该作者
很多方法可以。看一楼吧
回复

使用道具 举报

20#
ID:61218 发表于 2017-4-26 14:16 | 只看该作者
外部中斷設正緣或負緣觸發即可...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表