Отговори на тема  [ 16 мнения ]  Отиди на страница 1, 2  Следваща
LCD 204A-D (SD1278) 4bit interface ? 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение LCD 204A-D (SD1278) 4bit interface ?
http://www.cec-mc.ru/comp/lcd/pdf/sed1278.pdf - SED1278 LCD DRIVER

http://home.comet.bg/datasheets/LCD/AC-204A.pdf - 204A-D revA LCD MODULE

от комет за 28левчета.
----------------------------
така дотук всичко ужким е ясно. Проблема е, че го искам за 4бит интерфейс и почти бях сигурен като го взимах , че е само 8бит, но все пак надеждата умира последна.

LCD драйвера поддръжа 4бит интерфейс ,доколкото разбира от datasheet-a му , обаче в LCD module-a datasheet-а пише само за 8бит интерфейс от къде си правя извода , че няма 4бит.

Въпроса ми е:
- така ли стоят нещата (като гледат документацията) според вас ?
и
- Въпреки това има ли смисъл да пробвам LCD-то на 4bit Интерфейс :? :(

Като цяло, ако е 8 не ми е проблем отделените 4бита за управление да ги ползвам като (3+1) "точка за достъп" със shiftreg 595* и готово. :D :P

* - благодаря отновно на VSU , който ми /ни показа топлата водичка , иначе щяхме да ползваме 165/166 :)

Та така и един друг въпрос, но е цяла друга тема , затова:

http://www.mcu-bg.com/mcu_site/viewtopi ... 3079#13079

едит: явно има 4бит интерфейс, само че в datasheet-a не се споменава

http://www.jofi.it/fiser/modulo_ampire/ ... module.gif

http://www.mikroe.com/forum/viewtopic.p ... 43e95ebd70

edit2:

хах намерих го , в командите пише .. по-точно само на едно място (една от иниц. команди нали) и се споменава 4/8бит интерфейс, а защо не съм го хванал със search-а , ами защото е изображение.

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


Последна промяна the_real_maniac на Съб Ное 05, 2005 7:13 pm, променена общо 1 път



Съб Ное 05, 2005 5:39 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Аз използвам дисплей AMPIRE 4х20 кирилизиран и без подсветка с означение AC204A YA75 03.47 C8303 (върху лепенката) или 204A-D REV.А (върху платката). В дейташийта, който имам пише контролер KS0066U or Equivalent, но това е просто клонинг на контролера на Хитачи HD44780U. При теб би трабвало да е същото.

Командата за избор на 4-битов режим е 20F, а за 8-битов е 30F.
Виж и това например:
http://www.epemag.wimborne.co.uk/lcd1.pdf
http://www.epemag.wimborne.co.uk/lcd2.pdf
Много неща ми се изясниха.


Съб Ное 05, 2005 7:05 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Цитат:
Ответ: Нашел грабли: фирма Ampire почемуто решила что перемычку (R7) без которой ничего работать не будет лучше не впаивать - конструктор "доделай сам"


какво мислиш за това :?

какво трябва да има на Р7 ? стойност ?

------

AC204A YILY

204A revA

have cyrillic

edit:

преписах тестовата програма от пдф-а и с нея неще да тръгне :?

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


Съб Ное 05, 2005 11:04 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Съб Фев 05, 2005 10:58 pm
Мнения: 284
Местоположение: Varna
Мнение 
И при мен не искаше никак да тръгне. Успях да го подкарам само като му лепнах 10к. от 4-я бит (т.е В7) към маса. Намам обяснение, стана почти на магия. Сега работят като за световно. :D

_________________
Господ прощава, тока не. А глада е по силен от тока !


Нед Ное 06, 2005 12:04 am
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Stiv , стив не така :) моля ти се , казваш важни неща, но ги казваш на много бързо и късо , и не те разбрах :|

Т.е сложил си 10кОма съпротивление на B7 към маса, т.е изтеглящ резистор към 0 :?

правилно ли разбрах , защо това не го каза в началото още :P

---
друг въпрос:

инициализацията свършва с 4-те команди от пдф-а или е нужно да кажа какъв режим съм ,т.е след 4-те команди по пдф-а и едно function set :? (пак ?)

Много Ви благодаря за информацията и отделеното време, оценявам го !

пп: как се сети да сложиш този резистор :? ???

