首 页电子技术网络电视电路设计论坛
您当前的位置:无限电子制作网电子技术实用技能 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
热门产品





精确快速的雷电测距仪
作者:佚名  来源:不详  发布时间:2007-1-19 20:48:05

减小字体 增大字体

 

>

根据雷电发生时产生的声光在大气中传播速度不同所产生的时间差,可精确快速计算出距雷电发生点的距离。电路如下图所示。

声速在0℃时为331.36m/s,温度每升高1℃,声速增加0.6m/s。在26℃时,声速为347m/s。假若从接收到光开始计时,到收到雷声信息的时间为T,那么与雷电发生处的距离为S=347T(光的传播时间忽略)。

电路中LED1为光敏二极管,接收闪电光信号。通过调整P3改变接收灵敏度,并克服环境光的干扰。NE5532的⑦脚接与80C2051的INT1端,当电平由高变为低时,产生中断,置记数标志位为1,开始脉冲记数。HD为接收雷声信号,P4是灵敏度调整,NE5532的①脚接入INT2脚,当电平由高变低时产生中断,置记数标志位为0,停止脉冲计数。定时中断设计为1ms,用作计时单位。依脉冲计数计算出与雷电相距的距离,并通过LED数码管显示出来。当距雷电发生点距离小于500米时,从P3.0脚发出告警信号,引起人们注意。程序用Franklin C51 Ver3.2编译,清单如下:

#include<reg51.H>
#include<stdio.H>
#include<math.H>
#define PI 347
bit ST;/*计时启停控制位于*/
sbit p3_1=P3 1;sbit p3_4=P^3 4;sbit p3_5=P 3 5;sbit p3_7=P3 7;/*定义位*/
unsigned int te,tp;sbit p3_0=P3 0;
ch_ar[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};/*0-9*/
void time_s(unsigned int k)/*时间延时*/
{unsigned int ky;
for(ky=0;ky<=k;ky++){;}
}
void boot(void) /*初始化子程序*/
{
p3_0=0;
EA=1;/*开所有中断*/
TL0=0x0b;/*计数器初始值 1MSk中断一次*/
TH0=0xfe;
ET0=1;/*开定时器0中断*/
EX1=1;/*开外部中断1*/
EX0=1;
IT1=1;/*设定为低电平触发*/
IT0=1;
void zd() interrupt 1using 3/*定时中断,T0,1ms*/
{ 
if(ST==1){te++;}
TL0=0x0b;/*计数器初始值1MSk中断一次*/
TH0=0xfe;
ET0=1;/*开定时器0中断*/
}
zd1() interrupt 2 using 1/*INT1,下降沿中断*/
{
ST=1;/*计数标志位置1,开始计时*/
EX0=1;/*开外部中断1*/ IT0=1;/*设定为低电平触发*/
}
void zd2() interrupt 0 using 3 /*用于操作按键控制INT0,下降沿中断*/
{
ST=0;/*计时标志位置0,停止计时*/
tp=te;te=0;EX1=1;/*开外部中断1*/ IT1=1;/*设定为低电平触发*/}
void display(unsigned int i)/*显示驱动单元*/
{
int x,i1,i2,i3,i4;
i1=i%10; /*个位数*/
i2=((i-i1)/10)%10;/*十位数*/
i3=((i-i1-10*i2)/100)%10;/*百位数*/
i4=((i-i1-10*i2-100*3)1000)%10;/*千位数*/
for(x=0;x<=3;x++)
{
switch(x){
case 0:P1=ch_ar[i4];p3_7=time_s(1000);break;
case 1:P1=ch_ar[i3];p3_5=time_s(1000);break;
case 2:P1=ch_ar[i2];p3_4=time_s(1000);break;
case 3:P1=ch_ar[i1];p3_1=time_s(1000);break;
default:break;
}}}
void main()
{ unsigned long int z1;
unsigned int z2;
boot();
star:if(ST==0)
{z1=tp*PI;
z1=z1/1000;
z2=(unsigned int)z1;
if(z2<=500){p3_0=1;/*声音报警*/time_s(50000);/*延时*/p3_0=0;/*清除*/}
display(z2);}
goto star;}




[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 产品订单

Copyright © 2005-2008 Wxdzz.Com. All Rights Reserved .
Powered by:NewAsp SiteManageSystem Version 3.0.0

赣ICP05000510号