霍尔传感器使用说明书简要说明:一、长尺寸:32mmX宽11mmX高20mm二、主要芯片:LM393、3144霍尔传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。2、单路信号输出。3、输出有效信号为低电平。4、灵敏度可调(精调)。5、有磁场切割就有信号输出6、电路板输出开关量!(可直接接单片机)7、可用于电机测速/位置检测等场合适用场合:单片机学习、电子竞赛、产品开发、毕业设计。。。【图片展示】【与单片机连接测试程序】/********************************************************************汇诚科技实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun淘宝店:汇诚科技【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*********************************************************************//********************************************************************说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#includereg52.h//库文件#defineucharunsignedchar//宏定义无符号字符型#defineuintunsignedint//宏定义无符号整型/********************************************************************I/O定义*********************************************************************/sbitLED=P1^0;//定义单片机P1口的第1位(即P1.0)为指示端sbitDOUT=P2^0;//定义单片机P2口的第1位(即P2.0)为传感器的输入端/********************************************************************延时函数*********************************************************************/voiddelay()//延时程序{ucharm,n,s;for(m=20;m0;m--)for(n=20;n0;n--)for(s=248;s0;s--);}/********************************************************************主函数*********************************************************************/voidmain(){while(1)//无限循环{LED=1;//熄灭P1.0口灯if(DOUT==0)//当浓度高于设定值时,执行条件函数{delay();//延时抗干扰if(DOUT==0)//确定浓度高于设定值时,执行条件函数{LED=0;//点亮P1.0口灯}}}}/********************************************************************结束*********************************************************************/【与单片机连接测速参考程序】/********************************************************************汇诚科技实现功能:电机转速表设计使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!#includereg52.h//包含单片机寄存器的头文件#includeintrins.h//包含_nop_()函数定义的头文件sbitRS=P2^0;//寄存器选择位,将RS位定义为P2.0引脚sbitRW=P2^1;//读写选择位,将RW位定义为P2.1引脚sbitE=P2^2;//使能信号位,将E位定义为P2.2引脚sbitBF=P0^7;//忙碌标志位,,将BF位定义为P0.7引脚unsignedcharcodedigit[]={0123456789};//定义字符数组显示数字unsignedintv;//储存电机转速unsignedcharcount;//储存定时器T0中断次数bitflag;//计满1秒钟标志位/*****************************************************函数功能:延时1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒***************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i10;i++)for(j=0;j33;j++);}/*****************************************************函数功能:延时若干毫秒入口参数:n***************************************************/voiddelay(unsignedcharn){unsignedchari;for(i=0;in;i++)delay1ms();}/*****************************************************函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙***************************************************/unsignedcharBusyTest(void){bitresult;RS=0;//根据规定,RS为低电平,RW为高电平时,可以读状态RW=1;E=1;//E=1,才允许读写_nop_();//空操作_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间result=BF;//将忙碌标志电平赋给resultE=0;//将E恢复低电平returnresult;}/*****************************************************函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate***************************************************/voidWriteInstruction(unsignedchardictate){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***************************************************/voidWriteAddress(unsignedcharx){WriteInstruction(x|0x80);//显示位置的确定方法规定为80H+地址码x}/*****************************************************函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)***************************************************/voidWriteData(unsignedchary){while(BusyTest()==1);RS=1;//RS为高电平,RW为低电平时,可以写入数据RW=0;E=0;//E置低电平(根据表8-6,写指令时,E为高脉冲,//就是让E从0到1发生正跳变,所以应先置0P0=y;//将数据送入P0口,即将数据写入液晶模块_nop_();_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=1;//E置高电平_nop_();_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=0;//当E由高电平跳变成低电平时,液晶模块开始执行命令}/*****************************************************函数功能:对LCD的显示模式进行初始化设置***************************************************/voidLcdInitiate(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);}/******************************************************************************函数功能:显示速度提示符******************************************************************************/voiddisplay_sym(void){WriteAddress(0x00);//写显示地址,将在第1行第1列开始显示WriteData('v');//将字符常量v写入LCDWriteData('=');//将字符常量=写入LCD}/******************************************************************************函数功能:显示速度数值******************************************************************************/voiddispla