едит: сложих на DB7 един изтеглящ резистор 10кОма към 0/маса , ама нищо :(

ето ми го листинга от програмката:

edit2:

1-во този SD1278 се различава от хитачито по инициализация.
2-ро имам чувството , че не е SD1278М, защото ти каза някакъв друг, пък си ревА и моя по нищо не му личи , че ми реигира на командите , поне един курсор да беше изкарал.

И ако 2 и 1 наистина са така , то е логично , че не ми тръгва: давам комади за Х , а то е Y и не разбира инициализацията на Х. Но това все пак е предположение. Вашето мнението ?

edit3: сравних таблиците с командите и са еднакви самите команди,но схемите на инициализация са различни :?
а и двете инициализации примерно указват 8бит режим :?
Код:
---  C:\ASM\MPLAB\HOME\LCD\V01\LCD_H.ASM  --------------------------------------------------------
                                                  1:     ; lcd_h.asm v0.1
                                                  2:     
                                                  3:     #define   RS   PORTA,0
                                                  4:     #define   RW   PORTA,1
                                                  5:     #define   EE   PORTA,2
                                                  6:     
                                                  7:     TAKT   MACRO
                                                  8:        
00000D    1505     BSF 0x5, 0x2                   9:        bsf      EE
000012    1505     BSF 0x5, 0x2
000017    1505     BSF 0x5, 0x2
00001D    1505     BSF 0x5, 0x2
000027    1505     BSF 0x5, 0x2
000034    1505     BSF 0x5, 0x2
00000E    1105     BCF 0x5, 0x2                   10:       bcf      EE
000013    1105     BCF 0x5, 0x2
000018    1105     BCF 0x5, 0x2
00001E    1105     BCF 0x5, 0x2
000028    1105     BCF 0x5, 0x2
000035    1105     BCF 0x5, 0x2
                                                  11:   
                                                  12:       ENDM
                                                  13:   
                                                  14:    WAIT   MACRO   TIME
                                                  15:   
000005    301E     MOVLW 0x1e                     16:       movlw   TIME
000006     08C     MOVWF 0xc                      17:       movwf   TEMP
000007     B8C     DECFSZ 0xc, F                  18:       decfsz   TEMP,F
000008    2807     GOTO 0x7                       19:       goto   $-1
                                                  20:   
                                                  21:       ENDM
                                                  22:       
                                                  23:   
                                                  24:    lcd_init:
                                                  25:   
                                                  26:       WAIT   D'30'
                                                  27:    ;
000009    1005     BCF 0x5, 0                     28:       bcf      RS
00000A    1085     BCF 0x5, 0x1                   29:       bcf      RW
                                                  30:    ;
00000B    3034     MOVLW 0x34                     31:       movlw   B'00110100'
00000C     086     MOVWF 0x6                      32:       movwf   PORTB
                                                  33:       TAKT
00000F     000     NOP                            34:       nop                  ; i.e. 1us wait
000010    300F     MOVLW 0xf                      35:       movlw   B'00001111'
000011     086     MOVWF 0x6                      36:       movwf   PORTB
                                                  37:       TAKT
000014     000     NOP                            38:       nop
000015    3001     MOVLW 0x1                      39:       movlw   B'00000001'
000016     086     MOVWF 0x6                      40:       movwf   PORTB
                                                  41:       TAKT
000019     000     NOP                            42:       nop
00001A     000     NOP                            43:       nop
00001B    3007     MOVLW 0x7                      44:       movlw   B'00000111'
00001C     086     MOVWF 0x6                      45:       movwf   PORTB
                                                  46:       TAKT
00001F     000     NOP                            47:       nop
                                                  48:       ; init END :D :P :)
                                                  49:   
000020     008     RETURN                         50:       return
                                                  51:    ;
                                                  52:    ;
                                                  53:   
                                                  54:    lcdcom:
                                                  55:   
000021     08C     MOVWF 0xc                      56:       movwf   TEMP
000022    202C     CALL 0x2c                      57:       call   check_bf
000023     80C     MOVF 0xc, W                    58:       movf   TEMP,W
000024     086     MOVWF 0x6                      59:       movwf   PORTB
000025    1005     BCF 0x5, 0                     60:       bcf      RS
000026    1085     BCF 0x5, 0x1                   61:       bcf      RW
                                                  62:       TAKT
000029     000     NOP                            63:       nop
00002A     000     NOP                            64:       nop
                                                  65:    ;
00002B     008     RETURN                         66:       return
                                                  67:    ;
                                                  68:    ;
                                                  69:   
                                                  70:    check_bf:
                                                  71:   
                                                  72:       BANK1
