Отговори на тема  [ 9 мнения ] 
LCD 4x20 AC-204AYILY + софтуер 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 08, 2005 7:10 pm
Мнения: 19
Местоположение: Стара Загора (София)
Мнение LCD 4x20 AC-204AYILY + софтуер
Та значи правя си LCD дисплей по схемата по долу. Проблема ми е в това как да си управлявам паралелния порт а от там и дисплея? Как примерно да задам едница в пин 1 а другите да са в 0?
Примерно според datasheet-а на контролера SED1278 за да изчисля дисплея трябва да установя
RS в 1 (пин 4-ри на дисплея)
R/W в 0 (пин 5 на дисплея)
DB7 в 0 (пин 14 на дисплея)
DB6 в 0 (пин 13 на дисплея)
DB5 в 0 (пин 12 на дисплея)
DB4 в 0 (пин 11 на дисплея)
DB3 в 0 (пин 10 на дисплея)
DB2 в 0 (пин 9 на дисплея)
DB1 в 0 (пин 8 на дисплея)
DB0 в 1 (пин 7 на дисплея)
Опитвам се да напиша някакъв сорс в .NET (Visual Basic) и най-вероятно ми трябва (или пък не) някакво .dll или ActiveX Control за LPT-то, порових се из нета и намерих I/O OCX ActiveX control но иска регистрация и демо версията на ОСХ-а не може да се ползва :(
До сега не съм се занимавал с нещо подобно и си нямам напредстава как става, някой ако меже да ме насочи към идеята или даде някакъв сорс ще съм много благодарен :)


Прикачени файлове:
4x20 LCD with software backlight control.jpg
4x20 LCD with software backlight control.jpg [ 40.13 KiB | Прегледано 2122 пъти ]


Последна промяна s_stoqnov на Нед Ное 13, 2005 10:50 pm, променена общо 1 път

Нед Ное 13, 2005 9:09 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
тук ще намериш компонетнт за работа с порта http://www.internals.com/


Нед Ное 13, 2005 9:13 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Нямам много време сега, но накратко Паралелния порт има 3 регистъра: статус, дата и още един , ама как му беше името не помня. Ползвал съм го под си , като цяло вкарваш в дата регистъра и излиза на ДатаПиновете.

Объркал си се относно командата clear screen

Тя е RS 0 , RW 0 , DATAREG - 1000 0000 ;) :)

Иначе физ. свързване към ЛЦД-то не би трявбало да е голяма философия, въпреки че не съм го правил.

Виж проекта lcdprog (тя е за под линукс, но там ще има схеми за връзването и прочие).

Успех.

пп: точно такова лцд подкарвах (с PIC обаче) преди няколко дена и просто трябва да седна и да опиша нещата.
Не че е сложно , но аз се обърках на едно място с записването на символа в DDRAM-a , те изобразяването му:)

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Нед Ное 13, 2005 10:33 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юни 15, 2005 10:43 pm
Мнения: 34
Мнение 
Това ще помогне за DB0 до DB7 но за другите пинове не съм наясно :?
Код:
// PORT.H
// Borland C++ 3.1

#define LPT_1 888

char inpb(unsigned int port);
void outpb(unsigned int port, char value);


char inpb(unsigned int port)
{
    char value;

    asm {
      mov dx, port
      in al, dx
      mov value, al
    }
    return value;
}

void outpb(unsigned int port, char value)
{
    asm {
      mov dx, port
      mov al, value
      out dx, al
    }
}

и
Код:
// Test.c
// Borland C++ 3.1

#include "dos.h" // delay(...);
#include "PORT.H"
#include "conio.h"  // kbhit();

void main(void)
{
    while(!kbhit()) {
       outpb(LPT_1,0);
       delay(100);
       outpb(LPT_1,1);
       delay(100);
    }
}       


Ако искаш да тръгне под Windows XP разгледай http://darkface.pp.se/~spleen/lsd/awkiawki/index.cgi/UserPort


Пон Ное 14, 2005 12:27 am
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Значи аз виждам две идеи:

- 4бит комуникация (3 упрв. + 4 данни = 7 , а ЛПТ-то е DATABUS/REG 8 става :) ).

(относно 3-тия рег - абе писна ми да се мъча и реших да погледна и то като погледнах и щях да се :) )
естествено ,че контрол рега

- та 2-рият вариант е да се ползва DATAREG-a (8бит) за данни в 8 бит режим и control рега за 3-те управляващи линии.

:)

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Пон Ное 14, 2005 12:40 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Юни 15, 2005 10:43 pm
Мнения: 34
Мнение 
Ето адресите на 3 те основни регистъра на LPT 1:
888 - за данни
890 - за управление
889 - за състояние
Ето от тука http://www.natahaus.ru/2005/09/09/sopryazhenie_pk_s_vneshnimi_ustroystvami.html са 'взети' :)
P.S: Чак сега видях "Опитвам се да напиша някакъв сорс в .NET (Visual Basic)" така, че едвали съм помогнал кой знае колко (да не кажа никак):?


Пон Ное 14, 2005 2:44 am
Профил WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Окт 08, 2005 7:10 pm
Мнения: 19
Местоположение: Стара Загора (София)
Мнение 
@Nikola разгледах библиотеката WinIO но до колкото видях с нея може само да се управляват 8-те информационни пина а другите 3 управляващи...

@the_real_maniac физическата реализация не е нищо особенно и вече е изпълнена. Спрял съм се на 2-рия вариант който спомена, а и който се вижда от схемата, да използвам 8bit информация + 3 управляващи, но проблема е как да стигна до тези регистри?


Пон Ное 14, 2005 11:04 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Както вече ти казаха порта се управлява с 3 регистъра. Изрови си описание на принтерския порт и работи смело.


Пон Ное 14, 2005 12:02 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
s_stoqnov написа:
@Nikola разгледах библиотеката WinIO но до колкото видях с нея може само да се управляват 8-те информационни пина а другите 3 управляващи...

@the_real_maniac физическата реализация не е нищо особенно и вече е изпълнена. Спрял съм се на 2-рия вариант който спомена, а и който се вижда от схемата, да използвам 8bit информация + 3 управляващи, но проблема е как да стигна до тези регистри?


Moга да ти кажа под Линукс и под дос как :)
Ама с WINAPI Или някакво там за i/o не съм правил.

имаш BASE (който сочи datareg-a)
после BASE+1 status , BASE+2 control и воаля :)

BASE зависи от това на кой адрес е паралелния порт, което си е доста спец. за всеки чипсет или разш. платка :)
води се , че 1-ви парралелен би трябвало да е на 0x378 (ако не се лъжа така беше).

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Пон Ное 14, 2005 4:42 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 9 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 13 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни