Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem with ATM1602B LCD dsply with S6A0069 controller chip

Status
Not open for further replies.

pulse59

Newbie level 1
Joined
Jul 8, 2007
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,299
atm1602b

Greetings. I changed the old HD44780 16x1 display for this one because it has backlight and is 16x2 BUT it has a S6A0069 controller chip.

I researched very much on the net and found they say S6A0069 LCDs displays are compatible with HD44780, so I connected it with the same pinout.

When I turn on the circuit LCD initializes and shows the text "mikroelektronica" for 3 seconds and then start to behave strange displaying random unexpected characters and resetting.

And I have a problem: I can't open the device's datasheet because its apears to be in chinese (and acrobat seems not like me).

I found a datasheet from a similar device from other manufacturer that appears to be the same with the only difference that it has green backlight. But I'm not sure if it's a PIC or LCD display command (or timing) issue.

This is my code a MikroC example

* Project name:
Lcd_Test (Simple demonstration of the LCD Library functions)
* Copyright:
(c) Mikroelektronika, 2005.
* Description:
This is a simple demonstration of LCD library functions. LCD is first
initialized (PORTC, 4-bit data interface, default pin settings), then some
text is written at the first row.
* Test configuration:
MCU: PIC16F877A
Dev.Board: EasyPIC4
Oscillator: XT, 04.0000 MHz
Ext. Modules: LCD 2x16
SW: mikroC v6.0
* NOTES:
None.
*/

char *text = "mikroElektronika";
unsigned int numero = 0;

void main() {
Delay_ms(100);
LCD_Init(&PORTC); // Initialize LCD connected to PORTC

LCD_Cmd(LCD_CLEAR); // Clear display
LCD_Cmd(LCD_CURSOR_OFF); // Turn cursor off
LCD_Out(1,1, text); // Print text to LCD, 1st row, 1st column
Delay_ms(2500);
LCD_Out(2,1,"TEST"); // Print text to LCD, 2nd row, 1st column
Delay_ms(2000);
LCD_Cmd(LCD_CLEAR);
while (1){ // This loop prints a counter number for checking display changes
numero++;
LCD_Out(1,1,numero);
Delay_ms(1000);
if (numero = 1000) numero = 0;
}

}//~!

I wonder if this problem is a LCD timing issue ¿?¿?
Any suggestions??

Thanks!!!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top