基于51单片机的金属探测器测量仪原理图程序设计

您所在的位置:网站首页 探测器使用视频 基于51单片机的金属探测器测量仪原理图程序设计

基于51单片机的金属探测器测量仪原理图程序设计

2024-07-17 16:44:50| 来源: 网络整理| 查看: 265

硬件设计

(末尾附文件)

本文设计的金属探测是根据电磁感应原理制成的,将一金属置于变化的磁场当中时,根据电磁感应原理就会在金属内部产生涡流,涡流产生的磁场反过来又影响原磁场,这种变化可以转换为频率和幅值的变化,供相关电路进行检测。 由电容三点式振荡电路产生正弦波,对其放大和整形后,送入单片机,由单片机探测它频率的变化。当遇见金属时由于电磁感应原理原先建立起来的振荡将受到影响,频率将发生变化,单片机探测到这种变化后进行报警。 本文的金属探测器设计了接口,可以和外围的系统进行通讯,实现了与AT89S52管理的液晶显示及键盘组成的外围数据处理与显示模块的通信。对前端探测到的数据进行再处理和分析,并将结果显示在液晶屏幕上,并可以通过键盘对前端的探测精度进行设置。

方案: 在这里插入图片描述 原理图: 在这里插入图片描述

程序设计

在这里插入图片描述

#include //头文件 #include"eeprom52.h" #define uchar unsigned char //宏定义 #define uint unsigned int // 6T 工作模式 #define LCD1602_dat P0 //9V供电 sbit LCD1602_rs=P2^5; //I/O 定义 sbit LCD1602_rw=P2^6; //I/O 定义 sbit LCD1602_e=P2^7; sbit key_1=P1^3; //按键定义 sbit key_2=P1^4; sbit beep=P1^5; //蜂鸣器及led定义 sbit led=P1^0; unsigned long shu1,shu=1500; //设置值和采集置定义 uchar ms,sec; //时间中间值 uint cs; bit OK,beep1; //变量 void delay(uint T) //延时程序 { while(T--); } void LCD1602_write(uchar order,dat) //1602 一个字节 处理 { LCD1602_e=0; LCD1602_rs=order; LCD1602_dat=dat; LCD1602_rw=0; LCD1602_e=1; delay(10); LCD1602_e=0; } void LCD1602_writebyte(uchar *prointer) //1602 字符串 处理 { while(*prointer!='\0') { LCD1602_write(1,*prointer); prointer++; } } void LCD1602_cls() //1602 初始化 { LCD1602_write(0,0x01); //1602 清屏 指令 delay(1500); LCD1602_write(0,0x38); // 功能设置 8位、5*7点阵 delay(1500); LCD1602_write(0,0x0c); //设置 光标 不显示开关、不显示光标、字符不闪烁 LCD1602_write(0,0x06); LCD1602_write(0,0xd0); delay(1500); } void show() { LCD1602_write(0,0x80); //第一行显示内容 LCD1602_writebyte("Now:"); LCD1602_write(1,0x30+shu1/100000%10); LCD1602_write(1,0x30+shu1/10000%10); LCD1602_write(1,0x30+shu1/1000%10); LCD1602_writebyte("."); LCD1602_write(1,0x30+shu1/100%10); // LCD1602_write(1,0x30+shu1/10%10); // LCD1602_write(1,0x30+shu1%10); LCD1602_writebyte("KHz"); LCD1602_write(0,0xc0); //第二行显示内容 LCD1602_writebyte("S:"); LCD1602_write(1,0x30+shu/1000%10); LCD1602_write(1,0x30+shu/100%10); LCD1602_write(1,0x30+shu/10%10); LCD1602_writebyte("."); LCD1602_write(1,0x30+shu%10); LCD1602_writebyte("KHz"); if(beep1 == 1) {LCD1602_writebyte(" OKJS");} //检测到金属 else {LCD1602_writebyte(" ERJS");} //检测到金属 } void key() { if(OK==1) //按键检测 { if(!key_1) { OK=0; if(sec==3) { if(shu if(shu>200) shu-=10; //设置值 -- }else { if(shu>200) shu-=1; } SectorErase(0x2000); //保存上限值 byte_write(0x2000,shu/256); byte_write(0x2001,shu%256); } } if(key_1==1&&key_2==1) { sec=0; } } void proc() { if(shu1>=(shu*100)|shu1==0) //对比采集与设置 { led=0; //对比采集与设置 beep1=1; }else { led=1; beep1=0; //对比采集与设置 } } void main() { uchar H,L; TMOD=0x51; TH1=0; TL1=0; TL0 = 0xB0; //设置定时初值 TH0 = 0x3C; //设置定时初值 TR0=1; //定时器 TR1=1; EA=1; ET0=1; //定时器终端 ET1=1; H=byte_read(0x2000); //福初始值 L=byte_read(0x2001); shu=H*256+L; if(shu>3000) shu=1500; LCD1602_cls(); while(1) { key(); //按键处理 show();

.

文件仅供参考: 链接:https://pan.baidu.com/s/1ywIsht6UW0_tbzzGce5xOg 提取码:ycva

.



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