Изделий с ЖКИ мало (около 10), но делаю так давно (с 2003). Проблеммы были именно на первом изделии с 4-битной шиной и отдельными конденсаторами возле контроллера и длинной шиной (30-40см) до ЖКИ. Все остальные 8 бит - проблем небыло.
Частота кварца 16 МГц. Этот кусок вызывается примерно каждые 0,25 мс //--------------------------------------------- ЖКИ if (lcd_buf_rx_ptr!=lcd_buf_tx_ptr) { do { t2.lcd.data=lcd_buf[lcd_buf_tx_ptr++]; if (t2.lcd.data==LCD_CMD_FLAG) { t2.lcd.data=lcd_buf[lcd_buf_tx_ptr++]; LCD_CLEAR_RS; } // от изменения RS до LCD_SET_STROBE надо 1 такт else LCD_SET_RS;
LCD_SET_STROBE; LCD_DATA_PORT=t2.lcd.data; // до LCD_CLEAR_STROBE надо 2 такта LCD_CLEAR_STROBE; // между Е=1 и Е=0 не менее 4 тактов } while(0); }