The simulator says that the data pins are giving the values I expect (my original table was data from the simulator), but if it matters here are my code snippets: SendByteToLCD: ;send the two nybbles to the LCD display movwf TempByteToLCD swapf TempByteToLCD, 0 ;the LCD expects the high nybble first call SendNybbleToLCD movfw TempByteToLCD call SendNybbleToLCD return SendNybbleToLCD: ;send the low nybble of w to the LCD display. andlw b'00001111' ;only the low four bits of WREG count banksel PORTA movwf PORTA ;send the four bits out of the I/O port nop nop ;raise the E line bsf LCD_E nop nop ;lower the E line bcf LCD_E ;wait 160us between commands movlw d'160' call Wait_WREG_Microseconds return > -----Original Message----- > From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On > Behalf Of Jinx > Sent: Sunday, June 10, 2007 5:52 PM > To: Microcontroller discussion list - Public. > Subject: Re: [PIC] Interfacing to a Hitachi 44780 LCD in 4-bit mode > > How are you writing two nybbles ? LSN, MSN, Busy ? > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist