реклама на сайте
подробности

 
 
> работа с LCD, помощ чайнику
Zelepuk
сообщение Jun 15 2011, 11:30
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



Хочу написать функцию, чтобы можно было легко выводить данные на дисплей. Данные - 8-значаное число.

Хочется на выходе иметь что-то вроде функции:

LCDout(X);

как составляются подобные библиотеки?
Благодарен за любую помощь...

Спрашиваю потому что с простым выводом разобрался(с помощью цикла, напрмиер число просто вывести, но это неудобно и не универсально).

Но есть вопрос:
Почему когда вывожу один сегмент - всё чётко. Когда засвечиваю все сегменты на дисплее - всё мерцает, причём мерцает если смотреть прямо, если под углом - всё нормально. Почему так?

Сообщение отредактировал Zelepuk - Jun 15 2011, 11:46
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Zelepuk
сообщение Jun 15 2011, 13:30
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



Спасибо за ответы. У меня микроконтроллер MSP430F47197. Как вижу там нет никаких резисторов.

Речь идёт о "стекле" без контроллера.
Микроконтроллер заказной и там полно сегментов кроме основной строки.
Для зажигания сегментов просто пишу в соответствующий LCDMEM[x] константу.
С функциями для вывода строк ещё можно разобраться (ковыряю примеры)... но почему мерцает дисплей, когда все сегменты горят - непонятно. Когда зажигаю один, два , десять сегментов - всё нормально. Как только зажигаю все - мерцание.



Цитата(izerg @ Jun 15 2011, 16:37) *
С конца: sm.gif
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

}
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Zelepuk   работа с LCD   Jun 15 2011, 11:30
- - skripach   Предлагаю написать свой putchar + шришты и использ...   Jun 15 2011, 12:36
- - izerg   Цитата(Zelepuk @ Jun 15 2011, 14:30) Хочу...   Jun 15 2011, 12:37
|- - Сергей Борщ   QUOTE (izerg @ Jun 15 2011, 15:37) 1. не ...   Jun 15 2011, 13:13
- - term83   ПОМОГИТЕ. ЕСТЬ ДИСПЛЭЙ DG16080 как его запустит в ...   Jun 15 2011, 15:13
- - Сергей Борщ   QUOTE (Zelepuk @ Jun 15 2011, 16:30) У ме...   Jun 15 2011, 20:18
|- - Zelepuk   Цитата(Сергей Борщ @ Jun 16 2011, 00:18) ...   Jun 16 2011, 06:55
|- - rezident   Цитата(Zelepuk @ Jun 16 2011, 11:55) Прич...   Jun 16 2011, 08:01
- - Сергей Борщ   QUOTE (Zelepuk @ Jun 16 2011, 09:55) у ме...   Jun 16 2011, 09:27
|- - rezident   Цитата(Сергей Борщ @ Jun 16 2011, 14:27) ...   Jun 16 2011, 11:43
- - Zelepuk   Да всё верно. Прблема решена. Может у кого нибудь...   Jun 17 2011, 05:43
- - izerg   Не вижу в приведенном коде что такое "шаг...   Jun 17 2011, 07:40
|- - Zelepuk   Цитата(izerg @ Jun 17 2011, 11:40) Не виж...   Jun 17 2011, 08:29
- - rezident   Цитата(Zelepuk @ Jun 17 2011, 10:43) Да в...   Jun 17 2011, 09:05
- - Zelepuk   Цитата(rezident @ Jun 17 2011, 13:05) Что...   Jun 17 2011, 14:27
- - rezident   Цитата(Zelepuk @ Jun 17 2011, 19:27) Проб...   Jun 17 2011, 18:24
- - Zelepuk   Цитата(rezident @ Jun 17 2011, 22:24) Т.е...   Jun 18 2011, 06:22
- - One   Цитата(rezident @ Jun 17 2011, 22:24) ......   Jun 18 2011, 07:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 23:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016