THREE MISTAKES OF THE LCD : INTERFACING LCD TO MSP430
Hello friends, how many of u has scratched ur head and said…. MSP430 interfacing LCD is quiet difficult man… You can do it but very difficult… Well… We are also one among those people who said it… and we had used an alternate method, interface atmega16 to msp430. The atmega16 used to run the LCD!! Wa wa… Master slave configuration!!! After much amount of research and burning 2 LCDs we have solved this problem successfully 🙂 At last 😛 We now interfaced LCD with MSP430 🙂
The main reasons for not working of LCD interface is –
1) LCD (16 x 2) display works with 5V logic level (TTL), where as TI MCU works with 3V logic levels (CMOS). There is voltage level mismatch between the two components.
2) Not understanding datasheet of LCD 16×2. Contrast pin is not connected properly
3) Initialization problems.
Here are the steps for interfacing TIMCU and LCD (16×2). I have chosen MSP430F149 Micro controller to interface to LCD as an example. We have used 8bit logic interface.
The connections are made as u wish. P1 I have used for control bits and P2 as data bits.
The Datasheet of LCD one should know properly. Else u might end up burning the LCD down.
LCD which I used datasheet can be seen at http://www.datasheetarchive.com/JHD162A-datasheet.html
Voltage Level mismatch:
To solve the problem of voltage level mismatch between the TIMCU and LCD, we must use logic level shifter IC. HCF4050 (or CD4050) from ST electronics is the IC which we used for this purpose. 16 pin IC which converts 3.3V level to 5V level, and 0v to 0v level. These are CMOS hex convertors. The data sheet of IC- HCF4050 can be obtained from the link www.8051projects.info/datasheets/CD_4049.PDF
The figure shows the connection just for one pin conversion. Make similar connections to all the pins of LCD. You will require 2- HCF4050 IC to connect the entire LCD to MSP430F149 in 8bit method.
Soon I will write a library for LCD commands and will post it here. Hope u people have got some solution. Well Purposefully I didn’t give complete solution like programming method… bcoz u don’t try anything if I give 😛 So if u get stuck in programming then post it here.. I wil help then.