标题: 跪求汇编高手帮我看下这个程序有什么问题 [打印本页]

作者: cc474231890    时间: 2011-9-2 09:44
标题: 跪求汇编高手帮我看下这个程序有什么问题

自己做了个除法显示程序  很简单  就是要让1000/100  然后让结果显示在数码管上  但烧进单片机后 为什么数码管一点反映都没有?   单片机开发板等下上图  先上程序:

  

 ORG 0060H
  AJMP MAIN
MAIN:
  CLR P2.6
  CLR P2.7
     MOV R7,#03H
  MOV R6,#0E8H
  MOV R5,#00H
  MOV R4,#64H
  LCALL DIV0    ;调用除法
  MOV A,R7    ;显示商的高位
  MOV P0,A     
  SETB P2.6    ;开锁存器
  CLR P2.6    ;关锁存器
  LCALL DELAY

  MOV A,#0FEH    ;第一个数码管显示
  MOV P0,A
  SETB P2.7
  CLR P2.7
  LCALL DELAY

  MOV A,R6   ;显示商的低位
  MOV P0,A
  SETB P2.6
  CLR P2.6
  LCALL DELAY

  MOV A,#0FDH    ;第二个数码管显示
  MOV P0,A
  SETB P2.7
  CLR P2.7
  LCALL DELAY

  MOV A,R3     ;显示余数高位
  MOV P0,A
  SETB P2.6
  CLR P2.6
  LCALL DELAY

  MOV A,#0EFH       ;第四个数码管显示
  MOV P0,A
  SETB P2.7
  CLR P2.7
  LCALL DELAY
      
  MOV A,R2   ;显示余数低位
  MOV P0,A
  SETB P2.6
  CLR P2.6
  LCALL DELAY

  MOV A,#0DFH   ;第五个数码管显示
  MOV P0,A
  SETB P2.7
  CLR P2.7
  LCALL DELAY
  AJMP MAIN
DIV0:
     MOV 3AH,#0
  MOV A,R5
  JNZ ZERO
  MOV A,R4
  JZ OVER
ZERO:
     MOV A,R7
  JNZ START
  MOV A,R6
  JNZ START
  RET

START:
     CLR A
  MOV R1,#16
  MOV R2,#0
  MOV R3,#0

LOOP:
     CLR C
  MOV A,R6 ;把被除数左移一位
  RLC A
  MOV R6,A
  MOV A,R7
  RLC A
  MOV R7,A

  MOV A,R2  ;把被除数移出的位送到R2
  RLC A
  MOV R2,A
  MOV A,R3
  RLC A
  MOV R3,A

  MOV A,R2     ;用R2减去除数低位
  SUBB A,R4
  JC NEXT   ;不够则转移
  MOV R0,A    
  MOV A,R3   ;用R3减去除数高位
  SUBB A,R5
  JC NEXT
  INC R6
  MOV R3,A
  MOV A,R0
  MOV R2,A

NEXT:
     DJNZ R1,LOOP   ;16位没有移完就继续左移

  CLR C
  RET

OVER:
     MOV 3AH,#0FFH
  RET

DELAY:
      MOV R5,#5
   D1:MOV R6,#250
   D2:MOV R7,#250
      DJNZ R7,$
   DJNZ R6,D2
   DJNZ R5,D1
   RET
   END

 

 

  

 

 




作者: cc474231890    时间: 2011-9-2 09:46
数码管是共阴极的 
作者: cc474231890    时间: 2011-9-2 09:51
没有人吗?一直在线等指导啊
作者: admin    时间: 2011-9-3 04:46
你这个是用在什么单片机开发板上的?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1