简易金属探测器制作.docVIP

  • 10
  • 0
  • 约2.9千字
  • 约 8页
  • 2020-02-18 发布于安徽
  • 举报
. Word 文档 金属探测器 元件清单 提供Altium Designer 6.9和Protel99 SE所用格式的原理图和PCB, 此外,原理图分两种网络标号连接和使用线直接连接,并有PDF格式的原理图和PCB图,方便使用和查看。 提供KEIL编写程序工程和程序的文本文档文件方便打开,程序详尽注释。 二、功能说明 1、实现金属物质的探测,如硬币,钥匙,金属手机壳等,LED和蜂鸣器实现声光报警。 2、按键设置探测金属的精度。 3、LED显示高、中、低。三种精度。 4、结构简洁,稳固,高效。 本系统采用USB电源供电,提供电源线,可以插到电脑、手机充电器、充电宝上供电,十分方便。 三、按键说明 系统有一个按键,设置精度加和精度减。 使用时,将金属物质放到线圈的上方或线圈中间,系统会自动报警 程序: #includereg52.h #define uchar unsigned char #define uint unsigned int bit flag; //定义标志位,确定是否到了1s unsigned long x=0,x1=0,x2=0; uchar T0count; //从T0的计数单元中读取计数的数值 uchar timecount; sbit LED = P2^0;//LED引脚定义 sbit Speak = P2^1;//蜂鸣器引脚定义 sbit KEY = P1^0;//按键1 void Timer(void); //延时函数 void Delay_ms(uint jj) { uint ii; while(jj--) for(ii=0;ii125;ii++); } void main() //函数功能:主函数 { unsigned char k=5,j=0; Timer(); //定时器初始化 LED = 1; //关闭LED和蜂鸣器 Speak = 1; P0 = 0X00; Delay_ms(3000); x1=0; while(k) { if(flag==1) { k--; flag=0; //清标志位 x=T0count*65536+TH0*256+TL0; //取得时间宽度参数 x1 = x1+x; timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; //TR0=1,控制开关闭合,计数脉冲进入T1计数器,启动计数 } Delay_ms(1000); } x1 = x1/5; LED = 0; //关闭LED和蜂鸣器 Speak = 0; P0 = 0XFF; Delay_ms(200); LED = 1; Speak = 1; P0 = ~0X01; x2 = x1+100; while(1) { if(flag==1) { flag=0; //清标志位 x=T0count*65536+TH0*256+TL0; //取得时间宽度参数 timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; //TR0=1,控制开关闭合,计数脉冲进入T1计数器,启动计数 } if(!KEY) { Delay_ms(20); if(!KEY) { j++; if(j==3)j=0; if(j==0) { x2 = x1+80; P0 = ~0X01; } if(j==1) { x2 = x1+110; P0 = ~0X02; } if(j==2) { x2 = x1+140; P0 = ~0X04; } while(!KEY); } } if(xx2)//判断,发现金属 { LED = 0; //打开LED和蜂鸣器 Speak = 0; Delay_ms(200); LED = 1

文档评论(0)

1亿VIP精品文档

相关文档