It has been brought to my attention that the previous message I sent was not readable. I have fixed this problem and want to say I am sorry for the previous message. I am trying to use a maxum 7219 serial display chip with a pic 16c74a. I have the serial port working correctly on the pic but the maxim chip is still not displaying anything. The pic is running with a 4 MHz crystal. If you can see a problem with this program please let me know, or if you have a working routine for this maxim chip please send it my way. thank you ********Program currently set to display 1 digit************ ;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 ORG 0x00 ;reset program position GOTO START ;go to the start of the program ;init serial port START clrf PORTA movlw 0x00 tris PORTA clrf PORTB ;portb is used to pulse a line so that movlw 0x00 ;there is a point we can check to see that tris PORTB ;the pic program is running clrf PORTC ;clears port movlw 0x00 ;sets i/o pins to proper values tris PORTC ;port is now set for only outputs ;because we are not going to receive data ;only 5 pins are required at this point these ;are pins 18, 23, 24, 25, 26 movlw 0x00 ;set proper bits for spi operation bsf STATUS, RP0 ;switch to bank 1 movwf SSPSTAT ; bcf STATUS, RP0 ;switch to bank 0 movlw 0x21 ;pic is set as master with movwf SSPCON ;a 1/4 the fosc bsf PORTC, 6 ;test porgram repeat movlw 0x0c ;Set to normal operation call SEND movlw 0x01 ;take maxium chip out of shutdown call SEND bcf PORTC, 6 ;pulse load line to latch 16 bits nop nop nop bsf PORTC, 6 movlw 0x09 ;declare decode mode b call SEND movlw 0xff ;Set all digits to decode B call SEND bcf PORTC, 6 ;latch data nop nop nop bsf PORTC, 6 movlw 0x0a ;init intensity call SEND movlw 0x0f ;intensity set to max call SEND bcf PORTC, 6 ;latch data nop nop nop bsf PORTC, 6 bcf PORTB, 1 ;set a bit on port b high ;to confirm this point has ;been reached movlw 0x0b ;init scan limit call SEND movlw 0x00 ;only one digit is being displayed so far call SEND ;other digits will be added once 1 display is bcf PORTC, 6 ;working nop nop nop bsf PORTC, 6 movlw 0x0f ;turn display test off call SEND movlw 0x00 ;takes maxium chip out of test mode call SEND bcf PORTC, 6 nop nop nop bsf PORTC, 6 movlw 0x01 ;send data to digit call SEND movlw 0x01 ;this should display the digit 1 call SEND bcf PORTC, 6 nop nop nop bsf PORTC, 6 bsf PORTB, 1 ;set pin on port b high to co nfirm ;porgram finished goto repeat ;repeat program ;send subroutine SEND movwf SSPBUF ;move data to transmit to proper register bsf STATUS, RP0 ;switch to bank 1 LOOP btfss SSPSTAT, BF ;has final bit been sent goto LOOP ;if not loop bcf STATUS, RP0 ;switch to bank 0 movf SSPBUF, W return ; end Brian Ward Send all comments to: Wardbria@mailserv1.ferris.edu