读LCD数据不成可能是什么原因?有哪位高手指点一下,做LCD的读写实验时,用的是HD44770的LCD片,按正常的时序读的,却不成功,程序如下,帮我看一下: void rd_lcd_data(void) {TRISDATA|=0x00FF; asm volatile("nop"); RS=1; RW=1; //U2TXREG=DATA; E=1; aaaa=DATA; asm volatile("nop"); asm volatile("nop"); asm volatile("nop"); E=0; aaaa&=0x00FF; delay(delay_200us_count); } void __attribute__((__interrupt__)) _U2TXInterrupt(void) { //for(j=0;j<i;j++) // {lcd_cmd(0x04); // } //for(j=0;j<33;j++) // { // rd_lcd_data(); // readb&=0x0F; lcd_cmd(0x80); cursor_right(); rd_lcd_state(); /* a=state; a&=0x0080; if(a==0) {PORTAbits.RA1=~PORTAbits.RA1; rd_lcd_data(); U2TXREG=aaaa; IFS1bits.U2TXIF=0; } else {IFS1bits.U2TXIF=0; PORTAbits.RA1=~PORTAbits.RA1; rd_lcd_data(); U2TXREG=aaaa; }*/ rd_lcd_data(); U2TXREG=aaaa; U2TXREG=readb[j]; j++; if(j==8)j=0; PORTAbits.RA1=~PORTAbits.RA1; IFS1bits.U2TXIF=0; } 用的是串行通信的方式,目的是PC读出显示器的当前显示字符 上两部分程序是主要的子程序 发送数据给LCD显示却可以实现,用的是MICROCHIP的开发板来做的 有经验的路过的指导一下,不胜感激 |