打印

帮我看一看,这个51汇编程序有点问题

[复制链接]
1918|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cfstep|  楼主 | 2010-10-13 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cfstep 于 2010-10-16 20:14 编辑

AT89C2051单片机控制步进电机工作原理
下面的程序用伟福编译能通过,但程序中没有写明T1的中断入口地址?
电路图在http://cfstep.blog.163.com/blog/static/17237076420109884741307/

MOV        20H,#00H               
MOV         21H,#00H              
MOV         P1,#0C0H            
MOV         TMOD,#60H           
MOV         TL1,#0FFH
MOV         TH1,#0FFH
SETB        ET1
SETB        EA
SETB        TR1
SJMP        $
;***********计数器1中断程序************
IT1P:       JB          P3.7,FAN              ;电机正、反转指针
;*************电机正转*****************
            JB          00H,LOOP0
            JB          01H,LOOP1
            JB          02H,LOOP2
            JB          03H,LOOP3
            JB          04H,LOOP4
            JB          05H,LOOP5
            JB          06H,LOOP6
            JB          07H,LOOP7
LOOP0:  MOV         P1,#0D0H
            MOV         20H,#02H
            MOV         21H,#40H
            AJMP        QUIT
LOOP1:  MOV         P1,#090H
            MOV         20H,#04H
            MOV         21H,#20H
            AJMP        QUIT
LOOP2:  MOV         P1,#0B0H
            MOV         20H,#08H
            MOV         21H,#10H
            AJMP        QUIT
LOOP3:  MOV         P1,#030H
            MOV         20H,#10H
            MOV         21H,#08H
            AJMP        QUIT
LOOP4:  MOV         P1,#070H
            MOV         20H,#20H
            MOV         21H,#04H
            AJMP        QUIT
LOOP5:  MOV         P1,#060H
            MOV         20H,#40H
            MOV         21H,#02H
            AJMP        QUIT
LOOP6:  MOV         P1,#0E0H
            MOV         20H,#80H
            MOV         21H,#01H
            AJMP        QUIT
LOOP7:  MOV         P1,#0C0H
            MOV         20H,#01H
            MOV         21H,#80H
            AJMP        QUIT
;***************电机反转*****************
FAN:      JB          08H,LOOQ0
            JB          09H,LOOQ1
            JB          0AH,LOOQ2
            JB          0BH,LOOQ3
            JB          0CH,LOOQ4
            JB          0DH,LOOQ5
            JB          0EH,LOOQ6
            JB          0FH,LOOQ7
LOOQ0: MOV         P1,#0A0H
            MOV         21H,#02H
            MOV         20H,#40H
            AJMP        QUIT
LOOQ1: MOV         P1,#0E0H
            MOV         21H,#04H
            MOV         20H,#20H
            AJMP        QUIT
LOOQ2: MOV         P1,#0C0H
            MOV         21H,#08H
            MOV         20H,#10H
            AJMP        QUIT
LOOQ3: MOV         P1,#0D0H
            MOV         21H,#10H
            MOV         20H,#08H
            AJMP        QUIT
LOOQ4: MOV         P1,#050H
            MOV         21H,#20H
            MOV         20H,#04H
            AJMP        QUIT
LOOQ5: MOV         P1,#070H
            MOV         21H,#40H
            MOV         20H,#02H
            AJMP        QUIT
LOOQ6: MOV         P1,#030H
            MOV         21H,#80H
            MOV         20H,#01H
            AJMP        QUIT
LOOQ7: MOV         P1,#0B0H
            MOV         21H,#01H
            MOV         20H,#80H
QUIT:    RETI
            END

相关帖子

沙发
cfstep|  楼主 | 2010-10-16 20:15 | 只看该作者
有人知道吗?

使用特权

评论回复
板凳
lyjian| | 2010-10-16 22:55 | 只看该作者
因为编译只关心指令,只要指令是对的编译就能通过。至于你程序中没有写中断入口地址它不关心。

使用特权

评论回复
地板
cfstep|  楼主 | 2010-10-17 14:38 | 只看该作者
恩,原来是这样的,谢谢楼上的.

使用特权

评论回复
5
yuyetufu| | 2010-10-18 09:28 | 只看该作者
51定时器1的中断入口在001BH
一般汇编都这个套路:
ORG 0000H
LJMP MAIN
.......
ORG 001BH    ;中断入口在这里
LJMP IT1P

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

141

帖子

2

粉丝