Solved: TS1620A-17 V2 lcd

Go To Last Post
9 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hi

i'm trying to use a Alphanumeric lcd i bought ts1620A-17 V2

i cant get it working

in datasheet says D4_D7 are not used during  4 bit  operation

i tested the code in  proteus  

 

ATMEGA32A

ts1620A-17 V2

 

can somebody tell mr how this lcds work ts1620A-17 V2

 

sorry for my bad english

Last Edited: Sun. Aug 6, 2017 - 01:31 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The datasheet I found for this module:

 

https://www.google.com/search?si...

 

Page 3 shows D4 - D7 used for 4 bit mode.

 

 

This is a standard LCD module that has EXTENSIVE threads on its implementation on this site.  I recommend you use teh Peter Gleury LCD driver library to get it working.  Again there is ample resources on this site for it as well.

 

Just so you are aware the LCD module is a generic HD44780 LCD, there are hundreds of thousands of Google hits on its use.

 

Jim

 

EDIT:  It appears that in another datasheet the OP's statement rings true:

 

http://datasheet.elcodis.com/pdf...

 

If you want a career with a known path - become an undertaker. Dead people don't sue! - Kartman

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

Last Edited: Wed. Aug 2, 2017 - 12:13 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

EDIT:  It appears that in another datasheet the OP's statement rings true:

The information on page 6 of this data sheet seems horribly messed up when it comes to the data pins. 

 

It shows pins 7 -10 (four pins) with the symbols DB0 - DB4 (five symbols).  Then the 'function' section calls these the low-order bits but also says that DB7 can be used as a busy flag.

 

It also shows pins 11 - 14 (four pins) with the single symbol DB5.  Here the 'function' section also lists these as the four low-order bits.

 

I would go along with your original assumption that this is a run-of-the-mill HD44780 compatible device.

 

Don

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
I recommend you use teh Peter Gleury LCD driver library

 

I think he meant Fleury,  here is the link:  http://homepage.hispeed.ch/peter...

 

Jim

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

ki0bk wrote:
Peter Gleury

A portmanteau for thinking of Fleurys LCD code as Glue logic? ;-)

Happy 75th anniversary to one of the best movies ever made! Rick Blane [Bogart]: "Of all the gin joints, in all the towns, in all the world, she walks into mine."

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thanks for responding 

i use Codevisionavr and cod wizard and test it in proteus  and it works

 

do i have to use a potentiometer for PIN 3   VO ?

How to connect the pins to ATmega32      D1-d4 or D4 -D7

 

<

#include <mega32.h>
#include <delay.h>
#include <alcd.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In 
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T 
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 8
lcd_init(16);

while (1)
      {
      lcd_putchar('A');
      delay_ms(250);

      }
}

>

Last Edited: Sun. Aug 6, 2017 - 09:06 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have tested in Proteus. So you just wire up your LCD to match your Proteus schematic.
In practice VO pin can be connected to GND. It should have a readable result with 0.00V but a potentiometer might get a better contrast at about 0.45V

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i rewired it and it worked 

but connecting VO pin directly to GND  did'not worked i had to use a 3k3res  

thanks for the help 

it worked

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Measure the supply voltage to your LCD.   I would expect a good contrast with VO about 4.5V below the VCC.  

 

With a 5V supply,  this would be somewhere between 0.00V and 0.50V

 

Many LCD modules have an on-pcb resistor from VCC to VO.   So a single resistor between VO and GND forms the other leg of a potentiometer.

3k3 implies that your VCC is higher than 5V.

 

David.