您当前的位置:五五电子网电子知识单片机-工控设备51单片机基于8051单片机的电机转速测量控制程序 正文
基于8051单片机的电机转速测量控制程序

基于8051单片机的电机转速测量控制程序

点击数:7155 次   录入时间:03-04 11:50:11   整理:http://www.55dianzi.com   51单片机

    以单片机8031为核心, 利用8279芯片实现按键输入和利用数码管显示所测转速,利用ADC0809将输入电压模拟量转化为数字量(实验箱内部已接好相关接口)控制电机转速的目的。然后利用DA0832将电机上的传感器配合DA0832的CKMOT接口将脉冲信号接到8031的INT0,利用外中断实现速度的测量,一次外中断会使速度计数器自动加一,利用定时器产生一秒的计时,得出一秒内速度计数器的值就可以得到电机的转速。另定时计数器每250MS产生一次定时器中断,利用中断来检测是否有新的控制信号输入,以达到实时控制转速的目的。
 
  ORG 0000h
  ajmp main
  ORG 0003h  ;外部中断0
  AJMP ZS
  ORG 000BH  ;定时计数器0中断
  AJMP JS
  ORG 0100H
main: mov sp,#60h
      CLR PSW.5    ;清零标志位
  SETB P1.0    ;置位检测位
  setb et0
  SETB IT0 ;外部中断0下降沿有效
  SETB EX0 ;允许T0中断
  mov DPTR,#5FFFH ;8279初始化
  MOV A,#0DCH
  MOVX @DPTR,A
WAIT: MOVX A,@DPTR
      JB ACC.7,WAIT
  MOV A,#00H
  MOVX @DPTR,A
  MOV A,#34H
  MOVX @DPTR,A

      MOV R0,#30H ;清零所用数值缓冲区
CL:  MOV A,#00H
  MOV @R0,A
  INC R0
  CJNE R0,#36H,CL
  MOV 36H,#200
  MOV 37H,#20
  ACALL DIR
TIME: MOV TMOD,#02H ;一秒定时
      MOV TH0,#6
  MOV TL0,#6
  SETB TR0  ;开启T0中断
  SETB EA

    LOP2: JNB PSW.5,LOP3
      CLR PSW.5
  ACALL DIR  ;到一秒显示转速
  JMP LOP2
LOP3: MOV DPTR,#9FF4H ;启动A/D
  MOVX @DPTR,A
  ;ACALL DELAY1
  JB P1.0, $
  MOVX A,@DPTR
  MOV DPTR,#7FFFH ;启动D/A
  MOVX @DPTR,A
  AJMP LOP2

    JS:  PUSH ACC  ;T0中断子程序
      DJNZ 36H,OUT
  DJNZ 37H,next
  ajmp next1
next: MOV 36H,#200
  ajmp out
next1:SETB PSW.5
  MOV 33H,30H
  MOV 34H,31H
  MOV 35H,32H
  MOV 30H,#0
  MOV 31H,#0
  MOV 32H,#0
  MOV 36H,#200
  MOV 37H,#20
OUT:  POP ACC
      RETI

    ZS:  PUSH ACC  ;外部中断子程序
      CLR EX0
  MOV A,30H
  ADD A,#1
  DA A
  MOV 30H,A
  CJNE A,#99H,OUT1
  MOV 30H,#0
  MOV A,31H
  ADD A,#1
  DA A
  MOV 31H,A
  CJNE A,#99H,OUT1
  MOV 31H,#0
  MOV A,32H
  ADD A,#1
  DA A
  MOV 32H,A
OUT1: SETB EX0
  POP ACC
     
  RETI 
 
DIR:  MOV R0,#33H
      MOV DPTR,#5FFFH
  MOV A,#92H
  MOVX @DPTR,A
  MOV R2,#03H
LED:  MOV A,@R0
      ANL A,#0FH
      MOV DPTR,#LEDTAB
  MOVC A,@A+DPTR
  MOV DPTR,#5EFFH
  MOVX @DPTR,A
  MOV A,@R0
  SWAP A
  ANL A,#0FH
  MOV DPTR,#LEDTAB
  MOVC A,@A+DPTR
  MOV DPTR,#5EFFH
  MOVX @DPTR,A
  INC R0
  DJNZ R2,LED
  RET

    LEDTAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H

    DELAY1: MOV R6,#5
DELAY2: MOV R7,#200
        DJNZ R7,$
        DJNZ R6,DELAY2 
  RET
 
END
 




本文关键字:测量  电机  单片机  51单片机单片机-工控设备 - 51单片机