精品霍尔计数实验指导书.docx

上传人:b****8 文档编号:9152016 上传时间:2023-02-03 格式:DOCX 页数:11 大小:186.27KB
下载 相关 举报
精品霍尔计数实验指导书.docx_第1页
第1页 / 共11页
精品霍尔计数实验指导书.docx_第2页
第2页 / 共11页
精品霍尔计数实验指导书.docx_第3页
第3页 / 共11页
精品霍尔计数实验指导书.docx_第4页
第4页 / 共11页
精品霍尔计数实验指导书.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

精品霍尔计数实验指导书.docx

《精品霍尔计数实验指导书.docx》由会员分享,可在线阅读,更多相关《精品霍尔计数实验指导书.docx(11页珍藏版)》请在冰豆网上搜索。

精品霍尔计数实验指导书.docx

精品霍尔计数实验指导书

霍尔接近开关计数实验指导书

1.实验目的

2.在理论学习的基础上,深入体会霍尔传感器的应用;

3.体会小作品制作过程。

一、实验原理

 霍尔元件是一种基于霍尔效应的磁传感器,已发展成一个品种多样的磁传感器产品族,并已得到广泛的应用。

按照霍尔器件的功能可将它们分为:

霍尔线性器件和霍尔开关器件。

前者输出模拟量,后者输出数字量,其特性如图1所示。

(a)线性型                        (b)开关型

图1.霍尔集成电路的输出特性

   如图2所示,在一块通电的半导体薄片上,加上和片子表面垂直的磁场B,在薄片的横向两侧会出现一个电压,如图2中的VH,这种现象就是霍尔效应。

图2.霍尔效应原理图

这种现象的产生,是因为通电半导体片中的载流子在磁场产生的洛仑兹力的作用下,分别向片子横向两侧偏转和积聚,因而形成一个电场,称作霍尔电场。

霍尔电场产生的电场力和洛仑兹力相反,它阻碍载流子继续堆积,直到霍尔电场力和洛仑兹力相等。

这时,片子两侧建立起一个稳定的电压,这就是霍尔电压。

   本实验中使用型号为NJK-5002的NPN,常开霍尔接近开关。

其电气连接图如图3所示。

当检测到磁场时,信号输出线有信号输出,没有磁场时,信号消失,这样会有一下降沿,经降压处理后可作为外部中断输入,进行计数。

本实验中,信号处理部分仅用电阻分压即可。

图3.NJK-5002型霍尔接近开关电气连接图

单片机引脚功能见图6中电路。

74LS04和7805引脚图如图4;四位共阴极二极管管脚如图5所示。

 

图4.霍尔开关示意图、74LS04和7805引脚图

图5.四位共阴极二极管管脚图

1.实验仪器与设备

2.10k欧姆电阻   5个

3.680欧姆电阻   1个

4.510欧姆电阻   2个

5.12V直流电源插座 1个

6.拔动开关     1个

7.47uf电容     2个

8.0.1uf电容     1个

9.30皮电容     1个

10.7805稳压芯片   1个

11.发光二极管    1个

12.常开按钮     1个

13.11.0592M晶振   1个

14.AT89S52单片机  1个

15.74LS04非门芯片 1片

16.但片机插座及非门插座 各1个

17.四位数码管    1个

18.万能板      1片

19.引脚插座及导线  若干

20.电脑、单片机开发板及相应开发软件

 

二、实验步骤

按需求绘制电路原理图,如图6所示。

图6.霍尔计数电路原理图

1.购买需要的元器件。

  本实验中所买数码管为共阴极二极管。

2.按原理图焊接电路。

  在图6中,信号处理和电源指示部分没有画出。

信号处理部分用电阻分压即可;电源指示电路把一个电阻的发光二极管串在一起,接到7805的输出管脚上。

3.检测电路。

检测硬件部分,特别注意是否有虚焊、短路或焊错的地方。

4.编程,调试。

在编程过程中,注意功能从简单到复杂,不断改正。

三、程序

1.个位计数程序

本程序已经调试好,但最大计数量只有9,也即只有个位计数功能。

   FIRSTEQU21H;定义个位

ORG0000H;程序从0地址开始

LJMPSTART;跳到STRAT处执行

ORG0003H;INT0中断向量

LJMPINT_0;跳至INT_0处执行

START:

SETBEA;开中断

SETBIT0;中断0允许P3.2口

SETBEX0;负跳变触发

CLEAR:

;初始化显示0000

MOVFIRST,#0

SHOW:

;显示子程序

MOVDPTR,#TAB;DPTR指向编码表位置

MOVA,FIRST;将FIRST的内容复制到ACC

MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码