00002E    30FF     MOVLW 0xff                     73:       movlw   0xFF
00002F     086     MOVWF 0x6                      74:       movwf   TRISB
                                                  75:       BANK0
000032    1005     BCF 0x5, 0                     76:       bcf      RS
000033    1485     BSF 0x5, 0x1                   77:       bsf      RW
                                                  78:       TAKT
000036     806     MOVF 0x6, W                    79:       movfw   PORTB
000037     08D     MOVWF 0xd                      80:       movwf   BF_TEMP
000038    1B8D     BTFSC 0xd, 0x7                 81:       btfsc   BF_TEMP,7
000039    282C     GOTO 0x2c                      82:       goto   check_bf
00003A    1085     BCF 0x5, 0x1                   83:       bcf      RW
                                                  84:       BANK1
00003D     186     CLRF 0x6                       85:       clrf   TRISB
                                                  86:       BANK0
000040     008     RETURN                         87:       return
---  C:\ASM\MPLAB\HOME\LCD\V01\MAIN.ASM  ---------------------------------------------------------
                                                  1:     ; main.asm
                                                  2:     
                                                  3:        ERRORLEVEL   -302
                                                  4:     
                                                  5:        LIST   p=16F84A
                                                  6:        #include <p16F84A.inc>
                                                  7:        __CONFIG _XT_OSC & _CP_OFF & _WDT_OFF & _PWRTE_ON
                                                  8:        #define   RAMBASE      0x0C
                                                  9:        
                                                  10:    #define   _RESET_VECTOR   0x000
                                                  11:    #define   _INT_VECTOR      0x004
                                                  12:   
                                                  13:       ORG      _RESET_VECTOR
000000    2841     GOTO 0x41                      14:       goto   start
                                                  15:       ORG      _INT_VECTOR
000004    2860     GOTO 0x60                      16:       goto   interrupt
                                                  17:       
                                                  18:       #include "utils.h"
                                                  19:       #include "lcd_h.asm"
                                                  20:   
                                                  21:       CBLOCK   RAMBASE
                                                  22:       TEMP
                                                  23:       BF_TEMP
                                                  24:       ENDC
                                                  25:   
                                                  26:    start:
                                                  27:   
000041    2045     CALL 0x45                      28:       call    init
000042    2052     CALL 0x52                      29:       call   main
                                                  30:   
                                                  31:    stop:
                                                  32:   
000043     000     NOP                            33:       nop
000044    2843     GOTO 0x43                      34:       goto   stop
                                                  35:    ;
                                                  36:    ;
                                                  37:   
                                                  38:    init:
                                                  39:   
000045    138B     BCF 0xb, 0x7                   40:       bcf      INTCON,GIE   ;no int until init is finish
                                                  41:       BANK1
000048     185     CLRF 0x5                       42:       clrf   TRISA
000049     186     CLRF 0x6                       43:       clrf   TRISB
00004A    308F     MOVLW 0x8f                     44:       movlw   B'10001111'
00004B     081     MOVWF 0x1                      45:       movwf   OPTION_REG
                                                  46:       BANK0
00004E     185     CLRF 0x5                       47:       clrf   PORTA
00004F     186     CLRF 0x6                       48:       clrf   PORTB
000050     18B     CLRF 0xb                       49:       clrf   INTCON
000051     008     RETURN                         50:       return   
                                                  51:    ;
                                                  52:    ;
                                                  53:   
                                                  54:    main:
                                                  55:   
000052    2005     CALL 0x5                       56:       call   lcd_init
                                                  57:    ;
000053    2055     CALL 0x55                      58:       call   message
                                                  59:    ;
000054     008     RETURN                         60:       return      
                                                  61:    ;
                                                  62:    ;
                                                  63:   
                                                  64:    message:
                                                  65:   
000055    3080     MOVLW 0x80                     66:       movlw   B'10000000'
000056    2021     CALL 0x21                      67:       call   lcdcom
000057    3054     MOVLW 0x54                     68:       movlw   'T'
000058    2021     CALL 0x21                      69:       call   lcdcom
000059    3045     MOVLW 0x45                     70:       movlw   'E'
00005A    2021     CALL 0x21                      71:       call   lcdcom
00005B    3053     MOVLW 0x53                     72:       movlw   'S'
00005C    2021     CALL 0x21                      73:       call   lcdcom
00005D    3054     MOVLW 0x54                     74:       movlw   'T'
00005E    2021     CALL 0x21                      75:       call   lcdcom
                                                  76:    ;
