LCD мерехтіння з проблемою 16f877a

Z

zero2004

Guest
Привіт кожного

Проблема при підключенні 16 * 2 LCD (тип m1632) з 16f877a ПОС і написати будь-яке слово, перші слова з'являється, але на секунду, і мерехтіння РК і наповнює чорні блоки.

спасибо

 
Привіт

Перевірка програмного забезпечення - щось у ньому продовжують письмово РК Після передачі данихВсе найкраще

Боби
Мікроконтролер фахівця
 
Шановні bobcat1

програмне забезпечення містити РК визначень і лише на один рядок для друку

спасибо

 
Привіт,

Як Bobcat1 стверджує, що її, ймовірно, ваше програмне забезпечення, поштовий код, якщо його ще не відбувається.

Також перевірте ваше обладнання в ПОС РК зв'язків є частою причиною проблем.

Видалити ПІК чіпа і перевірити всі кілки з панельки на ЖК колодки зв'язку з мультиметри, перевірити кожну лінію спадкоємності і шорти з оточуючими шпильки.

 
милостивий

Програма, перерахованих нижче, я пишу його з протоном IDE, перевірити з'єднання та все думаю, добре.спасибо

Device = 16F877A
XTAL 4Заявляємо LCD_TYPE 0
Заявляємо LCD_DTPIN PORTD.4
Заявляємо LCD_ENPIN PORTD.3
Заявляємо LCD_INTERFACE 4
Заявляємо LCD_RSPIN PORTD.2'Визначити змінні програми
Dim Col As Byte
Dim Row As Byte
Dim ключ байт
Dim K [4] As Byte
Dim Ikey As Byte
Dim TI Як Word
Dim Тии Як Float

OPTION_REG.7 = 0
Вихідні PORTC.0DelayMS 100
Роздрукувати 254,1, "В Freq. У Гц"
Роздрукувати 2,1
K [0] = 0
K [1] = 0
K [2] = 0
K [3] = 0

Loop2: GOSUB GetKey

Якщо ключ = 1 Then
K [Ikey] = "1"
Друк "1"
Inc Ikey
End If

Якщо ключ = 2 Then
K [Ikey] = "2"
Друк "2"
Inc Ikey
End If

Якщо ключові = 3 Тоді
K [Ikey] = "3"
Друк "3"
Inc Ikey
End If

Якщо ключові = 4, то
K [Ikey] = "4"
Друк "4"
Inc Ikey
End If

Якщо ключові = 5 Then
K [Ikey] = "5"
Друк "5"
Inc Ikey
End If

Якщо ключ = 6 Тоді
K [Ikey] = "6"
Для друку "6"
Inc Ikey
End If

Якщо ключові = 7 Тоді
K [Ikey] = "7"
Друк "7"
Inc Ikey
End If

Якщо ключ = 8 Тоді
K [Ikey] = "8"
Друк "8"
Inc Ikey
End If

Якщо ключові = 9 Тоді
K [Ikey] = "9"
Друк "9"
Inc Ikey
End If

Якщо ключові = 11, то
K [Ikey] = "0"
Друк "0"
Inc Ikey
End IfЯкщо ключові = 12 Потім
TI = Val (K, грудень)
254,1 друку, "Частота:", # Т.І., "Hz"
TII = (1/ti) * 500
Loop:
PORTC.0 = 1
DelayMS Тии
PORTC.0 = 0
DelayMS ТииЯкщо PORTB.7 = 0 Тоді
Роздрукувати 254,1, "В Freq. У Гц"
Роздрукувати 2,1
K [0] = 0
K [1] = 0
K [2] = 0
K [3] = 0
TII = 0
TI = 0
Ikey = 0
GoTo Loop2
End IfGoTo петля
End If
GoTo Loop2GetKey:
DelayMS 50

Getkeyu:
'Чекати все догори
PORTB = 0
TRISB = $ F0
Якщо (PORTB>> 4) <> $ 0F Тоді Getkeyu

DelayMS 50
Getkeyp:

Для Col = 0 до 3
PORTB = 0
TRISB = (DCD Col) ^ $ FF
Row = PORTB>> 4
Якщо Row <> $ 0F Тоді Gotkey
Наступний
GoTo Getkeyp

Gotkey:
Ключові = (Col * 3) (НИЗ (рядок ^ $ 0F))
Повернення

Лейбл:
Кінець

 
Переконайтеся, що курсор знаходиться не в "Blink режимі", коли ви пишете для відображення швидко блимає курсор, деякі РК почне мерехтіти ...

 

Welcome to EDABoard.com

Sponsor

Back
Top