Обсуждаем цифровые устройства...
Вт сен 28, 2010 20:37:44
Вечер добрый, многоуважаемые Коты! Достался по случаю однострочный LCD-дисплей от телефона Panasonic. Он с платой контроллера в сборе. Искал на него даташит-ничего не нашел. Может быть, кто-нибудь из вас знает,как подключать его, где какие выводы? Весьма благодарен за ответ!
Вт сен 28, 2010 21:07:32
90% - без шансов.
Вт сен 28, 2010 21:16:29
Я примерно так и думал... Но все же РадиоКот-последняя надежда
Вс ноя 14, 2010 22:56:07
1. GND (ПЯТАЧОК НА ПЕЧАТКЕ КВАДРАТНЫЙ ОСТАЛЬНЫЕ КРУГЛЫЕ)!!!
2.+5V
3. ЯРКОСТЬ (НА МАССУ ЧЕРЕЗ 2К)
4. RS
5. R/W
6. E
7. D4
8. D5
9. D6
10. D7
Взято от сюда:
http://www.pro-radio.ru/docs/2236/У меня такой же индикатор,по этой разводке подключил питание,вывод 3 (контраст.) замкнул на землю,при этом загорелись последние восемь символов,дальше пока не проверял.
Пн ноя 15, 2010 18:16:58
32768, спасибо Вам за ответ, но у меня не тот случай. Дисплей мой не знакосинтезирующий, а сегментный, на нем только цифры есть и спецзнаки какие-то для телефонов. И контактов для подключения не 10, а всего 6. Да, на факсах Панасоник стоят однострочные восьмисегментные знакосинтезирующие индикаторы. Прошу извинить за качество фото, под рукой только мобильный телефон.
- Вложения
-
- IMG279-01.jpg
- (8.37 KiB) Скачиваний: 2227
-
- IMG278-01.jpg
- (10.51 KiB) Скачиваний: 2026
Вт ноя 16, 2010 09:33:13
в телефонах ( не сотовых) обычно применяются дисплеи на основе контроллера ML1001. Попробуй зацепить его так :
1 - Vdd
2 - GND
3 - LOAD
4 - Din
5 - Dclk
6 - CHK
для примера глянь документацию на какой нибудь TIC 8213
Вт ноя 16, 2010 18:12:14
Спасибо, s64, за совет! Буду пробовать.
Вт янв 11, 2011 00:37:05
Тут намучался с TIC8213..
Получилось у него всё наоборот..
Строчку выдавал начиная с конца на дисплей...
Иначе было всё наоборот (в отличии от TIC77 & 9153)
И таблицу кодировки пришлось корректировать..
Может кому понадобится.
- Код:
//сегментное отображение цифр и букв
#define CharA 0x7E
#define CharC 0x0F
#define CharE 0x2F
#define CharF 0x2E
#define CharU 0x57
#define CharP 0x3E
#define Charb 0x67
#define Chard 0x73
#define Charh 0x66
#define Charn 0x62
#define Charo 0x63
#define Charu 0x43
#define Charr 0x22
#define Chart 0x27
#define Dot 0x80
#define Minus 0x20
#define Dig0 0x5F
#define Dig1 0x50
#define Dig2 0x3B
#define Dig3 0x79
#define Dig4 0x74
#define Dig5 0x6D
#define Dig6 0x6F
#define Dig7 0x58
#define Dig8 0x7F
#define Dig9 0x7D
Пт июн 10, 2011 10:24:23
To Nusik1975
Удалось разобраться с ETL-328D? Нашел такой же модуль, хочется куда-нибудь "прикрутить"
Вт июн 14, 2011 22:50:38
Нет, не получилось у меня с ним.
Пт авг 24, 2012 01:25:02
Извиняюсь за некропостинг. У меня дисплей завелся с вашим пинаутом. Так что спасибо большое
Информация по HD44780 (англ):
http://joshuagalloway.com/lcd.htmlКод (для PIC):
----------
lcd.h
----------
- Код:
#ifndef LCD_H
#define LCD_H
#include "htc.h"
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 8000000
#endif //#ifndef _XTAL_FREQ
#define LCD_RS RA4
#define RS_TRIS TRISA4
#define LCD_RW RA6
#define RW_TRIS TRISA6
#define LCD_EN RA7
#define E_TRIS TRISA7
#define D4_PIN RA0
#define D4_TRIS TRISA0
#define D5_PIN RA1
#define D5_TRIS TRISA1
#define D6_PIN RA2
#define D6_TRIS TRISA2
#define D7_PIN RA3
#define D7_TRIS TRISA3
#define LCD_STROBE ((LCD_EN = 1),(LCD_EN = 1),(LCD_EN = 0),(LCD_EN = 0))
void LCD_Init (void);
void LCD_WriteData (char DataToWrite);
void LCD_WriteCommand (char DataToWrite);
void LCD_WriteStr1 (char * StringToWrite);
void LCD_WriteStr2 (char * StringToWrite);
void LCD_ClearAndHome (void);
#endif //#define LCD_H
----------
lcd.c
----------
- Код:
#include "lcd.h"
#define PIN_INPUT 1
#define PIN_OUTPUT !PIN_INPUT
void LCD_SetupPins (void);
void LCD_PutByte (char ByteToPut, char Data_nCommand);
void LCD_PutNibble (char RightAlignedNibble);
void LCD_WriteString (char * StringToWrite);
void LCD_SetupPins (void)
{
RS_TRIS = 0;
RW_TRIS = 0;
E_TRIS = 0;
D4_TRIS = 0;
D5_TRIS = 0;
D6_TRIS = 0;
D7_TRIS = 0;
}
void LCD_Init (void)
{
LCD_SetupPins ();
__delay_ms(50);
LCD_RS = 0;
LCD_EN = 0;
LCD_RW = 0;
LCD_PutNibble (0x3);
__delay_ms(5);
LCD_PutNibble (0x3);
__delay_us(100);
LCD_PutNibble (0x3);
__delay_us(100);
LCD_PutNibble (0x2);
__delay_ms(5);
LCD_WriteCommand (0x28); //Write 28 hex (4-Bits, 2-lines)
LCD_WriteCommand (0x08); //Write 08 hex (don't shift display, hide cursor)
LCD_WriteCommand (0x01); //Write 01 hex (clear and home display)
LCD_WriteCommand (0x06); //Write 06 hex (move cursor right)
LCD_WriteCommand (0x0C); //Write 0C hex (turn on display)
//Display is ready to accept data.
}
void LCD_PutNibble (char RightAlignedNibble)
{
D4_PIN = (RightAlignedNibble & 1)?1:0;
D5_PIN = (RightAlignedNibble & 2)?1:0;
D6_PIN = (RightAlignedNibble & 4)?1:0;
D7_PIN = (RightAlignedNibble & 8)?1:0;
LCD_STROBE;
}
void LCD_PutByte (char ByteToPut, char Data_nCommand)
{
LCD_EN = 0;
LCD_RS = Data_nCommand;
LCD_PutNibble(ByteToPut >> 4);
__delay_us(100);
LCD_PutNibble(ByteToPut & 0x0F);
__delay_us(100);
}
void LCD_WriteData (char DataToWrite)
{
LCD_PutByte (DataToWrite, 1);
}
void LCD_WriteCommand (char CommandToWrite)
{
LCD_PutByte (CommandToWrite, 0);
__delay_ms(5);
}
void LCD_WriteString (char * StringToWrite)
{
while (*StringToWrite)
LCD_WriteData (*StringToWrite++);
}
void LCD_WriteStr1 (char * StringToWrite)
{
LCD_WriteCommand (0x80); //Moves cursor to first address on the left of LINE 1
LCD_WriteString (StringToWrite);
}
void LCD_WriteStr2 (char * StringToWrite)
{
LCD_WriteCommand (0xC0); //Moves cursor to first address on the left of LINE 2
LCD_WriteString (StringToWrite);
}
void LCD_ClearAndHome (void)
{
LCD_WriteCommand (0x01);
}
Чт янв 30, 2014 19:26:24
Подключаю как написал 32768,вместо HD44780,все хорошо работает,не знаю какой у кого,дисплей,у меня 16x2если нужно будет прицеплю фотки
Сб май 04, 2019 03:03:05
У меня пару лет валялись дома пара телефонов панасоник. Недавно избавлялись с женой от хлама в квартире и они тоже попали под раздачу. Но я не мог не разобрать их на детали. В одном из них стоял указанный дисплейный модуль, в точности как на фотографиях Nusik1975.
Так как телефон был рабочий, то я включил его и потыкал осциллографом. Оказалось, что там SPI-подобный интерфейс, односторонний (без MISO), формат данных достаточно простой, почти сразу увидел закономерности в паттернах импульсов, совпадающие с сегментами цифр. Ради интереса решил подключить его к ATmega328. К сожалению данные там отправляются не кратно 8-ми битам, поэтому аппаратный интерфейс SPI в микроконтроллерах AVR не годится. Реализовал программный побитный SPI мастер, дисплей завёлся. Дисплею требуется инициализация, это набор из четырёх битовых посылок, которые я просто скопировал согласно осциллограмме с платы телефона. Я пока не понял за что отвечают эти биты, но понимание и не требуется, главное, что после этого можно отправлять дисплею специальную команду с адресом и данными, которые напрямую влияют на отображаемые сегменты.
Оригинальный контроллер телефона отправляет инициализацию циклично всё время работы по много раз в секунду в перемешку с данными. Видимо это сделано для помехоустойчивости, на случай если где-то будет плохой контакт и часть команд будут не доходить до дисплея. Также это позволяет подключить дисплей к плате телефона в любой момент времени и он сразу начнёт отображать то, что от него требуется.
В общем, не знаю интересно ли это кому-то в 2019-ом году, да и зачем я этим вообще занимаюсь, но могу оформить код более менее по-людски и выложить сюда.
Пн май 06, 2019 18:29:28
Пригодится кому нибудь.
Надо бы конечно фотки дисплея в работе и платки в большем разрешении.
Сб май 11, 2019 22:50:27
Был занят работой. Как будет время, выложу фотографии и код.
Пн ноя 27, 2023 06:29:40
Clover Display BS-5 M302 от какого-то Панаса, подключен по этой распиновке:
1. GND (ПЯТАЧОК НА ПЕЧАТКЕ КВАДРАТНЫЙ ОСТАЛЬНЫЕ КРУГЛЫЕ)!!!
2.+5V
3. ЯРКОСТЬ (НА МАССУ ЧЕРЕЗ 2К)
4. RS
5. R/W
6. E
7. D4
8. D5
9. D6
10. D7
Взято от сюда:
http://www.pro-radio.ru/docs/2236/ведет себя точно так же, как HD44780 16x2 с интерфейсом 4-бит-данных; и точно так же работает на i2c-адаптере PCF8574.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.