您现在所在的是:

单片机论坛

回帖:2个,阅读:941 [上一页] [1] [下一页]
1014
516438919
文章数:58
年度积分:50
历史总积分:1014
注册时间:2008/12/2
发站内信
发表于:2009/5/7 22:50:29
#0楼
ORG 000H
          LJMP MAIN
  ORG  0003H
  LJMP TT0
  ORG 0030H
MAIN:   MOV SP,#60H
          MOV IE,#81H
  MOV IP,#01H
  MOV TCON,#00H
ZUOYI1:   MOV R3,#8
  MOV A,#0FEH
ZUOYI:   MOV P1,A
  RL A
  LCALL DISPLAY
  DJNZ R3,ZUOYI
  RR A
      MOV R2,#8
YOUYI:     MOV P1,A
  RR A
  LCALL DISPLAY
  DJNZ R2, YOUYI
  LJMP ZUOYI1
TT0:   PUSH ACC
          PUSH PSW
  MOV A,#11H
  MOV R7,#5
SHANSHUO:  MOV P1,A
          LCALL DISPLAY
  LCALL SHANSHUO1
SHANSHUO1: MOV A,#00H
          MOV P1,A
          LCALL DISPLAY
  DJNZ R7, SHANSHUO
  POP PSW
  POP ACC
  RETI
DISPLAY:   MOV R4,#4
DE1:   LCALL DISPLAY1
  DJNZ R4,DE1
  RET
DISPLAY1:  MOV R5,#00
  MOV R6,#00
DE2:   DJNZ R6,$
  DJNZ R5,DE2
  RET
  END


这段代码要表达的意思是P1口的8个发光二极管左移,右移,有中断时8个二极管闪烁共10次
现在运行时能左移右移但不能闪烁,一直亮直到延时时间到
这中间的TT0写成下面这样中断之后P1口发光二极管任不能闪烁
TT0:   PUSH ACC
          PUSH PSW
  MOV A,#11H
  MOV R7,#10
SHANSHUO:  MOV P1,A
          CPL A
          LCALL DISPLAY
  DJNZ R7, SHANSHUO
  POP PSW
  POP ACC
  RETI
5140
liguoxing
文章数:1691
年度积分:56
历史总积分:5140
注册时间:2006/4/21
发站内信
发表于:2009/5/8 8:54:31
#1楼
以下是引用516438919在2009-5-7 22:50:29的发言:
TT0:    PUSH ACC
           PUSH PSW
     MOV A,#11H
     MOV R7,#5
SHANSHUO:  MOV P1,A
           LCALL DISPLAY
     LCALL SHANSHUO1
SHANSHUO1: MOV A,#00H
           MOV P1,A
           LCALL DISPLAY
     DJNZ R7, SHANSHUO
     POP PSW
     POP ACC
     RETI
在以上这一段里,第一: LCALL SHANSHUO1这句,既然长调用子程序,那么此子程序结束必须有个RET调用返回指令.你的SHANSHUO1子程序的返回指令在哪?
                    第二:"MOV A,#11H"也不知道你写这个语句的目的是什么?如果想使得闪烁.也应该是先00H,后0FFH.何来个#11H?,而且为何要写入A?直接写道P1不是可以的吗,想延长程序的运行时间吗?                  
                  第三:"MOV R7,#5"你这句的目的想闪烁5次吗?若写入#5的话那么就代表输出灭5次,亮5次.照理闪烁10次,意思照理是灭10次,亮10次,而应该写:"MOV R7,#10"



总括后把你你的中断程序改成一下的程序,即可实现命题要求.你其他写的没错的.
 

TT0:     PUSH ACC
          PUSH PSW
    MOV R7,#5
SHANSHUO:   MOV P1,#00H
          LCALL DISPLAY
SHANSHUO1: MOV P1,#0ffH
          LCALL DISPLAY
    DJNZ R7, SHANSHUO
    POP PSW
    POP ACC
    RETI

呜呜。我没有个性化Logo,谁能帮我设计个?拜托啦。
1014
516438919
文章数:58
年度积分:50
历史总积分:1014
注册时间:2008/12/2
发站内信
发表于:2009/5/8 12:56:08
#2楼
谢谢您!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003