您的位置 首页 知识

8031单片机对电机转速的丈量规划

8031单片机对电机转速的测量设计-然后利用DA0832将电机上的传感器配合DA0832的CKMOT接口将脉冲信号接到8031的INT0,利用外中断实现速度的测量,一次外中断会使速度计数器自动加一,利用定时器产生一秒的计时,得出一秒内速度计数器的值就可以得到电机的转速。另定时计数器每250MS产生一次定时器中断,利用中断来检测是否有新的控制信号输入,以达到实时控制转速的目的。

以单片机8031为中心, 使用8279芯片完成按键输入和使用数码管显现所测转速,使用ADC0809将输入电压模拟量转化为数字量(试验箱内部已接好相关接口)操控电机转速的意图。然后使用DA0832将电机上的传感器合作DA0832的CKMOT接口将脉冲信号接到8031的INT0,使用外中止完成速度的丈量,一次外中止会使速度计数器主动加一,使用守时器发生一秒的计时,得出一秒内速度计数器的值就可以得到电机的转速。另守时计数器每250MS发生一次守时器中止,使用中止来检测是否有新的操控信号输入,以到达实时操控转速的意图。


8031单片机对电机转速的丈量规划

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

本文引证地址: http://www.21ic.com/app/mcu/201807/765130.htm

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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/345404.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部