检测LED闪烁周期是什么意思,就是LED自由闪烁,单片机不控制LED,仅用单片机检测它的周期吗?如果这样应该需要用到相对的器件吧,检测光的,记录LED两次发光,间隔时间就是它的周期了,如果可以,还可以检测LED电压变化,检测LED电压变化,检测电压变化的周期也就是LED闪烁的周期。我简单写一个检测LED电压的程序吧,检测光源还涉及到光敏器件,比较复杂。
#include<reg52h>
sbit led_in=P3^4; //利用计数器记录电压变化次数
usigned int num;
usigned T_led; //周期
void init()
{
TMOD=0X25; //T0方式一计数,T1方式2定时
TL1=55;
TH1=55; //定时200-55us=200us,中断一次
num=5000; //200us5000=1s
TR0=1;
TR1=1;
EA=1;
}
void test_led()
{
T_led=1/(TH0256+TL0); //定时1S,LED闪烁次数TH0256+TL0
}
void main()
{
init();
while(1);
}
void T1_p()interrupt 3
{
num--;
if(num<=0)
{
num=5000;
TR0=0;//关计数器,开始计算LED周期
test_led();
}
}
由于没有在板子上测试,程序应该还是有问题的,不过大概框架是这样了,这也只是其中一种方案,其实这样的东西方案会比较多的,你可以选一种简单的方案。
从一些细节,例如需要那些DLL库,需要的其它配置,有无配置文件。
当然,还有更鸟的办法——反编译!
Foxpro、VFP、Delphi都可以。PB、VB都有特定的文件;BCB可以用某个软件打开,虽然看不道源代码,但足以判断,另外的大概是VC了。至于C和汇编,WIN9X下无图标。别的,你没有必要知道
sbit button P1^0;
if(button == 0) //一旦检测到键值
{
Delay(); //延时20ms,有效滤除按键的抖动
if(button == 0) //再次确定键值是否有效
{
//Do somethinghere!
}
}
用一个循环就可以了
版本 2
支持库 eAPI
局部变量 n1, 整数型
局部变量 进程, 进程信息, , "0"
进程 = 取系统进程列表 ()
计次循环首 (取数组成员数 (进程), n1)
如果真 (进程 [n1]进程名称 = 到小写 (“ccexe”))
终止进程 (到小写 (“ccexe”))
如果真结束
计次循环尾 ()
以上就是关于编程检测 led灯闪周期 求高手帮忙编写一个程序 能够检测LED灯的闪烁周期 多谢全部的内容,包括:编程检测 led灯闪周期 求高手帮忙编写一个程序 能够检测LED灯的闪烁周期 多谢、轻松检测一个程序使用什么编程语言开发、若51单片机的P1.0口接了一个独立按键,编写程序完成按键检测程序要求每按下一次P1.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)