TO L2
RETLW 0
;-------------------- ----------------------------------
DISP
SWAPF DISPBUF,W ;显示值高低位交换,先处理高位
ANDLW 0FH ;屏蔽掉高位
MOVWF DISPBUF_H ;存入寄存器
MOVFW DISPBUF ;显示值低位处理
ANDLW 0FH ;屏蔽掉高位
MOVWF DISPBUF_L ;存入寄存器
MOVLW 0FFH
MOVWF PORTB ;先熄灭数码管以免闪烁
BSF PORTA,1
BCF PORTA,2 ;先显示低位
MOVLW TABLE
MOVWF TABADD ;将转换表的首地址存入TABADD
MOVFW DISPBUF_L ;计数值(W)与转换表的起始地址相加
ADDWF TABADD,W
CALL CONVERT ;存入W后调用转换表子
程序
MOVWF PORTB ;送RB口显示
CALL DELAY ;廷时4。7MS
MOVLW 0FFH ;同样方法显示高位
MOVWF PORTB
BSF PORTA,2
BCF PORTA,1
MOVLW TABLE
MOVWF TABADD
MOVFW DISPBUF_H
ADDWF TABADD,W
CALL CONVERT
MOVWF PORTB
CALL DELAY
RETLW 0
;-------------------------------------------------------
CONVERT
MOVWF PC ;将W寄存器内的7段显示码地址放入PC
TABLE ;PC执行新地址指令, 跳到相对的地址执行?
RETLW 081H ;0 ;RETLW指令,将七段显示码存入W后返回
RETLW 0E7H ;1
RETLW 092H ;2
RETLW 0A2H ;3
RETLW 0E4H ;4
RETLW 0A8H ;5
RETLW 088H ;6
RETLW 0E3H ;7
RETLW 080H ;8
RETLW 0A0H ;9
;----- -----------------------------------------------
END