| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Програмиране на дисплей AMPIRE 164A-D http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=7896 |
Страница 1 от 2 |
| Автор: | NRG [ Съб Юни 12, 2010 8:08 pm ] | ||
| Заглавие: | Програмиране на дисплей AMPIRE 164A-D | ||
Здравейте, Прибрах се в БГ и първата работа ми бе да отскоча до магазина да пазарувам. Човека, не му се приказваше много кое е добре и кое не, та финансовия фактор повлия и си взех посочения дисплей (Ampire 164A-D, четири-редов, 16 знака матричен). Докато бях в чужбинция, програмирахме в даскалото дисплей NEW HEAVEN, с вграден контролер SPC780D, цялото ръководено от Rabbit 5600W. Свалих си дата-шийта от нета (http://www.ampire.com.tw/Spec-AC/AC-164A.pdf) и излиза, че е контролера на Ampire 164A-D е идентичен (същия) с SPC780D, следователно промених библиотеката, която бях написал, с очакването нещата да тръгнат. Свързах дата-бъса с паралелен порт D на PIC18F45K20, свързах захранването на логиката през пика (3.3В), свързах осветлението на 4.8В, свързах пина за контраст директно на дъното на пика (на нула) и командния бъс (Rs R/W и E) на порт C. Проблемите ми са: 1. Контраста е зле - почти не се личат редовете, когато го стартирам. В предни теми се бе споменало, че много контролери трябва външно да се снабдят с -5-6В, но не съм сигурен дали при този е така...?? 2. Дисплея въобще не захапва. Не мога и да го инициализирам. 3. Дисплея започва да грее, след броени секунди поради захранването на осветлението му. Захранвам го посредством ПИК-кита (3.3В) и серийно съм свързал една батерия АА от 1.5В и така напрежението за дисплея стига до ~4.8В, което според дата-шийта е ОК. Прикачвам кода по-долу.
|
|||
| Автор: | Cekins [ Съб Юни 12, 2010 8:56 pm ] |
| Заглавие: | |
Въх мър майка ... 1. За контраста се слага един потенциометър между VDD и GND към 3-ти пин и пота се врътка докато ти хареса. 2. С PicKit не се мъчи да го храниш - ще го прецакаш - подсветката харчи, на тоя, по спомен към 300 mA. 3. Пак по спомен ама май 5 волтово LCD не може да тръгне на 3.3. А и не съм сигурен дори да го пуснеш на 5 дали ще реагира на 3.3 на входа. Май искаше мин. 3.6 волта за 1-ца. Заради точка 3 ти трябва, както пише в даташита, "по специална заявка" на 3.3V. Ако си го купувал от Комет - техните са само на 5V. Ииии, какво искаш точно да му програмираш. Ако имаш предвид да му вкарваш char set - може само 8 символа - другите са твърди. |
|
| Автор: | didofen [ Пон Юни 14, 2010 1:49 pm ] |
| Заглавие: | |
определено няма да тръгне дисплея на 3.3в. най-лесно за контраст 1к резистор към маса и трети крак на дисплея |
|
| Автор: | NRG [ Пон Юни 14, 2010 11:07 pm ] |
| Заглавие: | |
Мерси за съветите колеги. Оправиха се нещата след като приспособих зарядно от мобифон на 4.82В да достави сока за дисплея. Контраста е ок също, така както го бях свързал. Поздрави! |
|
| Автор: | Gogo [ Пон Юни 21, 2010 10:36 am ] |
| Заглавие: | |
Cekins, По т.3: 5 волтово LCD не тръгва на 3.3. Ако го пуснеш на 5, реагира на 3.3 на входа. Имам едно устройство (контролер), направено точно по този начин и дисплея си се "клати" директно от 3,3-волтов проц. Има обаче един проблем, който не съм сигурен от какво точно се получава: когато "защрака" автоматиката, дисплея яко се ошашкваше и започваше да изписва на случайни позиций случайни символи, а проца си кара автоматиката без грешка - т.е. не е от него. Когато имам цялостно опресняване на дисплея, всичко си идва по местата, докато не включи някой контактор. Успях софтуерно да се преборя почти напълно с тези смущения, но все още, понякога, много рядко, някой символ изчезва от позицията си - остава празно |
|
| Автор: | NRG [ Пон Юни 21, 2010 1:54 pm ] | |||||||||
| Заглавие: | ||||||||||
Здравейте, Не се разбираме с дисплея. Инициализирането му [KS0066U_Init(&DL1N1F0, &D1C1B1);] минава ОК и имам контрол над дата трансфера, броя на редове, големината на символите, мигането, показването на курсора и вкл. и изкл. на дисплея. С изписването върху дисплея обаче все още не се справям. Имате ли представа или предположения защо?
|
||||||||||
| Автор: | didofen [ Пон Юни 21, 2010 3:20 pm ] |
| Заглавие: | |
не видях къде си вдигаш ерес-а при данни |
|
| Автор: | NRG [ Пон Юни 21, 2010 5:31 pm ] | |||||||||
| Заглавие: | ||||||||||
@didofen Ако говориш за "Rs", то в командата "KS0066U_Write()" вдигам бит4(Rs) от порт "С", при пращане на данни към дисплея. |
||||||||||
| Автор: | didofen [ Вто Юни 22, 2010 10:05 am ] |
| Заглавие: | |
да не би да имаш проблеми с контраста |
|
| Автор: | michev [ Вто Юни 22, 2010 2:13 pm ] |
| Заглавие: | |
Cekins, може и аз да греша в разчитането на дейташийта, ама май не си много прав. Прав си само за 0.7 * VDD до VDD, обаче VDD е от 2.7 до 5.5 волта. Т.е ако той си храни логиката на дисплея с 3.3 волта не виждам какъв ще му е проблема. |
|
| Автор: | NRG [ Вто Юни 22, 2010 9:42 pm ] | |||||||||
| Заглавие: | ||||||||||
Не, нямам проблем с контраста, доколкото мога да съдя. Когато ползвам адресите указани в дата-шийта [ 0x00, 0x40, 0x10, 0x50 ] за първи, втори, трети и четвърти ред, мога да местя курсора само на първо положение на първи и на втори ред, а на останалите хоризонтални положения нямам достъп, или поради някаква причина изчезва курсора, може би от неправилно настроено напрежение на контраст-пина, както ти казваш. Не мисля, че контраст пина е виновен, най-вече понеже в процеса на експериментиране с различни командни последователности и тайминги, ми излизат ясни произволни символи на произволни позиции по дисплея. Поради това си мисля, че проблема ми е на софтуерно ниво, но не виждам къде бъркам. Както писах по-горе, същия код работи с SPCL780D контролер на идентичен дисплей както този, но през Dynamic C и RABBIT. Поздрави! |
||||||||||
| Автор: | Cekins [ Сря Юни 23, 2010 9:33 am ] |
| Заглавие: | |
И как точно ще му захраниш логиката с 2,7 да попитам аз. Щото не съм виждал Ampire дисплей с два извода за VDD на логиката и на LCD-то ? |
|
| Автор: | didofen [ Сря Юни 23, 2010 9:55 am ] |
| Заглавие: | |
ми нещо не можах да се оправя с с-то ти, та да изкажа следното. подават се данните на данновите пинове, настройват се ереса и ч/з пиновете и тогава се вдига енеибъл и се сваля. освен това е мн важно времето му на задържане в единица, както и времето между импулсите, т.е. времето между командите. има си критични минимуми |
|
| Автор: | michev [ Сря Юни 23, 2010 5:22 pm ] | ||
| Заглавие: | |||
Cekins, страница 8 от дейташийта.
|
|||
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|