最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

霍尔传感器、磁性传感器原理图PCB图及例程

来源:动视网 责编:小OO 时间:2025-09-30 21:09:11
文档

霍尔传感器、磁性传感器原理图PCB图及例程

霍尔传感器使用说明书简要说明:一、长尺寸:32mmX宽11mmX高20mm二、主要芯片:LM393、3144霍尔传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。2、单路信号输出。3、输出有效信号为低电平。4、灵敏度可调(精调)。5、有磁场切割就有信号输出6、电路板输出开关量!(可直接接单片机)7、可用于电机测速/位置检测等场合适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。【图片展示】【与单片机连接测试程序】/*********************************
推荐度:
导读霍尔传感器使用说明书简要说明:一、长尺寸:32mmX宽11mmX高20mm二、主要芯片:LM393、3144霍尔传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。2、单路信号输出。3、输出有效信号为低电平。4、灵敏度可调(精调)。5、有磁场切割就有信号输出6、电路板输出开关量!(可直接接单片机)7、可用于电机测速/位置检测等场合适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。【图片展示】【与单片机连接测试程序】/*********************************
霍尔传感器使用说明书

简要说明:

一、长尺寸:32mm X宽11mm X高20mm

二、主要芯片:LM393、3144霍尔传感器

三、工作电压:直流5伏

四、特点:

1、具有信号输出指示。

2、单路信号输出。 

3、输出有效信号为低电平。

4、灵敏度可调(精调)。 

5、有磁场切割就有信号输出 

6、电路板输出开关量!(可直接接单片机)

7、可用于电机测速/位置检测等场合

适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。

【图片展示】

【与单片机连接测试程序】

/********************************************************************

                            汇诚科技

实现功能:此版配套测试程序

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:zhangxinchun

淘宝店:汇诚科技 

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

*********************************************************************/

/********************************************************************

说明:1、    当测量浓度大于设定浓度时,单片机IO口输出低电平

*********************************************************************/

#include            //库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int  //宏定义无符号整型

/********************************************************************

                            I/O定义

*********************************************************************/

sbit LED=P1^0;     //定义单片机P1口的第1位 (即P1.0)为指示端

sbit DOUT=P2^0;     //定义单片机P2口的第1位 (即P2.0)为传感器的输入端

/********************************************************************

                            延时函数

*********************************************************************/

void delay()//延时程序

