Спасибо за ответы. У меня микроконтроллер MSP430F47197. Как вижу там нет никаких резисторов.
Речь идёт о "стекле" без контроллера.
Микроконтроллер заказной и там полно сегментов кроме основной строки.
Для зажигания сегментов просто пишу в соответствующий LCDMEM[x] константу.
С функциями для вывода строк ещё можно разобраться (ковыряю примеры)... но почему мерцает дисплей, когда все сегменты горят - непонятно. Когда зажигаю один, два , десять сегментов - всё нормально. Как только зажигаю все - мерцание.
Цитата(izerg @ Jun 15 2011, 16:37)

С конца:

1. не понятно о каком индикаторе (тип) идет речь. Возможно 7-сегментный? С контроллером?
2. покажите код вывода на индикатор, угадать "что именно делается не так" - не представляется возможным.
3. Чем не устраивают стандартные функции работы со строками?
#include <msp430x471x7.h>
// LCD segment definitions.
#define h 0x80
#define e 0x40
#define g 0x20
#define f 0x10
#define d 0x08
#define c 0x04
#define b 0x02
#define a 0x01
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW +WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
// Wait for xtal to stabilize
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0x47FF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
P5SEL =BIT1+BIT2+BIT3+BIT4; // Set COM pins for LCD
LCDACTL = LCDON+LCD4MUX; // 4mux LCD, ACLK/32
LCDAPCTL0 = 0xFF; // Segments 0-31
LCDAPCTL1 = 0x3;
for( i = 0; i < 20; i ++)
{
LCDMEM[i] = 0; // Clear LCD
}
for (i=0;i<20;i++) // зажигаю все сегменты
{
LCDMEM[i] = 0xFF;
}
_BIS_SR(LPM3_bits); // Enter LPM3
}