[求助] 控制步进电机 正反转 程序 解析

马踏东胡   2011-12-17 15:35 楼主

步进电机 带开关.doc (11 KB)
(下载次数: 25, 2011-12-17 15:35 上传)
我初学51系列单片机,希望有朋友帮忙解析程序

 

如:主程序中,MAIN:   MOV    TMOD,#10H 这“#10H” 是做什么的,这条指令是做什么?

 

谢谢帮忙的朋友,谢谢!

 

控制步进电机 正反转 程序如下:

 

             ORG    0000H

             AJMP   MAIN

             ORG    001BH

             AJMP   T1_IN

             ORG    0080H

MAIN:   MOV    TMOD,#10H

             MOV    TH1,#0D8H

             MOV    TL1,#0F0H

             MOV    IE,#88H

             MOV    A,#00H

             MOV    R4,#04H

             SETB   TR1

       L:   JNB    P3.0,L1

             JNB    P3.1,L2

             SJMP    L

     L1:    MOV    DPTR,#TAB

             SJMP    L

     L2:    MOV    DPTR,#TAB1

             SJMP     L

T1_IN:    MOV    TH1,#0D8H

              MOV    TL1,#0F0H

              MOVC   A,@A+DPTR

              MOV    P0,A

              INC    DPTR

              CLR    A

              DJNZ   R4,T1_END

              MOV    DPTR,#TAB

              MOV    DPTR,#TAB1

              MOV    R4,#04H    

T1_END: RETI

TAB:       DB     01H,04H,01H,04H

TAB1:     DB     04H,01H,04H,01H

              END

[ 本帖最后由 马踏东胡 于 2011-12-17 15:46 编辑 ]

回复评论 (5)

又是汇编啊  俺不会
点赞  2011-12-17 18:43
TMOD工作方式控制寄存器.jpg
点赞  2011-12-17 21:05
mov tmod,#10h   这句的直面意思是 给 TMOD 这个寄存器赋16进制值 10H。

实际意思是设定定时器工作模式。10h转2=00010000。也就是给TMOD 的 M0位赋值=1。此时,就是设定定时器1为16位工作模式。最大计数值65535。

程序不是很难。无非就是没有信号的时候,单片机驱动步进电机超一个方向旋转。当有信号的时候,单片机驱动步进电机反转。
点赞  2011-12-18 13:58
mov tmod,#10h   这句的直面意思是 给 TMOD 这个寄存器赋16进制值 10H,一而就是使用定时器T1进行定时,10H是16进制数转换成2进制是0001 0000,mov  tmod #10 是立即数寻址
点赞  2011-12-19 16:05
51单片机的200个电路的原理图和PCB
点赞  2012-1-18 20:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复