Tool/software: Code Composer Studio
sir can you please tell methe voltage between r33 &r23,same as between all the registers for lcd interfacing with msps430f427a
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
sir can you please tell methe voltage between r33 &r23,same as between all the registers for lcd interfacing with msps430f427a
Hello,
Please read through Chapter 25 in the MSP430x4xx Family User's Guide. Also, another good LCD reference is the Designing With MSP430™ MCUs and Segment LCDs app note. These resources will answer your questions.
Regards,
James
Hello Meet,
Clemens Ladisch said:Why are you asking about the voltage? What exactly is the problem you have with the LCD, and why do you think it is related to voltage?
Have you had a chance to look into Clemens Ladisch's helpful questions or have you resolved your question? Thanks.
Regards,
James
Hello,
Meet Agrawal said:Sir actually i am unable to run this LCD with msp430f427a , in which LCD module is there , i am trying all possible solutions but still i am unable to do it .
Can you share more details about what you've tried? For an LCD to work properly, it will need to be supported by the MSP430's LCD module, the hardware connections between the MSP430 and the LCD will need to be correct, and the software configuring and controlling the LCD will also need to be correct. Please elaborate on each of these points in your design.
For example, Table 1 in the Designing With MSP430™ MCUs and Segment LCDs app note compares different MSP430 LCD modules. The MSP430F427A includes the "LCD" module. Can you confirm that the LCD you're using is supported by the LCD's parameters?
Regards,
James
Hello,
Meet Agrawal said:1. Hardware :
> i have connected controller and capacitor of reference
> i have connected one crystal 32kHz
Are these connections on a PCB? This is important because how the crystal gets connected can affect the load capacitance. A schematic would be helpful too.
Meet Agrawal said:> i have connected registers between R33,R23,R13,R03
I think you mean "resistors" here instead of "registers". The resistor value R is typically 680kOhm but can range from 100kOhm to 1MOhm depending on LCD requirements as described in Section 25.2.4 in the user's guide. Are they all the same resistance and within this range? Note that the bottom resistor Rx can be a different value to adjust the contrast as illustrated by Figure 25-1 in the user's guide. However, to ensure maximum contrast for debugging purposes, replace the resistor Rx between R03 and GND with a short.
Meet Agrawal said:2. Software ::
#include <msp430F427A.h>
#define a 0x01
#define b 0x02
#define c 0x04
#define d 0x08
#define e 0x10
#define f 0x20
#define g 0x40
#define dp 0x80
const char char_gen[] =
{
// definitions for digits
a+b+c+d+e+f, // Displays "0"
b+c, // Displays "1"
a+b+d+e+g, // Displays "2"
a+b+c+d+g, // Displays "3"
b+c+f+g, // Displays "4"
a+c+d+f+g, // Displays "5"
a+c+d+e+f+g, // Displays "6"
a+b+c, // Displays "7"
a+b+c+d+e+f+g, // Displays "8"
a+b+c+d+f+g, // Displays "9"
dp // display "."
};
Double-check your segment definitions based on the connections between the MSP430 and the LCD.
Meet Agrawal said:int main(void)
{
int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal to
// stabilize
Double-check that your effective load capacitance matches the crystal as described in Section 2.1 in the MSP430™ 32-kHz Crystal Oscillators app note. While debugging your code, can you confirm if you reach the while(1) loop?
Meet Agrawal said:// Initialize LCD
LCDCTL |= LCDP2 | LCD4MUX | LCDON; // 4-Mux LCD, segments S0-S23
BTCTL |= BTFRFQ1; // Set freqLCD = ACLK/128
for (i = 0; i <24; i ++)
{
LCDMEM[i] = 0x00; // Clear LCD
}
In your code, BTFRFQ1 produces an LCD frequency of ACLK/128 which creates fLCD = 256Hz. According to the equation in Section 13.2.4 in the user's guide, this would support an LCD frame frequency, fFRAME, equal to 32Hz. Does that match your LCD's frequency specs?
Also, you're using LCDP2. This means that only segments S0 to S19 are functional according to page 727 in the user's guide. Does this match the number of segments on your LCD? In the for() loop, you're increasing i from 0 to 24 which is more than the number of segments by LCDP2.
Meet Agrawal said:while(1)
{
LCDMEM[12] = 0xFF;
Last but probably the most important feedback, LCDMEM starts at address 0x0091, which corresponds to LCDMEM[0]. At LCDMEM[12], this corresponds to address 0x009D or n = 24. Thus, you're trying to control segments 24 and 25 (according to Figure 25-2 in the user's guide), but since you're using LCDP2, these segments aren't enabled. This is most likely why you can't control the LCD.
Regards,
James
**Attention** This is a public forum