{

uchar m,n,s;

for(m=20;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

/********************************************************************

                            主函数

*********************************************************************/

void main()

{

    while(1)   //无限循环

    {

     LED=1;       //熄灭P1.0口灯

     if(DOUT==0)//当浓度高于设定值时 ,执行条件函数

     {

        delay();//延时抗干扰

        if(DOUT==0)//确定 浓度高于设定值时 ,执行条件函数

        {

         LED=0;       //点亮P1.0口灯

        }

     }

    }

}    

/********************************************************************

                              结束

*********************************************************************/

【与单片机连接测速参考程序】

/********************************************************************

                            汇诚科技

实现功能: 电机转速表设计

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:zhangxinchun

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

#include //包含单片机寄存器的头文件

#include //包含_nop_()函数定义的头文件

sbit RS=P2^0;    //寄存器选择位,将RS位定义为P2.0引脚

sbit RW=P2^1;    //读写选择位,将RW位定义为P2.1引脚

sbit E=P2^2;     //使能信号位,将E位定义为P2.2引脚

sbit BF=P0^7;    //忙碌标志位,将BF位定义为P0.7引脚

unsigned char code digit[ ]={"01234567"}; //定义字符数组显示数字

unsigned int v;   //储存电机转速

unsigned char count;  //储存定时器T0中断次数

bit flag;      //计满1秒钟标志位

/*****************************************************

函数功能:延时1ms

(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒

***************************************************/

void delay1ms()

{

   unsigned char i,j;    

for(i=0;i<10;i++)

for(j=0;j<33;j++)

       ;         

 }

 /*****************************************************

函数功能:延时若干毫秒

入口参数:n

***************************************************/

 void delay(unsigned char n)

 {

   unsigned char i;

for(i=0;i       delay1ms();

 }

/*****************************************************

函数功能:判断液晶模块的忙碌状态

返回值:result。result=1,忙碌;result=0,不忙

***************************************************/

 unsigned char BusyTest(void)

  {

    bit result;

    RS=0;       //根据规定,RS为低电平,RW为高电平时,可以读状态

    RW=1;

    E=1;        //E=1,才允许读写

    _nop_();   //空操作

    _nop_();

    _nop_(); 

    _nop_();   //空操作四个机器周期,给硬件反应时间    

    result=BF;  //将忙碌标志电平赋给result

   E=0;         //将E恢复低电平

   return result;

  }

/*****************************************************

函数功能:将模式设置指令或显示地址写入液晶模块

入口参数:dictate

***************************************************/

void WriteInstruction (unsigned char dictate)

{   

    while(BusyTest()==1); //如果忙就等待

     RS=0;                  //根据规定,RS和R/W同时为低电平时,可以写入指令

     RW=0;   

     E=0;                   //E置低电平(根据表8-6,写指令时,E为高脉冲,

                          // 就是让E从0到1发生正跳变,所以应先置"0"

     _nop_();

     _nop_();             //空操作两个机器周期,给硬件反应时间

     P0=dictate;            //将数据送入P0口,即写入指令或地址

     _nop_();

     _nop_();

     _nop_();

     _nop_();               //空操作四个机器周期,给硬件反应时间

     E=1;                   //E置高电平

     _nop_();

     _nop_();

     _nop_();

     _nop_();               //空操作四个机器周期,给硬件反应时间

      E=0;                  //当E由高电平跳变成低电平时,液晶模块开始执行命令

 }

/*****************************************************

函数功能:指定字符显示的实际地址

入口参数:x

***************************************************/

 void WriteAddress(unsigned char x)

 {

     WriteInstruction(x|0x80); //显示位置的确定方法规定为"80H+地址码x"

 }

/*****************************************************

函数功能:将数据(字符的标准ASCII码)写入液晶模块

入口参数:y(为字符常量)

***************************************************/

 void WriteData(unsigned char y)

 {

    while(BusyTest()==1);  

      RS=1;           //RS为高电平,RW为低电平时,可以写入数据

      RW=0;

      E=0;            //E置低电平(根据表8-6,写指令时,E为高脉冲,

                       // 就是让E从0到1发生正跳变,所以应先置"0"

      P0=y;           //将数据送入P0口,即将数据写入液晶模块

      _nop_();

      _nop_();

       _nop_();

     _nop_();       //空操作四个机器周期,给硬件反应时间

      E=1;          //E置高电平

      _nop_();

      _nop_();

      _nop_();

     _nop_();        //空操作四个机器周期,给硬件反应时间

     E=0;            //当E由高电平跳变成低电平时,液晶模块开始执行命令

 }

/*****************************************************

函数功能:对LCD的显示模式进行初始化设置

***************************************************/

void LcdInitiate(void)

{

   delay(15);             //延时15ms,首次写指令时应给LCD一段较长的反应时间

   WriteInstruction(0x38);  //显示模式设置:16×2显示,5×7点阵,8位数据接口

    delay(5);               //延时5ms ,给硬件一点反应时间

   WriteInstruction(0x38);

    delay(5);

    WriteInstruction(0x38); //连续三次,确保初始化成功

    delay(5);

    WriteInstruction(0x0c);  //显示模式设置:显示开,无光标,光标不闪烁

    delay(5);

    WriteInstruction(0x06);  //显示模式设置:光标右移,字符不移

    delay(5);

    WriteInstruction(0x01);  //清屏幕指令,将以前的显示内容清除

    delay(5);

 }

/******************************************************************************

 函数功能:显示速度提示符                       

******************************************************************************/

void display_sym(void)

{

   WriteAddress(0x00);  //写显示地址,将在第1行第1列开始显示

    WriteData('v');      //将字符常量v写入LCD

    WriteData('=');      //将字符常量=写入LCD

 

 } 

 /******************************************************************************

 函数功能:显示速度数值                        

******************************************************************************/

void display_val(unsigned int x)

{

 unsigned char i,j,k,l;     //j,k,l分别储存温度的百位、十位和个位

    i=x/1000;         //取千位

    j=(x%1000)/100;   //取百位 

   k=(x%100)/10;     //取十位 

   l=x%10;           //取个位 

    WriteAddress(0x02);     //写显示地址,将在第1行第3列开始显示

    WriteData(digit[i]);    //将千位数字的字符常量写入LCD

    WriteData(digit[j]);    //将百位数字的字符常量写入LCD

    WriteData(digit[k]);    //将十位数字的字符常量写入LCD

    WriteData(digit[l]);    //将个位数字的字符常量写入LCD

     

 } 

/*******************************************************

函数功能:显示速度单位“r/min”

********************************************************/

void display_unit(void)

{

   WriteAddress(0x06);    //写显示地址,将在第2行第7列开始显示

    WriteData('r');    //将字符常量r写入LCD

    WriteData('/');    //将字符常量/写入LCD

    WriteData('m');    //将字符常量m写入LCD

    WriteData('i');    //将字符常量i写入LCD

    WriteData('n');    //将字符常量n写入LCD

 } 

/*******************************************************

函数功能:主函数

********************************************************/

 void main(void)

 {

   LcdInitiate();            //调用LCD初始化函数    

   TMOD=0x51;                //定时器T1工作于计数模式1,定时器T0工作于计时模式1;

    TH0=(65536-46083)/256;    //定时器T0的高8位设置初值,每50ms产生一次中断

    TL0=(65536-46083)%256;    //定时器T0的低8位设置初值,每50ms产生一次中断

    EA=1;                     //开总中断

    ET0=1;                    //定时器T0中断允许

    TR0=1;                    //启动定时器T0

    count=0;                  //将T0中断次数初始化为0

    display_sym();            //显示速度提示符

  display_val(0000);         //显示器工作正常标志

  display_unit();            //显示速度单位

     while(1)                 //无限循环

      {

         TR1=1;            //定时器T1启动

          TH1=0;            //定时器T1高8位赋初值0

          TL1=0;            //定时器T1低8位赋初值0

          flag=0;           //时间还未满1分钟

          while(flag==0)    //时间未满等待

             ;

         v=(TH1*256+TL1)*60/16; //计算速度,每周产生16个脉冲

         display_val(v);        //显示速度

    }            

}

/*******************************************************

函数功能:定时器T0的中断服务函数

********************************************************/

void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器

  {

    count++;          //T0每中断1次,count加1

     if(count==20)     //若累计满20次,即计满1秒钟

      {

       flag=1;        //计满1秒钟标志位置1

         count=0;       //清0,重新统计中断次数

      }

    TH0=(65536-46083)/256;   //定时器T0高8位重新赋初值

     TL0=(65536-46083)%256;   //定时器T0低8位重新赋初值

    

  }  

/********************************************************************

                              结束

*********************************************************************/

/********************************************************************

                            汇诚科技

实现功能:传感器判断程序

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:zhangxinchun  

*********************************************************************/

/********************************************************************

*************************程序说明************************************

1、VCC接电源正极

2、GND接电源负极

3、OUT接单片机P2.0口

功能简介:当传感器接收到信号时,传感器输出低电平,单片机IO口P2.0检测到信号后,单片机IO口P1.0输出低电平

*********************************************************************/

#include            //库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int  //宏定义无符号整型

/********************************************************************

                            I/O定义

*********************************************************************/

sbit LED=P1^0;     //定义单片机P1口的第1位 (即P1.0)为指示端

sbit OUT=P2^0;     //定义单片机P2口的第1位 (即P2.0)为传感器输出信号的输入端

/********************************************************************

                            主函数

*********************************************************************/

void main()

{

    while(1)   //无限循环

    {

     LED=1;       //熄灭P1.0口灯

     if(OUT==0)//当传感器检测到磁场时 ,执行条件函数

     {

     LED=0;       //点亮P1.0口灯

     while(!OUT);

     }

     }

    }

    

/********************************************************************

                              结束

*********************************************************************/

/********************************************************************

实现功能:霍尔传感器计数应用仿真程序

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:

*********************************************************************/

/********************************************************************

*************************程序说明************************************

1、VCC接电源正极

2、GND接电源负极

3、OUT接单片机P3.2口

4、共阳数码管

功能简介:

 当传感器检测到磁场信号时,传感器输出信号由高电平跳变到低电平

输出,单片机IO口P3.2检测到信号后,数码管显示P3.2口输入的计数。

*********************************************************************/

#include  库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int  //宏定义无符号整型

/********************************************************************

 初始定义

*********************************************************************/

code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟

uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端

uint display_date;

/********************************************************************

 延时函数

*********************************************************************/

void delay(uchar t)

{

  uchar i,j;

 

}

/********************************************************************

 显示函数

void Led(int date) //显示函数

{

/*****************数据转换*****************************/ 

 uint z,x,c,v;

  z=date/1000;   求千位

  x=date%1000/100;  求百位

  c=date%100/10;  求十位

  v=date%10;   求个位

}

/*************************************************************************

 中断函数外部中断0

**************************************************************************/

void ExtInt0() interrupt 0 //中断服务程序

{

dispcount++; //每按一次中断按键,计数加一

if (dispcount==9999) //计数范围0-9999

{dispcount=0;}

}

/********************************************************************

 主函数

*********************************************************************/

void main()

{

{

TCON=0x01; //中断设置

IE=0x81;

while(1)

{

display_date=dispcount; //定义并赋值要显示的数据

Led(display_date);//调用显示函数显示数据display_date

}

}

}

/********************************************************************

 结束

*********************************************************************/

/********************************************************************

实现功能:霍尔传感器测量电机每分钟转的圈数应用仿真程序

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:

*********************************************************************/

/********************************************************************

*************************程序说明************************************

1、VCC接电源正极

2、GND接电源负极

3、OUT接单片机P3.5口

4、共阳数码管

功能简介:

 当传感器检测到磁场信号时,传感器输出信号由高电平跳变到低电平

输出,单片机记录电机每秒转的圈数,然后乘以60计数出每分钟的圈数。

*********************************************************************/

#include  库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int  //宏定义无符号整型

/********************************************************************

 初始定义

*********************************************************************/

code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟

uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端

uint display_date;

uint dispcount;  

b计满1秒钟标志位  

u储存电机每分钟的圈数

unsigned char count;  //储存定时器T0中断次数

/********************************************************************

 延时函数

*********************************************************************/

void delay(uchar t)

{

  uchar i,j;

 

}

/********************************************************************

 显示函数

void Led(int date) //显示函数

{

/*****************数据转换*****************************/ 

 uint z,x,c,v;

  z=date/1000;   求千位

  x=date%1000/100;  求百位

  c=date%100/10;  求十位

  v=date%10;   求个位

}

/*******************************************************

函数功能:主函数

********************************************************/

 void main(void)

 {

    TMOD=0x51;                //定时器T1工作于计数模式1,定时器T0工作于计时模式1;

 定时器T0的高8位设置初值,每50ms产生一次中断

 定时器T0的低8位设置初值,每50ms产生一次中断

 开总中断

 定时器T0中断允许

 启动定时器T0

 将T0中断次数初始化为0

 定时器T1启动

 定时器T1高8位赋初值0

 定时器T1低8位赋初值0

 无限循环

 定义并赋值要显示的数据

 调用显示函数显示数据display_date

}  

}

