搜索
bottom↓
回复: 10

用单片机IO检测外部是否有脉冲

[复制链接]

出0入0汤圆

发表于 2011-4-24 11:08:46 | 显示全部楼层 |阅读模式
我用的是F9234,想实现如附图功能!
第一种想用普通IO检测外部是否有脉冲!有去处理一些东西!让LED亮,没有关掉LED灯。
第二种想用外部中断口检测外部是否有脉冲!有去处理一些东西!让LED亮,没有关掉LED灯。但用外部中断口有一个级别的高低的问题。


用普通IO来检测 (原文件名:1.jpg)


用外部中断来检测 (原文件名:2.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2011-4-24 11:49:33 | 显示全部楼层
如何实现呀!!!?

出0入0汤圆

发表于 2011-4-24 11:52:18 | 显示全部楼层
我的建议:
1. 你要实现的功能非常简单,任意一本单片机教程都能给你足够的指导。
2. 既然是请教问题,措辞就应该礼貌一点。“请”和“谢谢”不要太吝啬;“!”不要太慷慨。

出0入0汤圆

 楼主| 发表于 2011-4-24 12:04:33 | 显示全部楼层
谢谢!可能我不太在意这些细节。我会改,以后发贴会注意这些说话语气。

出0入0汤圆

发表于 2011-4-24 12:17:38 | 显示全部楼层
对于普通IO脚,用轮询方式进行检测,如果检测到下降沿或者上升沿,LED驱动脚置高电平即可点亮led。
你说的单片机型号我没用过,不过应该大同小异,至于中断就更简单,打开相应的外部中断,一旦触发就执行中断程序,在中断程序里面点亮LED,然后设定一个延时后关闭LED就可以了。

出0入0汤圆

 楼主| 发表于 2011-4-24 12:24:16 | 显示全部楼层
但是这样的!你看如果用外部中断的话就没办法同时检测两路脉冲了。因为中断有级别的高低呀。这样LED3就没法进行功作了!谢谢

出0入0汤圆

 楼主| 发表于 2011-4-24 12:45:18 | 显示全部楼层
如果用普通的IO口来用轮询方式进行检测;假设现在外部送来脉冲,一检测到低马上点亮灯;程序还在跑过了1S这个脉冲由低变到高了;此时单片机检测到的是高,高就要关灯。而实际上只是脉冲的高低变化。实现不了有脉冲就点灯。无脉冲就关灯。

出0入0汤圆

 楼主| 发表于 2011-4-24 12:55:35 | 显示全部楼层
如果用外部中断口来做!把P.0设为下降沿触发,当脉冲来了,检测到下降沿触发信号,中断中点亮LED1.此时LED1是亮着;当脉冲由低变到高然后再由高到低此时又中断一次;那么我如何知道没有脉冲了,LED1要关了。谢谢!也许我那里思路错了。多谢能指点我一下。

出0入0汤圆

发表于 2011-4-24 13:28:49 | 显示全部楼层
回复【5楼】zlng  
但是这样的!你看如果用外部中断的话就没办法同时检测两路脉冲了。因为中断有级别的高低呀。这样led3就没法进行功作了!谢谢
-----------------------------------------------------------------------
你的单片机型号我没用过,我一直是51系列的。
两个外部中断同时打开,有中断的时候单片机先置中断标,由内部逻辑决定是否响应中断。你这个情况下,如果两个中断同时触发,单片机会先响应高优先级的一个中断,然后再响应另外一个。实际上你的脉冲宽度很宽,单片机有足够的时间处理,出现同时触发的概率很小。
为了两个输出都能及时响应,你最好用定时器设置工作周期,每个周期对输出进行一次刷新。

出0入0汤圆

发表于 2011-4-24 13:32:21 | 显示全部楼层
回复【6楼】zlng  
如果用普通的io口来用轮询方式进行检测;假设现在外部送来脉冲,一检测到低马上点亮灯;程序还在跑过了1s这个脉冲由低变到高了;此时单片机检测到的是高,高就要关灯。而实际上只是脉冲的高低变化。实现不了有脉冲就点灯。无脉冲就关灯。
-----------------------------------------------------------------------
亮灯时干什么的?你要搞清楚亮灯以后怎么关灯,是一个脉冲周期结束就关灯还是触发后延时关灯,如果触发延时关灯,那么是否可以重复触发。这些都要搞清楚,否则谈不上解决问题

出0入0汤圆

发表于 2011-4-24 13:33:13 | 显示全部楼层
回复【7楼】zlng  
如果用外部中断口来做!把p.0设为下降沿触发,当脉冲来了,检测到下降沿触发信号,中断中点亮led1.此时led1是亮着;当脉冲由低变到高然后再由高到低此时又中断一次;那么我如何知道没有脉冲了,led1要关了。谢谢!也许我那里思路错了。多谢能指点我一下。
-----------------------------------------------------------------------

同9楼
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 05:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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