电机转速计数器_第1页
电机转速计数器_第2页
电机转速计数器_第3页
电机转速计数器_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用制作:电机转速计数器 该电路由AT89C51单片机,CD4511*3为BCD-七段锁存/译码/驱动器,LED共阴数码管,磁敏霍尔元件组成。电路工作原理:该电路用磁敏元件作为传感器,在无外磁场时,磁敏传感器的输出端OUT输出+4.35V(1电平),当电机转动一圈时,势将带动小磁铁N从磁敏传感器上掠过一次,由于传感器在外加磁场的作用下,输出+0.05V(0电平),INT0在程序中设为边沿触发,这一瞬间变化量将通过INT0送至AT89C51,产生一次中断,使累加器A自动加1,计数一次.电机每转动一圈,产生一次中断,累加器加1,当软件计数器T0定时1S时,把缓冲区的计数值经过BCD调整后送LED显

2、示,LED显示的数值既当前电机每秒钟转速。由于采用软件定时.定时误差值将比常规硬件定时器小得多。 CD4511是BCD-七段LED锁存/译码/驱动器,在LE为低电平时,将加在A,B,C,D输入的数据译成显示器的字段驱动信号,经限流电阻到数码管的字段控制线上。当LE为高电平时,驱动信号被锁存在CD4511的输出端,实现静态显示。因CD4511输出为高电平,应选用共阴极数码管。LCD为工作指示灯,在调试时很有用。本电路的调试分软件和硬件两部分。本人见意先调试硬件传感器是否工作,从LCD的显示就可以看出来.而LED显示部分就要借助软件调试了。请参考ts.asm,该程序可通过仿真器单步执行,如果LED

3、输出显示不是789,那么硬件上一定有问题,请仔细检察。当确信硬件无误后,便可录入main.asm程序清单,仿真调试通过后,就可将程序写到AT89C51中了。至此,该电路设计完成.其能在0999转/s范围内对电机转进行正确计数,在很大程度上满足了现实生产中的需要,电路稍为改动一下,还可以扩展为脉冲频率计等,不过这要你自己动脑肋了。如:调试程序 ts.asm ORG 0000HSTART: MOV R0,#89H MOV R1,#07H MOV A,R0 ORL A,#0F0H MOV P1,A CLR P1.7 SETB P1.7 MOV A,R0 SWAP A ORL A,#0F0H MOV

4、P1,A CLR P1.6 SETB P1.6 MOV A,R1 ORL A,#0F0H MOV P1,A CLR P1.5 SETB P1.5 END;电机转速计数器程序清单:main.asm ORG 0000H LJMP MAIN ORG 0003H ;INT0中断入口 LJMP js ;INT0=0时-计数子程序 ORG 000BH ;T0中断入口 LJMP ct ;T0=50ms,-tc,50ms*20,显示子程序;*MAIN: MOV A,#0H ;初始化INT0 MOV R0,A MOV R1,A SETB EX0 ;开外部中断INT0 SETB IT0 ;边沿触发 MOV TMO

5、D,#01H ;T0工作方式1 MOV TL0,#0B0H ;T0低8位初值 MOV TH0,#3CH ;T0高8位初值 MOV IE,#82H ;T0开中断,并开总中断,即SETB EA SETB TR0 ;启动T0,开始计数! MOV R5,#20 ;软件计数器初值,作用即50ms*20HALT: SJMP $ ;等待中断发生;*JS: MOV A ,R0 ;-INT0中断服务子程序,INT0=0时, ADD A,#01h MOV R0,A MOV A,R1 ADDC A,#00h MOV R1,A RETI;* CT: DJNZ R5,NEXT ;-T0中断服务子程序,INC & DIS

6、PLAY CLR EA ;关中断 ACALL BCD MOV A,R4 ;取低位-送数码管LCD3 ORL A,#0F0H MOV P1,A ;将低位数送CD4511 CLR P1.7 ;LE=0,锁存打开.对应的数码管显示 SETB P1.7 ;LE=1,锁存该位;* MOV A,R4 ;取次低位-送数码管LCD2 SWAP A ORL A,#0F0H MOV P1,A ;将次低位数送CD4511 CLR P1.6 ;LE=0,锁存打开,对应数码管显示 SETB P1.6 ;LE=1,锁存该位;* MOV A,R3 ;取高位数-送数码管LCD1 ORL A,#0F0H MOV P1,A ;将高位数送CD4511 CLR P1.5 ;LE=0,锁存打开,对应数码管显示 SETB P1.5 ;LE=1,锁存该位 MOV R5,#20 ;重新赋值 MOV R0,#00H ;R0清0 MOV R1,#00H ;R1清0 SETB EA ;开中断 NEXT: MOV TL0,#0B0H ;重新装初值 MOV TH0,#3CH RETI;*BCD: CLR A MOV R4,A MOV R3,A MOV R7,#10HLP0: CLR C MOV A,R0 RLC A MOV R0,A MOV A,R1 RLC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论