/*******************************************************

函数功能:定时器T0的中断服务函数

********************************************************/

void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器

  {

    count++;          //T0每中断1次,count加1

 若累计满20次,即计满1秒钟

 计算每分钟圈数,每周产生8个脉冲 (记录1秒钟的信号数,乘以60秒即,每分钟的脉冲数,由于电机转一周输入八个信号,除以8即测出每分钟的圈数)

 /*********注意上一行的8,是电机转盘一周的磁铁数量,如果只有一个磁铁就改成1,如果16个就改成16,磁铁越多精度越高。********/

 清0,重新统计中断次数

   将圈数值赋予显示函数

 定时器T1高8位赋初值0

      TL1=0;            //定时器T1低8位赋初值0

    TH0=(65536-46083)/256;   //定时器T0高8位重新赋初值

 定时器T0低8位重新赋初值

  }  

/********************************************************************

 结束

*********************************************************************/

/********************************************************************

实现功能:霍尔传感器测量电机每分钟转的圈数应用仿真程序

使用芯片:ATS52

晶振:11.0592MHZ

波特率:9600

编译环境:Keil

作者:

*********************************************************************/

/********************************************************************

*************************程序说明************************************

1、VCC接电源正极

2、GND接电源负极

3、OUT接单片机P3.5口

4、共阳数码管

功能简介:

 当传感器检测到磁场信号时,传感器输出信号由高电平跳变到低电平

输出,单片机记录电机每秒转的圈数,然后乘以60计数出每分钟的圈数。

*********************************************************************/

