资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
霍尔接近开关计数实验指导书一、 实验目的1. 在理论学习的基础上,深入体会霍尔传感器的应用;2. 体会小作品制作过程。二、 实验原理霍尔元件是一种基于霍尔效应的磁传感器,已发展成一个品种多样的磁传感器产品族,并已得到广泛的应用。按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件。前者输出模拟量,后者输出数字量,其特性如图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. 10k欧姆电阻5个2. 680欧姆电阻1个3. 510欧姆电阻2个4. 12V直流电源插座1个5. 拔动开关1个6. 47uf电容2个7. 0.1uf电容1个8. 30皮电容1个9. 7805稳压芯片1个10. 发光二极管1个11. 常开按钮1个12. 11.0592M晶振1个13. AT89S52单片机1个14. 7404非门芯片1片15. 但片机插座及非门插座各1个16. 四位数码管1个17. 万能板1片18. 引脚插座及导线若干19. 电脑、单片机开发板及相应开发软件四、 实验步骤1. 按需求绘制电路原理图,如图6所示。图6.霍尔计数电路原理图2. 购买需要的元器件。本实验中所买数码管为共阴极二极管。3. 按原理图焊接电路。在图6中,信号处理和电源指示部分没有画出。信号处理部分用电阻分压即可;电源指示电路把一个电阻的发光二极管串在一起,接到7805的输出管脚上。4. 检测电路。检测硬件部分,特别注意是否有虚焊、短路或焊错的地方。5. 编程,调试。在编程过程中,注意功能从简单到复杂,不断改正。五、 程序1. 个位计数程序本程序已经调试好,但最大计数量只有9,也即只有个位计数功能。 FIRST EQU 21H ;定义个位 ORG 0000H ;程序从0地址开始 LJMP START ;跳到STRAT处执行 ORG 0003H ;INT0中断向量 LJMP INT_0 ;跳至INT_0处执行START: SETB EA ;开中断 SETB IT0 ;中断0允许P3.2口 SETB EX0 ;负跳变触发CLEAR: ;初始化显示0000 MOV FIRST,#0SHOW: ;显示子程序 MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,FIRST ;将FIRST的内容复制到ACC MOVC A,A+DPTR ;根据ACC的值取出编码表中的编码 MOV P2,A ;由P2口输出ACC的内容clr p0.1;清空p0.1clr p0.2 ; 清空p0.2clr p0.0 ; 清空p0.0 setb P0.3 ;置位P0.3 LCALL DELAY ;调用延时子程序 LJMP SHOW ;调用显示子程序INT_0: ;中断子程序 CLR EA INC FIRST ;FIRST的内容加1 MOV A,FIRST ;将FIRST的内容复制到ACC EXIT: ;跳出中断子程序 SETB EA RETI ;返回主程序DELAY: ;延时子程序 MOV R7,#1 ;R1加载1次数D1: MOV R6,#250 ;R6加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D1 ;D1执行R7次 RET ;返回主程序TAB: ;编码表 DB 0x3F,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f ;编码 END ;程序结束2. 四位计数程序。本程序能执行计数到千位,最大计数量为9999。但因时间关系,暂未调试成功。/*/*名称:4位数码管中断计数器程序(INT_0负触发) /*功能:10000进制计数器,P2口为数码管数据线;P0.0-P0.3为位选线 /*/ FIRST EQU 21H ;定义个位 SECOND EQU 22H ;定义十位 THIRD EQU 23H ;定义百位 FOURTH EQU 24H ;定义千位 ORG 0000H ;程序从0地址开始 LJMP START ;跳到STRAT处执行 ORG 0003H ;INT0中断向量 LJMP INT_0 ;跳至INT_0处执行START: SETB EA ;开中断 SETB IT0 ;中断0允许P3.2口 SETB EX0 ;负跳变触发CLEAR: ;初始化显示0000 MOV FIRST,#0 MOV SECOND,#0 MOV THIRD,#0 MOV FOURTH,#0 ;将0复制到以R0为地址的寄存器SHOW: ;显示子程序 MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,FIRST ;将FIRST的内容复制到ACC MOVC A,A+DPTR ;根据ACC的值取出编码表中的编码 MOV P2,A ;由P2口输出ACC的内容 setb P0.3 ;置位P0.3 LCALL DELAY ;调用延时子程序 clr P0.3 ;清零P0.3 /*显示个位*/ MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,SECOND ;将SECOND的内容复制到ACC MOVC A,A+DPTR ;根据ACC的值取出编码表中的编码 MOV P2,A ;由P2口输出ACC的内容setb P0.2 ;置位P0.2 LCALL DELAY ;调用延时子程序 clr P0.2 ;清零P0.2/*显示十位*/ MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,THIRD ;将THIRD的内容复制到ACC MOVC A,A+DPTR ;根据ACC的值取出编码表中的编码 MOV P2,A ;由P2口输出ACC的内容 setb P0.1 ;置位P0.1 LCALL DELAY ;调用延时子程序 clr P0.1 ;清零P0.1/*显示百位*/; MOV DPTR,#TAB ;DPTR指向编码表位置 MOV A,FOURTH ;将FOURTH的内容复制到ACC MOVC A,A+DPTR ;根据ACC的值取出编码表中的编码 MOV P2,A ;由P2口输出ACC的内容setb P0.0 ;置位P0.0 LCALL DELAY ;调用延时子程序 clr P0.0 ;清零P0.0/*显示千位*/ LJMP SHOW ;调用显示子程序INT_0: ;中断子程序 CLR EA INC FIRST ;FIRST的内容加1 MOV A,FIRST ;将FIRST的内容复制到ACC CJNE A,#10,EXIT ;如果A不等于10,则跳至L1处执行 MOV FIRST,#00H ;将0复制到FIRST INC SECOND ;将SECOND的内容加1 MOV A,SECOND ;将SECOND的内容
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号