CFAG320240CX-TFH-T-TS Post Initialization Help


New member
So I have successfully interfaced an 8-bit micro to the CFAG320240CX-TFH-T-TS screen and am able to write characters to it via the onboard character generator with a fair amount of ease. However, my data bus is shared with another device and I am having difficulties with idling the screen while maintaining the data that was written to it. It almost appears that my registers are being reset but I am not toggling the /RESET Pin.

In pseudo code:
{...write data to the screen}

//Finished writing to the display and would like to leave the information displayed. 
Clr_E();  //6800 mode; No Operation
Clr_A0();  //
Set_CS();  //Active Low, S1D13700 Chip Not Selected
Data(0);   // Write 0 values to the data lines - clear the lines
Set_Res();  //Active Low, maintain H value so as to not reset registers
After I do this I begin to write to my other device. However, as soon as the micro is not interfacing with the display it appears to reset all internal registers. Does the S1D13700 rely on a clock signal from the uC? I'm thinking that I am somehow missing a step in my pseudo code above which is causing the issue. Any and all help is greatly appreciated.

Thanks all.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.

CF Tech

Why would you do the "Set_Res()" ?

Normally you would only want to de-assert the E and CS lines.


New member
I apologize for the confusion. When I "SET_RES();" I am bringing the line high which in turn de-asserts this pin. CLR_E(); de-asserts the E pin which should work. I am still learning proper software syntax.

A little more background....

I am using a buffer chip in between the uC and the LCD. When I am not communicating to the LCD via the buffer chip, the buffer chip goes to a isolation state (high impedance). While in this high impedance state I have noticed a minor dip in the RESET pin (which is an active low). I have tried to counter this with a very very strong pull-up but it seems rather unsuccessful at this point. I'm rather confused at this point. :confused: Any thoughts?

Well, back to the circuit!
If the buffer driving the display lines goes to hi-Z, then you need to put weak (10K) pull ups/downs to hold all of the control lines in the inactive state.


New member
Thanks cosmic and Crystalfontz - I tried using a weaker pullup on all the control lines as you mentioned. I used a 10k resistor for all.

Pull Downs
Pin 4 - E
Pin 5 - R/W
Pin 6 - A0
Pin 19 - Dispoff
Pin 20 - Wait (although I do not use this at this time in my program)

Pull Ups
Pin 15 - /CS
Pin 16 - /RES

When I probe the control lines, everything is reaching the desired inactive state EXCEPT the /CS pin. That pin is actually driven low (which activates the device). My thoughts are to try a stronger pull up on that pin. Perhaps a 1k? Any thoughts and/or suggestions?

Thanks for all the help.
If CS is being driven low, then do not try to fight the driver with a low resistance pull-up. You need to find out why the CS driver is not going to the hi-Z state.