MOVP2,A;由P2口输出ACC的内容

clrp0.1    ;清空p0.1

clrp0.2;清空p0.2

clrp0.0;清空p0.0

setbP0.3;置位P0.3

LCALLDELAY;调用延时子程序

LJMPSHOW;调用显示子程序

INT_0:

;中断子程序

CLREA

INCFIRST;FIRST的内容加1

MOVA,FIRST;将FIRST的内容复制到ACC

EXIT:

;跳出中断子程序

SETBEA

RETI;返回主程序

DELAY:

;延时子程序

MOVR7,#1;R1加载1次数

D1:

MOVR6,#250;R6加载250次数

DJNZR6,$;本行执行R6次

DJNZR7,D1;D1执行R7次

RET;返回主程序

TAB:

;编码表

DB0x3F,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;编码

2.END;程序结束

3.四位计数程序。

本程序能执行计数到千位,最大计数量为9999。

但因时间关系,暂未调试成功。

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

/*名称:

4位数码管中断计数器程序(INT_0负触发)

/*功能:

10000进制计数器,P2口为数码管数据线;P0.0-P0.3为位选线

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

FIRSTEQU21H;定义个位

SECONDEQU22H;定义十位

THIRDEQU23H;定义百位

FOURTHEQU24H;定义千位

ORG0000H;程序从0地址开始

LJMPSTART;跳到STRAT处执行

ORG0003H;INT0中断向量

LJMPINT_0;跳至INT_0处执行

START:

SETBEA;开中断

SETB IT0;中断0允许P3.2口

SETBEX0;负跳变触发

CLEAR:

;初始化显示0000

MOVFIRST,#0

MOVSECOND,#0

MOVTHIRD,#0

MOVFOURTH,#0;将0复制到以R0为地址的寄存器

SHOW:

;显示子程序

MOVDPTR,#TAB;DPTR指向编码表位置

MOVA,FIRST;将FIRST的内容复制到ACC

MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码

MOVP2,A;由P2口输出ACC的内容

setbP0.3;置位P0.3

LCALLDELAY;调用延时子程序

clrP0.3;清零P0.3

/*显示个位*/

MOVDPTR,#TAB;DPTR指向编码表位置

MOVA,SECOND;将SECOND的内容复制到ACC

MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码

MOVP2,A;由P2口输出ACC的内容

setbP0.2;置位P0.2

LCALLDELAY;调用延时子程序

clrP0.2;清零P0.2

/*显示十位*/

MOVDPTR,#TAB;DPTR指向编码表位置

MOVA,THIRD;将THIRD的内容复制到ACC

MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码

MOVP2,A;由P2口输出ACC的内容

setbP0.1;置位P0.1

LCALLDELAY;调用延时子程序

clrP0.1;清零P0.1

/*显示百位*/;

MOVDPTR,#TAB;DPTR指向编码表位置

MOVA,FOURTH;将FOURTH的内容复制到ACC

MOVCA,@A+DPTR;根据ACC的值取出编码表中的编码

MOVP2,A;由P2口输出ACC的内容

setbP0.0;置位P0.0

LCALLDELAY;调用延时子程序

clrP0.0;清零P0.0

/*显示千位*/

LJMPSHOW;调用显示子程序

INT_0:

;中断子程序

CLREA

INCFIRST;FIRST的内容加1

MOVA,FIRST;将FIRST的内容复制到ACC

CJNEA,#10,EXIT;如果A不等于10,则跳至L1处执行

MOVFIRST,#00H;将0复制到FIRST

INCSECOND;将SECOND的内容加1

MOVA,SECOND;将SECOND的内容复制到ACC

CJNEA,#10,EXIT;如果A不等于10,则跳至L2处执行

MOVSECOND,#00H;将0复制到SECOND

INCTHIRD;将THIRD的内容加1

MOVA,THIRD;将THIRD的内容复制到ACC

CJNEA,#10,EXIT;如果A不等于10,则跳至L3处执行

MOVTHIRD,#00H;将0复制到THIRD

INCFOURTH;将FOURTH的内容加1

MOVA,FOURTH;将FOURTH的内容复制到ACC

CJNEA,#10,EXIT;如果A不等于10,则跳至L4处执行

MOVFOURTH,#00H;将0复制到FOURTH

EXIT:

;跳出中断子程序

SETBEA

RETI;返回主程序

DELAY:

;延时子程序

MOVR7,#2;R1加载2次数

D1:

MOVR6,#250;R6加载250次数

DJNZR6,$;本行执行R6次

DJNZR7,D1;D1执行R7次

RET;返回主程序

TAB:

;编码表

DB0x3F,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;编码

END;程序结束

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1