找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2330|回复: 2
收起左侧

浅谈对射式计数传感器 附单片机源程序

[复制链接]
ID:194729 发表于 2019-5-23 20:23 | 显示全部楼层 |阅读模式
此篇文章免费分享给大家,这篇文章结合笔者所学以及在往上参考大神的讲解,通过自己的理解整理成文档,在此免费分享给大家,由于笔者是一名在读学生,文中难免有不当之处,如有错误,望大家指正!刚发完之后,为了方便大多数网友的需求,又特意加了0-9999的计数,详情见附件,有黑币的直接下载,没有的留邮箱。多余50黑币的还请自己下载。

0.png

修正的差不多,想起来手中还有一个传感器,闲来无聊就玩玩呗,传感器的图片就是中所示的,这个传感器比较简单,输出是数字量,单片机可以直接识别,所以代码也就比较简单了,为了计数准确,就使用了外部中断0,每进一次中断,计数器就加1,由于使用的是开发板上的一位数码管,所以此程序显示范围也就在0-F之间了。大家可以根据自己的需要进行修改,原理就是这么个原理。

模块特色:
1、有输出状态指示灯,输出高电平灯灭,输出低电平灯亮。
2、有遮挡,输出高电平;无遮挡,输出低电平。
3、比较器输出,信号干净,波形好,驱动能力强,超过 15mA。
4、工作电压 3.3V-5V
5、输出形式 :数字开关量输出(0 和 1)
6、使用宽电压 LM393 比较器
程序:计数范围0-F,使用外部中断0

单片机源程序如下:
  1. #include<reg52.h>
  2. #define LED P0
  3. sbit kaiguan=P1^1;
  4. unsigned char count=0;
  5. unsigned char i=0;
  6. unsigned char code DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
  7.                                  0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
  8. void main()
  9. {
  10. P1=0XFF;
  11. IT0=1;       //下降沿触发
  12. EA=1;
  13. EX0=1;
  14. i=0;
  15. while(1)
  16. {
  17.    if(count>15)
  18.    {
  19.      count=0;
  20.          i=0;
  21.    }
  22.    LED=~DIG_CODE[i];
  23. }
  24. }
  25. void  counter(void) interrupt 0
  26. {
  27.    EX0=0;
  28.    count++;     //中断计数  
  29.    i++;
  30.    EX0=1;
  31. }
复制代码

所有资料51hei提供下载:
对射式传感器0-9999.zip (13.65 KB, 下载次数: 13)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:633374 发表于 2019-10-31 17:41 | 显示全部楼层
好资料,51黑有你更精彩!!!赚黑币去下载
回复

使用道具 举报

ID:624764 发表于 2019-12-3 18:59 来自手机 | 显示全部楼层
想问一下这个怎么对智能小车测速
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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