#包含单片机寄存器的头文件

#include //包含_nop_()函数定义的头文件

s寄存器选择位,将RS位定义为P2.0引脚

s读写选择位,将RW位定义为P2.1引脚

s使能信号位,将E位定义为P2.2引脚

s忙碌标志位,将BF位定义为P0.7引脚

unsigned char code digit[ ]={"01234567"}; //定义字符数组显示数字

u储存电机转速

unsigned char count;  //储存定时器T0中断次数

b计满1秒钟标志位

/*****************************************************

函数功能:延时1ms

(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒

***************************************************/

void delay1ms()

{

 

  

 }

 /*****************************************************

函数功能:延时若干毫秒

入口参数:n

***************************************************/

 void delay(unsigned char n)

 {

 }

/*****************************************************

函数功能:判断液晶模块的忙碌状态

返回值:result。result=1,忙碌;result=0,不忙

***************************************************/

 unsigned char BusyTest(void)

  {

 根据规定,RS为低电平,RW为高电平时,可以读状态

    E=1;        //E=1,才允许读写

    _nop_();   //空操作

    _nop_();   //空操作四个机器周期,给硬件反应时间

 将忙碌标志电平赋给result

   E=0;         //将E恢复低电平

  }

/*****************************************************

函数功能:将模式设置指令或显示地址写入液晶模块

入口参数:dictate

***************************************************/

