[SOLVED] Help Required on TM1650 Seven Segment Display Driver

Status
Not open for further replies.

sonar_abhi

Member level 1
Joined
Mar 15, 2016
Messages
36
Helped
2
Reputation
4
Reaction score
2
Trophy points
8
Activity points
380
Hello All,

I am developing a circuit in which PIC16F877A controls the peripherals, one of which is a TM1650 7 segment display driver chip.

The datasheet is in Cantonese and I cant understand it. Has anybody worked with the chip and help me on that count?

With regards,

Abhishek
 

The translation is missing the graphics so you will have to match the pictures and text yourself.

Brian.
 

Attachments

  • TM1650.zip
    603.4 KB · Views: 275
View attachment 134505

The translation is missing the graphics so you will have to match the pictures and text yourself.

Brian.

Hi Brian,

I too tried doing that, but for the life of me I couldn't figure out what is the device's address. That should be the basic thing that will be used to address the chip. Also I found three different programs in arduino library but couldnt find the device address in either of them.

I am following this approach, can you please check it to be right?

1. Initialise the I2C
2. I2C Start
3. I2C Stop (To start the chip, SDA should go from high to low as per the datasheet)
4. I2C Start
5. Send 0x48 on the I2C bus to address the chip
6. Send 0x67 on the I2C bus to address the left most digit
7. Send the data on the I2C bus
8. I2C Stop
9. I2C Start (To stop the chip, SDA should go from low to high as per the datasheet)

I am also sending you the links to the arduino based libraries I found for the chip.

1. https://github.com/mozgy/Mozz_TM1650
2. https://github.com/arkhipenko/TM1650

Really appreciate your help,

With regards,
Abhishek
 


Google Translate easily translates the datasheet.


Device address I guess 0x68.
 
Last edited by a moderator:
As I mentioned, I have translated the datasheet with Google Translate but it did not help me a great deal. I could not find sufficient information in it.

Lets start with the basics based on what we can understand from the datasheet:

1. To start the chip, I have to
"Holds SCL as "1" level, SDA jumps from "1" to "0", it is considered start signal,"

This means that I have to pass the Soft_I2C_Start() and Soft_I2C_Stop() or I have to manually turn off and on the corresponding pins of the SCl and SDA connections?

If this part is correct, I can proceed furthur.

With regards,

Abhishek
 

Looking at your Soft_I2C_Start() function name I guess you are using mikroC PRO PIC. Is it right ? If yes, then mikroC PRO Compilers come with help file and an example project to read I2C eeprom. You just see that code. You will come to know how to use the I2C library functions.

It is like this

Code:
Soft_I2C_Start();
Soft_I2C_Write(device_address | write bit);
Soft_I2C_Write(address of register to write);
Soft_I2C_Write(data to be written to the above regsiter);
Soft_I2C_Stop();

If you are not using mikroC PRO Compiler then mention the Compiler you are using.
 

Yes, you are right. I am using the mikroC PRO compiler. The thing is, I have tried almost every approach that was mentioned on the mikroC documentation to communicate with the chip but without success. I guess, I'll have to use some other chip such as 74HC595 instead of wasting more time on this chip just to save some GPIO pins.

Maybe after this project, I might return to tinkering with this chip in my free time.

Thanks for your help, Okada and Betwixt
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…