РК JHD162A інтерфейс WID ПІК 16F877

S

sastraster

Guest
Я використовую 16 * 2 РК. Я використовую Hitech C компілятора. Я намагаюся показати деякі слова. Іноді це буде коректно відображатися іноді він не буде .. Іноді деякі символи буде відсутній або воно покаже що-небудь інше. Я спробував збільшити delay.after кожної ініціалізації я даю 5 сек, як затримка тільки перевірити її. Але навіть після тат Я зіткнувся з тією ж проблемою. Так люб'язно допомогти мені. Я доклав код також. # # Включають включають # визначити EN RC5 / / 24 # визначити RS RC6 / / 25 # визначити RW RC7 / / 26 # визначити DB0 RB0 # визначити DB1 RB1 # визначити DB2 RB2 # визначити DB3 RB3 # визначити DB4 RB4 # визначити DB5 RB5 # визначити DB6 RB6 # визначити DB7 RB7 # визначити даних PORTB символ X; # IFNDEF _XTAL_FREQ # визначити _XTAL_FREQ 20000000 # ENDIF символ Count = 0; недійсними init_LCD () {TRISB = 0x00; TRISC = 0x00; RS = 0; RW = 0; даних = 0x38; EN = 1; АНМ ("NOP"); EN = 0, а для (я = 1, я
 
Привіт, що частота, яку ви використовуєте свій ПОС? З таблиці мінімальна ширина імпульсу для EN є 230ns або 450ns і дані установки 80ns або 195 нс, так що ваші EN = 1; АНМ ("NOP"); EN = 0; не достатньо! Мінімальна E циклу частота 1 мс, тому __delay_ms (1) між командами достатньо. Я також рекомендую помістити один NOP між РС і / або RW змін і E фронту. Ваші сигнали управління на охоплення повинен бути як фотографії на сторінці 4 таблиці. З повагою Павло.
 
Ви пробували наприклад РК-код у зразку каталозі компілятора Привіт-Tech?
 
Це правильний ініціалізації LCD Згідно таблиці ... Але багато людей не дотримуються цієї ініціалізації ... Так ви можете спробувати з цим ініціалізації .. Я також іноді стикаються такого роду проблеми через неналежне ініціалізації ... Але я впевнений, що це проблема ... але ви можете спробувати цей ... Крок 1: Створити набір функцій [0x38] в регістр команд .. [8 біт інтерфейс, численні лінії, 5x7 розмір шрифту] Крок 2: Дайте 4 мс затримки Крок 3: Те ж Крок 1 STEP4: Дайте 1мс STEP5 Затримка: Крок 1 Крок 6: Створити курсор / відображення зсуву [0x1C] в регістр команд із затримкою .. . [Shift весь екран в правій] STEP7: Створити / вимикання дисплею управління [0x0C] в регістр команд з затримкою ... [Немає курсору і не блимати] STEP8: Створити режим введення безліч [0x06] в регістр команд з затримкою ... [Збільшення без Shift] STEP9: написати додому курсору [0x02] в регістр команд з запізненням ... [Головна курсор] Крок 10: Створити Очистити екран [0x01] в регістр команд з затримкою ... [Clear Display]
 
використання конденсатора (будь-якої вартості) з блоку живлення. Я думаю, що ваш блок живлення не дуже добре регулюється.
 

Welcome to EDABoard.com

Sponsor

Back
Top