00005F     008     RETURN                         77:       return
                                                  78:    ;
                                                  79:    ;
                                                  80:       
                                                  81:    interrupt:
                                                  82:   
000060     008     RETURN                         83:       return
---  C:\ASM\MPLAB\HOME\LCD\V01\UTILS.H  ----------------------------------------------------------
1:                 BANK0   MACRO
2:                 
3:                    bcf      STATUS,RP1
000030    1303     BCF 0x3, 0x6
00003E    1303     BCF 0x3, 0x6
00004C    1303     BCF 0x3, 0x6
4:                    bcf      STATUS,RP0
000031    1283     BCF 0x3, 0x5
00003F    1283     BCF 0x3, 0x5
00004D    1283     BCF 0x3, 0x5
5:                    
6:                    ENDM
7:                 
8:                 BANK1   MACRO
9:                 
10:                   bcf      STATUS,RP1
00002C    1303     BCF 0x3, 0x6
00003B    1303     BCF 0x3, 0x6
000046    1303     BCF 0x3, 0x6
11:                   bsf      STATUS,RP0
00002D    1683     BSF 0x3, 0x5
00003C    1683     BSF 0x3, 0x5
000047    1683     BSF 0x3, 0x5



Прикачени файлове:
fact_driver_lcd_for_ac402a.jpg
fact_driver_lcd_for_ac402a.jpg [ 37.97 KiB | Прегледано 4897 пъти ]
list.txt [12.28 KiB]
361 пъти

_________________
един факт :-)
Съжалявам , че исках да помогна ...
Нед Ное 06, 2005 1:06 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение 
Ааааа за тия резитори, това с еналага ако са ви дълги кабелите, значи при мен пролем стана при кабел около 1.50, и то не ч ене работеше ами понякоа някои неща се чупеха, при мене са pull up-и.


Нед Ное 06, 2005 4:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Честно казано не я разбрах тази инициализация.
При мен инициализацията се състои от изпращане на командата 38F, която активира 8-битовия режим и двуредовия режим. При теб би трябвало да бъде 28F.
Следва "Display on" с 0СF и това е! Останалите настройки са default.
Важно е да настроиш контраста иначе може нищо да не видиш. Не забравяй и "Display on", защото при включване е off.


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

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

та ето ми я инициализацията:

Код:
#define   LCD8BIT      B'00110000'
#define LCDON      B'00001111'
#define   LCDCLR      B'00000001'
#define   LCDENTRY   B'00000110'


добре ако нямаш потенциометър ?

в момента при мене е така +5в <-| 24Koma |- * - | 8kOma | -> GND

*- това е среднат точка , която е вързана към 3-ти пин - контраста нали.

ОК ли е :? ?

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


Нед Ное 06, 2005 10:08 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Без потенциометър няма да стане. В твоя случай подаваш към 1.25V, а при мене се получава оптимален контраст при около 0.7V.


Нед Ное 06, 2005 10:46 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

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

т.е проблема ми е в контраста , така мислиш :? :(
хм, жалко :cry:
чак в понеделник ще може да се вземе туй чудо не технологията :evil:

пп: ти на колко слагаш потенциометъра или си въртиш , докато ти хареса :lol: , ама всеки път да въртиш, сигурно си знаеш стойността горе-долу :?
аз мислех 30ком-а :?

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


Нед Ное 06, 2005 10:48 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение 
Въртене му е майката, за един тип даже да го докараш ако смениш производителя пак си требе въртене, а иначе квото да бучнеш става 1-10 ком амй проблеми нема.


Нед Ное 06, 2005 11:02 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Абе щом хората са сложили потенциометър , значи може и 0ома 8O
беше логиката на двама познати , които със сигурност разбират повече от мене от електроника => пробвах най-сетне и този вариант contrast to VSS(GND).

За части от секундата се вижда как на 2-ра и 4-та линия излизат пълни клетките и слизат надолу :?

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


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

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Всякакъв линеен от 1 до около 100к. При мен е 47к.
Желателно е след като определиш оптималния контраст да измериш напрежението и да подпреш тримера с постоянни резистори за да се получи по-плавно регулиране.


Нед Ное 06, 2005 11:11 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

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

но въпреки това пак не работи , т.е инициализира се курсора идва в началото , но при

SEND 'P' и всеки символ курсоре се мести на дясно , но не изписва нищо.
при ! като символ запълва реда , на който е .

дайте идея :?

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


Нед Ное 06, 2005 8:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Не разбрах какъв е проблема. Описал си го доста бегло.


Нед Ное 06, 2005 9:26 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 16 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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