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

上传人:mg****2 文档编号:122160733 上传时间:2020-03-02 格式:DOC 页数:26 大小:1.26MB
返回 下载 相关 举报
霍尔传感器、磁性传感器原理图PCB图及例程_第1页
第1页 / 共26页
霍尔传感器、磁性传感器原理图PCB图及例程_第2页
第2页 / 共26页
霍尔传感器、磁性传感器原理图PCB图及例程_第3页
第3页 / 共26页
霍尔传感器、磁性传感器原理图PCB图及例程_第4页
第4页 / 共26页
霍尔传感器、磁性传感器原理图PCB图及例程_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《霍尔传感器、磁性传感器原理图PCB图及例程》由会员分享,可在线阅读,更多相关《霍尔传感器、磁性传感器原理图PCB图及例程(26页珍藏版)》请在金锄头文库上搜索。

1、.霍尔传感器使用说明书简要说明:一、长尺寸:32mm X宽11mm X高20mm二、主要芯片:LM393、3144霍尔传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。2、单路信号输出。 3、输出有效信号为低电平。4、灵敏度可调(精调)。 5、有磁场切割就有信号输出 6、电路板输出开关量!(可直接接单片机)7、可用于电机测速/位置检测等场合适用场合:单片机学习、电子竞赛、产品开发、毕业设计。【图片展示】【与单片机连接测试程序】/* 汇诚科技实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun淘宝店

2、:汇诚科技 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*/#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* I/O定义*/sbit LED=P10; /定义单片机P1口的第1位 (即P1.0)为指示端sbit DOUT=P20; /定义单片机P2口的第1位 (即P2.0)为传感器的输入端/* 延时函数*/void delay()/延时程序uchar m,n,s;for(m=20;m0;m-

3、)for(n=20;n0;n-)for(s=248;s0;s-);/* 主函数*/void main()while(1) /无限循环 LED=1; /熄灭P1.0口灯 if(DOUT=0)/当浓度高于设定值时 ,执行条件函数 delay();/延时抗干扰if(DOUT=0)/确定 浓度高于设定值时 ,执行条件函数 LED=0; /点亮P1.0口灯 /* 结束*/【与单片机连接测速参考程序】/* 汇诚科技实现功能: 电机转速表设计使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信

4、息! #include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件sbit RS=P20; /寄存器选择位,将RS位定义为P2.0引脚sbit RW=P21; /读写选择位,将RW位定义为P2.1引脚sbit E=P22; /使能信号位,将E位定义为P2.2引脚sbit BF=P07; /忙碌标志位,将BF位定义为P0.7引脚unsigned char code digit =0123456789; /定义字符数组显示数字unsigned int v; /储存电机转速unsigned char count; /储存定时器T0中断次数bit flag; /计

5、满1秒钟标志位/*函数功能:延时1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /*函数功能:延时若干毫秒入口参数:n*/ void delay(unsigned char n) unsigned char i;for(i=0;in;i+) delay1ms(); /*函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙*/ unsigned char BusyTest(voi

6、d) 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); /如果忙就等待

7、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由高电平跳变成低电

8、平时,液晶模块开始执行命令 /*函数功能:指定字符显示的实际地址入口参数: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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号