|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 8:59 am
LCD 204A-D (SD1278) 4bit interface ?
| Автор |
Съобщение |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 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* и готово.
* - благодаря отновно на 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 |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 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 |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
какво мислиш за това
какво трябва да има на Р7 ? стойност ?
------
AC204A YILY
204A revA
have cyrillic
edit:
преписах тестовата програма от пдф-а и с нея неще да тръгне 
|
| Съб Ное 05, 2005 11:04 pm |
|
 |
|
StiV
Ранг: Ориентиран
Регистриран на: Съб Фев 05, 2005 10:58 pm Мнения: 284 Местоположение: Varna
|
И при мен не искаше никак да тръгне. Успях да го подкарам само като му лепнах 10к. от 4-я бит (т.е В7) към маса. Намам обяснение, стана почти на магия. Сега работят като за световно. 
_________________ Господ прощава, тока не. А глада е по силен от тока !
|
| Нед Ное 06, 2005 12:04 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Stiv , стив не така  моля ти се , казваш важни неща, но ги казваш на много бързо и късо , и не те разбрах
Т.е сложил си 10кОма съпротивление на B7 към маса, т.е изтеглящ резистор към 0
правилно ли разбрах , защо това не го каза в началото още
---
друг въпрос:
инициализацията свършва с 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
|  |  |  |  |
|
| Нед Ное 06, 2005 1:06 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Ааааа за тия резитори, това с еналага ако са ви дълги кабелите, значи при мен пролем стана при кабел около 1.50, и то не ч ене работеше ами понякоа някои неща се чупеха, при мене са pull up-и.
|
| Нед Ное 06, 2005 4:28 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Честно казано не я разбрах тази инициализация.
При мен инициализацията се състои от изпращане на командата 38F, която активира 8-битовия режим и двуредовия режим. При теб би трябвало да бъде 28F.
Следва "Display on" с 0СF и това е! Останалите настройки са default.
Важно е да настроиш контраста иначе може нищо да не видиш. Не забравяй и "Display on", защото при включване е off.
|
| Нед Ное 06, 2005 9:57 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Значи аз искам да го ползвам 4бит, но на първо време го мъча 8бит, нали мах просто да го правя по механизъм.
та ето ми я инициализацията:
добре ако нямаш потенциометър ?
в момента при мене е така +5в <-| 24Koma |- * - | 8kOma | -> GND
*- това е среднат точка , която е вързана към 3-ти пин - контраста нали.
ОК ли е  ?
|
| Нед Ное 06, 2005 10:08 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Без потенциометър няма да стане. В твоя случай подаваш към 1.25V, а при мене се получава оптимален контраст при около 0.7V.
|
| Нед Ное 06, 2005 10:46 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Значи измерих го някъде къмн 2.1в е
т.е проблема ми е в контраста , така мислиш
хм, жалко
чак в понеделник ще може да се вземе туй чудо не технологията
пп: ти на колко слагаш потенциометъра или си въртиш , докато ти хареса  , ама всеки път да въртиш, сигурно си знаеш стойността горе-долу
аз мислех 30ком-а 
|
| Нед Ное 06, 2005 10:48 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Въртене му е майката, за един тип даже да го докараш ако смениш производителя пак си требе въртене, а иначе квото да бучнеш става 1-10 ком амй проблеми нема.
|
| Нед Ное 06, 2005 11:02 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Абе щом хората са сложили потенциометър , значи може и 0ома
беше логиката на двама познати , които със сигурност разбират повече от мене от електроника => пробвах най-сетне и този вариант contrast to VSS(GND).
За части от секундата се вижда как на 2-ра и 4-та линия излизат пълни клетките и слизат надолу 
|
| Нед Ное 06, 2005 11:05 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Всякакъв линеен от 1 до около 100к. При мен е 47к.
Желателно е след като определиш оптималния контраст да измериш напрежението и да подпреш тримера с постоянни резистори за да се получи по-плавно регулиране.
|
| Нед Ное 06, 2005 11:11 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Значи вместо MS съм правил uS
но въпреки това пак не работи , т.е инициализира се курсора идва в началото , но при
SEND 'P' и всеки символ курсоре се мести на дясно , но не изписва нищо.
при ! като символ запълва реда , на който е .
дайте идея 
|
| Нед Ное 06, 2005 8:24 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Не разбрах какъв е проблема. Описал си го доста бегло.
|
| Нед Ное 06, 2005 9:26 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 10 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|