void WriteInstruction (unsigned char dictate)

 如果忙就等待

 根据规定,RS和R/W同时为低电平时,可以写入指令

 置低电平(根据表8-6,写指令时,E为高脉冲,

 就是让E从0到1发生正跳变,所以应先置"0"

 空操作两个机器周期,给硬件反应时间

 将数据送入P0口,即写入指令或地址

 空操作四个机器周期,给硬件反应时间

 置高电平

 空操作四个机器周期,给硬件反应时间

 当E由高电平跳变成低电平时,液晶模块开始执行命令

 }

/*****************************************************

函数功能:指定字符显示的实际地址

入口参数:x

***************************************************/

 void WriteAddress(unsigned char x)

 {

 显示位置的确定方法规定为"80H+地址码x"

 }

/*****************************************************

函数功能:将数据(字符的标准ASCII码)写入液晶模块

入口参数:y(为字符常量)

***************************************************/

 void WriteData(unsigned char y)

 {

 为高电平,RW为低电平时,可以写入数据

 置低电平(根据表8-6,写指令时,E为高脉冲,

 就是让E从0到1发生正跳变,所以应先置"0"

 将数据送入P0口,即将数据写入液晶模块

 

     _nop_();       //空操作四个机器周期,给硬件反应时间

 置高电平

 空操作四个机器周期,给硬件反应时间

 当E由高电平跳变成低电平时,液晶模块开始执行命令

 }

/*****************************************************

函数功能:对LCD的显示模式进行初始化设置

***************************************************/

void LcdInitiate(void)

{

   delay(15);             //延时15ms,首次写指令时应给LCD一段较长的反应时间

 显示模式设置:16×2显示,5×7点阵,8位数据接口

 延时5ms ,给硬件一点反应时间

 连续三次,确保初始化成功

 显示模式设置:显示开,无光标,光标不闪烁

 显示模式设置:光标右移,字符不移

 清屏幕指令,将以前的显示内容清除

 }

/******************************************************************************

 函数功能:显示速度提示符

******************************************************************************/

void display_sym(void)

{

 写显示地址,将在第1行第1列开始显示

 将字符常量v写入LCD

 将字符常量=写入LCD

 

 } 

 /******************************************************************************

 函数功能:显示速度数值

******************************************************************************/

void display_val(unsigned int x)

{

 分别储存温度的百位、十位和个位

 取千位

 取百位 

   k=(x%100)/10;     //取十位 

   l=x%10;           //取个位 

 写显示地址,将在第1行第3列开始显示

 将千位数字的字符常量写入LCD

 将百位数字的字符常量写入LCD

 将十位数字的字符常量写入LCD

 将个位数字的字符常量写入LCD

 } 

/*******************************************************

函数功能:显示速度单位“r/min”

********************************************************/

void display_unit(void)

{

   WriteAddress(0x06);    //写显示地址,将在第2行第7列开始显示

 将字符常量r写入LCD

 将字符常量/写入LCD

 将字符常量m写入LCD

 将字符常量i写入LCD

 将字符常量n写入LCD

 } 

/*******************************************************

函数功能:主函数

********************************************************/

 void main(void)

 {

   LcdInitiate();            //调用LCD初始化函数

   TMOD=0x51;                //定时器T1工作于计数模式1,定时器T0工作于计时模式1;

 定时器T0的高8位设置初值,每50ms产生一次中断

 定时器T0的低8位设置初值,每50ms产生一次中断

 开总中断

 定时器T0中断允许

 启动定时器T0

 将T0中断次数初始化为0

 显示速度提示符

 显示器工作正常标志

 显示速度单位

 无限循环

  定时器T1启动

  定时器T1高8位赋初值0

  定时器T1低8位赋初值0

  时间还未满1分钟

  时间未满等待

 

  计算速度,每周产生16个脉冲

  显示速度

   

}

/*******************************************************

函数功能:定时器T0的中断服务函数

********************************************************/

void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器

  {

    count++;          //T0每中断1次,count加1

 若累计满20次,即计满1秒钟

       flag=1;        //计满1秒钟标志位置1

  清0,重新统计中断次数

    TH0=(65536-46083)/256;   //定时器T0高8位重新赋初值

 定时器T0低8位重新赋初值

  }  

/********************************************************************

 结束

*********************************************************************/

文档

霍尔传感器、磁性传感器原理图PCB图及例程

霍尔传感器使用说明书简要说明:一、长尺寸:32mmX宽11mmX高20mm二、主要芯片:LM393、3144霍尔传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。2、单路信号输出。3、输出有效信号为低电平。4、灵敏度可调(精调)。5、有磁场切割就有信号输出6、电路板输出开关量!(可直接接单片机)7、可用于电机测速/位置检测等场合适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。【图片展示】【与单片机连接测试程序】/*********************************
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top