| Автор | Съобщение |
|---|
saeed_pk
Присъединил се: 20 май 2006 Публикации: 183 Подпомогнат: 5 Местоположение: Исламабад, Пакистан
| 06 май 2009 11:39 Нощна LCD Текущият Курсор позиция | | |
|
| Здравейте всички, Аз работя за 20x4 LCD с PIC18F452 и Hi-Tech PICC-18 Компилатор Аз съм с LCD модул, дадени в пробите директория.
Моят проект Непрекъснато актуализации насрещно за LCD и когато RCIF отива високо (Сериен Рецепция Прекъсване) трябва да покаже Pause Влезте в горния десен ъгъл.
Когато настъпи прекъсване тя не го показва, но след ISR ми Брояч данни, които да бъдат показани в центъра започнете да показвате в трета линия аз помислих, че проблемът е на мястото на курсора, когато се върнах от ISR LCD курсора не се връща към предишното място, където това беше. Имам нужда от рутинните / начин как да се чете курсора на текущото местоположение и да мога да се отърва от този проблем, моля съвет. |
|
| Обратно към началото | |
 |
AMK1971
Присъединил се: 13 Ноември 2007 Мнения: 34 Подпомогнат: 2 Местоположение: 33,688 ° N73.035 ° E
| 08 май 2009 10:53 Нощна LCD Текущият Курсор позиция | | |
|
| Можете да се отървете от този проблем, използвайки следните методи
1. Donot достъп LCD от прекъсвам, вместо да зададете флаг в прекъсне и обновяване на LCD в основната електрическа верига.
2. Преди изпращането на данни към LCD, задаване на курсора място. Уверете се, че прекъсвам не възниква, докато пълни данни се изпращат на LCD.
3. Проверка на текущото местоположение на курсора, и ако се установи грешка. (Въпреки че кодирането е почти същата, тя ще бъде бързо от 2.) Можете да получите на курсора местоположение с четенето на командването се регистрирате, ако използвате Hitachi 44780 контролер. Други контролер също предостави подобна функционалност.
Аз предпочитам вариант 1 обсъдено по-горе. |
|
| Обратно към началото | |
 |
saeed_pk
Присъединил се: 20 май 2006 Публикации: 183 Подпомогнат: 5 Местоположение: Исламабад, Пакистан
| 08 май 2009 12:42 Re: Четене LCD Текущият Курсор позиция | | |
|
| Аз направих втори метод, Какво ще се случи, трябва да получите сериен прекъсне откриване символ "A" Какво се случва, когато спрете прекъсне този герой идва отвътре това и аз го пропуснете.
първия си вариант е да бъде полезна, но нека да Редизайн сортиране на нещо.
в трети път ви казах на четене
ако изберете контрол регистъра (RS) и изберете Четене (R / W) и аз чета байт ще я дай ми курсора позицията или какво моля съвети мен |
|
| Обратно към началото | |
 |
Google AdSense

| 08 май 2009 12:42 Обяви | | |
|
|
|
|
| Обратно към началото | |
 |
AMK1971
Присъединил се: 13 Ноември 2007 Мнения: 34 Подпомогнат: 2 Местоположение: 33,688 ° N73.035 ° E
| 13 май 2009 7:59 Re: Четене LCD Текущият Курсор позиция | | |
|
| Текстът LCDs, които се изработват от 44780 контролер дам текущата Покажи RAM местоположение (курсора място), когато четат командния регистър. (MSB е зает флаг и курсора местоположение е в 7 LSBs, така че трябва да и резултата с 0x7F)
Ако текстът LCD не е построена над 44780, тогава ще трябва да прочетете неговата документация, за да видите как можете да прочетете на курсора място. |
|
| Обратно към началото | |
 |
sau_sol
Присъединил се: 27 февруари 2008 Публикации: 230 Подпомогнат: 22 Местоположение: Индия (ПГ)
| 19 май 2009 8:03 Re: Четене LCD Текущият Курсор позиция | | |
|
| Аз също съм изправена подобен проблем в 16x2 LCD Така че ми се промени код, за да използвате 2 регистри за всяка линия
Аз съм актуализиране на втора линия в UART ISR и първия ред от клавиатурата така, когато се върнах от ISR бях губи курсора позиция така че, използвани за съхраняване на регистрите на мястото на курсора В ISR
Първо зареждане на втория ред регистър стойност и преместите курсора до това място increament регистъра след което да показва данните тогава натоварването на първия ред регистър стойност и преместите курсора до тази стойност
поради което не съм си курсора губи позиции и се поддържа една и съща за всеки тип дисплей
Можете също така да опитате този метод и да се отърве от всички дисплей проблем |
|
| Обратно към началото | |
 |
manish12
Присъединил се: 21 Ноември 2006 Мнения: 1013 Подпомогнат: 31
| 09 юни 2009 5:55 Re: Четене LCD Текущият Курсор позиция | | |
|
| използват различни променливи за намиране на курсора в различни маршрути.
Да не се използва вградени маршрути за локализиране на курсора за 16 * 4 LCD модул. |
|
| Обратно към началото | |
 |
ravimarcus
Присъединил се: 09 май 2005 Публикации: 201 Подпомогнат: 19 Местоположение: Бангалор, Индия
| 14 юни 2009 7:16 Re: Четене LCD Текущият Курсор позиция | | |
|
| Аз използвайте следния метод.
Имам buffer1 да buffer20. Аз деактивираме курсора. Какво някога искам да пиша, аз пиша за буфер и след това прехвърляне на цялата партида в една отидете на LCD модул.
Ако искате да пишете на 12 място, аз пиша за buffer12 и актуализира LCD.
Използвам същия буфери за всички линии.
Аз initialise курсора към началната позиция, изберете линията началото на линията, и след това напишете 20 байта за LCD.
Надявам се това да помогне
Наздравици
Рави |
|
| Обратно към началото | |
 |
umair67
Присъединил се: 25 май 2009 Мнения: 13 Подпомогнат: 1 Местоположение: Пакистан
| 23 юни 2009 7:29 Re: Четене LCD Текущият Курсор позиция | | |
|
| | чете от статута регистър |
|
| Обратно към началото | |
 |
vistapoint
Присъединил се: 20 февруари, 2005 Мнения: 80 Подпомогнат: 1
| 05 юли 2009 5:44 Re: Четене LCD Текущият Курсор позиция | | |
|
| Използвах много буфери и аз почувствах-безопасно да се следват по този начин. ______________________________________________________ ниска цена 1/4W Резистор комплект: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=300320789926 |
|
| Обратно към началото | |
 |