Hi frend here is my code
Code:
' FONT OF DOT MATRIX 
EEPROM 0,[0,127,32,16,0]    ' 1
EEPROM 5,[49,73,73,73,39]    ' 2
EEPROM 10,[54,73,73,65,34]    ' 3
EEPROM 15,[4,127,36,20,12]     '4
EEPROM 20,[70,73,73,73,122]    '5
EEPROM 25,[38,73,73,73,62]      '6 
EEPROM 30,[96,80,72,71,64]      ' 7
EEPROM 35,[54,73,73,73,54]      ' 8
EEPROM 40,[62,73,73,73,50]       '9
EEPROM 45,[62,65,65,65,62]       '0

include "modedefs.bas" 
' -----[ Program Description ]---------------------------------------------
' 4 Sets of 8 LED's (32 total). Each Dig# able to have an 8 bit number
' assigned to it.

' -----[ Revision History ]------------------------------------------------

' -----[ I/O Definitions ]-------------------------------------------------


symbol DOUT = PORTb.0 'line for data input connected to RC5
symbol CLK = PORTb.2 'CLK line connected to pin RC3 
symbol Load = PORTb.1 
Digit var byte
X Var byte
FONT_N VAR BYTE
VALUE VAR WORD
VALUE_SHOW VAR BYTE
DOT_DATA VAR BYTE
loaddata VAR BYTE
N VAR BYTE
I VAR BYTE

' -----[ Constants ]-------------------------------------------------------
IsLow CON 0
IsHigh CON 1

' -----[ Variables ]-------------------------------------------------------
COUNter var byte
' -----[ EEPROM Data ]-----------------------------------------------------

' -----[ Initialization ]--------------------------------------------------

' -----[ Program Code ]----------------------------------------------------
Begin:

GOSUB DecodeMode
GOSUB ShutDownMode
GOSUB ScanLimit
GOSUB Intensity
' gosub displaytest 
VALUE = 4513
FOR I = 3 TO 0 STEP -1  
N = VALUE Dig I	' Get digit to display
    GoSub Display1	' Display the digit 
      
Continue:
    SELECT CASE loaddata
      CASE 1 
        DOT_DATA = 0 
      CASE 2 
        DOT_DATA = 5
      CASE 3 
        DOT_DATA = 10
      CASE 4 
        DOT_DATA = 15
      CASE 5 
        DOT_DATA = 20
      CASE 6 
        DOT_DATA = 25
      CASE 7 
        DOT_DATA = 30
      CASE 8 
        DOT_DATA = 35
      CASE 9 
        DOT_DATA = 40
      CASE 0 
        DOT_DATA = 45
      CASE ELSE
        GOTO Begin
    END SELECT
    
    For x = 1 TO 5
        READ DOT_DATA, VALUE_SHOW
        
        LOW Load
        ShiftOut DOUt,clk,MSBFIRST,[X,VALUE_SHOW]
        HIGH Load
        PAUSE 10
        pause 250
        DOT_DATA=DOT_DATA + 1
    NEXT X

    
NEXT I
I = 0
GOTO BEGIN

Display1:  ' looup data for 7 seg                                               
LookUp N, [0,1,2,3,4,5,6,7,8,9],loaddata
Return       
' Test the display by writting 8's to each digit and scrolling them across
'=========================
'digit = 8
'For x = 1 TO 8

'ShiftOut DOUt,clk,MSBFIRST,[digit,$67]  '$67  = p

'PulsOut Load,10
'Pause 500
'ShiftOut DOUt,clk,MSBFIRST,[digit,$00] 
'PulsOut Load,10
'digit = digit - 1
'Next 


GOTO continue
END 
' NEXT


' -----[ Subroutines ]-----------------------------------------------------
DecodeMode:
LOW Load
SHIFTOUT DOUT, CLK, MSBFIRST,[$0900\16]
PulsOut Load,10
'HIGH Load
'PAUSE 20 
RETURN
'Set shutdown mode so device is active
ShutDownMode:
LOW Load
SHIFTOUT DOUT, CLK, MSBFIRST,[$0C01\16]    ' Reg. C normal operate/Shutdown OFF
PulsOut Load,10

RETURN
'Set scan limit mode for three digits
ScanLimit:
LOW Load
SHIFTOUT DOUT, CLK, MSBFIRST,[$0B07\16]    ' 07 = scan 8 digit ,04 scan 4 digit
PulsOut Load,10

RETURN
'Set intensity of LEdDs
Intensity:
LOW Load
SHIFTOUT DOUT, CLK, MSBFIRST,[$0A09\16]
PulsOut Load,10

RETURN 
'Set Display Test mode active
DisplayTest:
LOW Load
SHIFTOUT DOUT, CLK, MSBFIRST,[$0F01\16]
PulsOut Load,10

RETURN