LCD mirgėjimas su 16f877a problema

Z

zero2004

Guest
Hi every one

Problema yra, kai galiu prijungti 16 * 2 LCD (tipo m1632) su 16f877a pic ir parašyti bet kokį žodį, pirmasis žodis pasirodo, bet tik už antrą ir LCD mirgėjimas ir pildo su juodais blokais.

ačiū

 
Labas

Patikrinkite, ar jūsų programinė įranga - nors ji ir toliau rašyti prie skystųjų kristalų po duomenų perdavimąVisi geriausi

Bobi
Mikrovaldiklį specialistas
 
Gerbiami bobcat1

programinė įranga yra LCD apibrėžimai ir tik vieną eilutę spausdinti

ačiū

 
Labas,

Kaip Bobcat1 sako jos galbūt jūsų programinės įrangos, pašto kodą, jei jos vis dar vyksta.

Taip pat patikrinkite, ar jūsų aparatinė Pic LCD prijungimas prie bendro sukelti problemų.

Pašalinti pic lusto ir patikrinti, ar visi iš IC Socket smeigtukai su LCD ryšys pagalvėlės su ohm skaitiklis, patikrinkite kiekvieną tęstinumą ir šortai, pagaminti pagal aplinkinių kaiščių.

 
Gerbiamieji

programa žemiau, aš rašau tai su protonų IDE, aš patikrinti ryšį ir kas manau baudą.ačiū

Device = 16F877A
XTAL 4Pripažinti LCD_TYPE 0
Pripažinti LCD_DTPIN PORTD.4
Pripažinti LCD_ENPIN PORTD.3
Pripažinti LCD_INTERFACE 4
Pripažinti LCD_RSPIN PORTD.2"Nustatyti programa kintamieji
Dim Pulkininkas Kaip Baitas
Dim eilutėje Baitas
Dim klavišą Baitas
Dim k [4] Kaip Baitas
Dim ikey Kaip Baitas
Dim ti kaip "Word"
Dim Tii Kaip Plūdės

OPTION_REG.7 = 0
Išvesties PORTC.0DelayMS 100
Spausdinti 254,1 "In Freq. Hz"
Print 2,1
K [0] = 0
K [1] = 0
K [2] = 0
K [3] = 0

Loop2: GoSub Getkey

Jei klavišas = 1 Tada
K [ikey] = "1"
Spausdinti "1"
Inc ikey
End If

Jei klavišas = 2 Tada
K [ikey] = "2"
Spausdinti "2"
Inc ikey
End If

Jei key = 3 Toliau
K [ikey] = "3"
Spausdinti "3"
Inc ikey
End If

Jei klavišas = 4 Toliau
K [ikey] = "4"
Spausdinti "4"
Inc ikey
End If

Jei klavišas = 5 Toliau
K [ikey] = "5"
Print "5"
Inc ikey
End If

Jei klavišas = 6 Then
K [ikey] = "6"
Spausdinti "6"
Inc ikey
End If

Jei klavišas = 7 Toliau
K [ikey] = "7"
Spausdinti "7"
Inc ikey
End If

Jei klavišas = 8 Toliau
K [ikey] = "8"
Spausdinti "8"
Inc ikey
End If

Jei klavišas = 9 Toliau
K [ikey] = "9"
Spausdinti "9"
Inc ikey
End If

Jei klavišas = 11 Tada
K [ikey] = "0"
Spausdinti "0"
Inc ikey
End IfJei klavišas = 12 Tada
Ti = val (k Gruo)
Spausdinti 254,1 ", dažnis:" # ti, "Hz"
Tii = (1/ti) * 500
loop:
PORTC.0 = 1
DelayMS Tii
PORTC.0 = 0
DelayMS TiiJei PORTB.7 = 0 THEN
Spausdinti 254,1 "In Freq. Hz"
Print 2,1
K [0] = 0
K [1] = 0
K [2] = 0
K [3] = 0
Tii = 0
Ti = 0
ikey = 0
GOTO Loop2
End IfGOTO kilpa
End If
GOTO Loop2Getkey:
DelayMS 50

Getkeyu:
"Palaukite, visi raktai viršų
PORTB = 0
TRISB = $ F0
If (PORTB>> 4) <> $ 0F Tada Getkeyu

DelayMS 50
Getkeyp:

Dėl Pulkininkas = 0 3
PORTB = 0
TRISB = (DCD COL) ^ $ FF
Row = PORTB>> 4
Jei Row <> $ 0F Tada Gotkey
Kitas
GOTO Getkeyp

Gotkey:
Key = (Pulkininkas * 3) (NCD (row ^ $ 0F))
Atgal

Label:
Pabaiga

 
įsitikinkite, kad kursorius yra ne "mirksėjimo režimu", kai rašote rodyti greitai kursorius mirksi, kai pradeda LCD mirgėjimas ...

 

Welcome to EDABoard.com

Sponsor

Back
Top