找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机简单编程问题,检测光电开关输入信号

[复制链接]
跳转到指定楼层
楼主
ID:518441 发表于 2019-5-14 22:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5黑币
检测光电开关输入信号,输入信号为高低电平。

也就是检测到高电平并维持一段时间,程序怎么写?


个人有想法是用中断是可以,但是51外部中断只有两个,所以求教能用其他方法吗?

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

使用道具 举报

沙发
ID:123289 发表于 2019-5-15 18:33 | 只看该作者
STC的51外部中断不止两个(引脚也可以中断)。
回复

使用道具 举报

板凳
ID:515908 发表于 2019-8-6 14:38 | 只看该作者
定义一个IO口;  检测高低电平
回复

使用道具 举报

地板
ID:382826 发表于 2019-8-6 15:55 | 只看该作者
程序的主循环用定时器设计成每0.5秒一次,进入主循环后检测是不是高电平,如果是高电平标志位加一,否则标志位清零。标志位累加到10就是5秒。
回复

使用道具 举报

5#
ID:542209 发表于 2019-8-6 17:31 | 只看该作者
如果主函数有别的程序要走 实时检测的话只能用外部中断吧 ,要是光电开关相对位移的速度不够快的话 其实定时器中断检测也是可以的
回复

使用道具 举报

6#
ID:388197 发表于 2019-8-6 21:50 | 只看该作者
这个找一个有PCA模块的51,看下手册里的例程,略微修改下就可以了.
回复

使用道具 举报

7#
ID:47286 发表于 2019-8-7 13:30 | 只看该作者
你算算你要检测的信号间隔 频率是多少 再看看精度要求有多高 不是特别高的频率 不是特别高的精度要求 普通IO一样可以检测 不一定非用中断
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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