I am attempting to use a maxium 7219 serial multipexing chip with a pic 16c74a.  I am running the pic at 4MHz.  I have the serial port on the pic working and after 16 bits are sent I pulse the load line on the 7219.  It appears to me that everything is correct.  However the chip is not displaying anything.  I have included with this message a copy of my program.  If anyone can figure out what I am doing wrong please let me know, or if you have a program that already does this task correctly please send it to me.
 
************This is the program I have so far*********
;this is the pic and display information needed to init the 
;Serial port and the multiplexing chip.
;
;
;init these values
 LIST  P=16C74A, F=INHX8M
 include <p16c74a.inc>
            &nbs p;  ORG     0x00            &nb sp;      ;reset program position         
            &nbs p;  GOTO    START             ;go to the start of the program
;init serial port
START   clrf PORTA
            &nbs p;   movlw 0x00 
            &nbs p;   tris PORTA
 
            &nbs p;   clrf PORTB            &n bsp;          ;portb is used to pulse a line so that  
            &nbs p;   movlw 0x00            &nb sp;         ;there is a point we can check to see that  
            &nbs p;   tris PORTB            &n bsp;          ;the pic program is running
 
            &nbs p;   clrf  PORTC            &n bsp;        ;clears port  
            &nbs p;   movlw 0x00            &nb sp;         ;sets i/o pins to proper values  
            &nbs p;   tris PORTC            &n bsp;         ;port is now set for only outputs     
            &nbs p;              ;                &n ;because we are not going to receive data     
            &nbs p;              ;                &n ;only 5 pins are required at this point these     
            &nbs p;              ;                &n ;are pins 18, 23, 24, 25, 26
            &nbs p;   movlw 0x00            &nb sp;        ;set proper bits for spi operation  
            &nbs p;   bsf STATUS, RP0           ;switch to bank 1  
            &nbs p;   movwf SSPSTAT             ;  
            &nbs p;   bcf STATUS, RP0           ;switch to bank 0  
            &nbs p;   movlw 0x21            &nb sp;        ;pic is set as master with  
            &nbs p;   movwf SSPCON             ;a 1/4 the fosc  
            &nbs p;   bsf PORTC, 6
 
;test porgram 
repeat      movlw 0x0c            &nb sp;         ;Set to normal operation  
            &nbs p;   call SEND  
            &nbs p;   movlw 0x01            &nb sp;         ;take maxium chip out of shutdown  
            &nbs p;   call SEND  
            &nbs p;   bcf PORTC, 6                   ;pulse load line to latch 16 bits  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6 
            &nbs p;   movlw 0x09            &nb sp;         ;declare decode mode b  
            &nbs p;   call SEND  
            &nbs p;   movlw 0xff            &nb sp;           ;Set all digits to decode B  
            &nbs p;   call SEND  
            &nbs p;   bcf PORTC, 6                   ;latch data  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6
            &nbs p;   movlw 0x0a            &nb sp;         ;init intensity  
            &nbs p;   call SEND  
            &nbs p;   movlw 0x0f            &nb sp;          ;intensity set to max  
            &nbs p;   call SEND  
            &nbs p;   bcf PORTC, 6                   ;latch data  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6
            &nbs p;   bcf PORTB, 1                    ;set a bit on port b high     
            &nbs p;              ;                &n ;to confirm this point has     
            &nbs p;              ;                &n ;been reached    
            &nbs p;   movlw 0x0b            &nb sp;         ;init scan limit  
            &nbs p;   call SEND  
            &nbs p;   movlw 0x00            &nb sp;         ;only one digit is being displayed so far  
            &nbs p;   call SEND            &nb sp;           ;other digits will be added once 1 display is  
            &nbs p;   bcf PORTC, 6                   ;working  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6
            &nbs p;   movlw 0x0f            &nb sp;          ;turn display test off  
            &nbs p;   call SEND  
            &nbs p;   movlw 0x00            &nb sp;         ;takes maxium chip out of test mode  
            &nbs p;   call SEND  
            &nbs p;   bcf PORTC, 6  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6
            &nbs p;   movlw 0x01            &nb sp;         ;send data to digit  
            &nbs p;   call SEND  
            &nbs p;   movlw 0x01            &nb sp;         ;this should display the digit 1  
            &nbs p;   call SEND  
            &nbs p;   bcf PORTC, 6  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   nop  
            &nbs p;   bsf PORTC, 6
            &nbs p;   bsf PORTB, 1                    ;set pin on port b high to confirm     
            &nbs p;              ;                &n ;porgram finished
            &nbs p;   goto repeat            & nbsp;           ;repeat program
;send subroutine 
SEND      movwf SSPBUF            & nbsp;  ;move data to transmit to proper register  
            &nbs p;   bsf STATUS, RP0            ;switch to bank 1 
LOOP     btfss SSPSTAT, BF          ;has final bit been sent  
            &nbs p;  goto LOOP            &nb sp;          ;if not loop  
            &nbs p;  bcf STATUS, RP0            ;switch to bank 0  
            &nbs p;  movf SSPBUF, W  
            &nbs p;  return ;  
 
           end