Program írás help

Ide kerültek azok a témák melyek nagyon összevissza voltak. Olvasni lehet őket, de írni hozzá már nem.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. július 13. péntek, 11:13

Ez nem hidegítő hanem RC tag!
100nF elég, kerámia!

Nem I/O láb, hanem Reset!
BOD alapban ki van kapcsolva a biztosítékbiteknél....

Hooligan01

HozzászólásSzerző: Hooligan01 » 2007. július 13. péntek, 16:40

100nF kerámia KÖTELEZŐ a reset és a föld közé!!!

énis beszivtam vele még a kezdetekkor... :twisted:

Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

HozzászólásSzerző: 7kaz » 2007. július 14. szombat, 10:09

Beforrasztottam a kondit, de továbbra sem megy. Úgyhogy procicsere :-(

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 26. csütörtök, 17:54

HI!
LCD programozásban kérném a segítségeteket, ötleteket. Adott 1 JM162b modul és 1 Atm16-os. Az lcd teljesen meg van zavarodva (sok krix, krax, neha semmmi, de van amikor kóser). A következő jelenségekre figyeltem fel: Ha a tápfeszt ráadom az AT-ra és az LCD-re akkor a fentiek a jelenségek, de ha utána egy párszor pillanatra megszakítom, majd ujra tápolom akkor meg magához tér :!: :?:


BEKÖTÉS:

Pin NO. Symbol Function Remark >ATm16 x láb.
1 GND 0V > test.
2 Vdd +5V > L7805 + 2x100nf.
3 V5 Power supply For LCD Variable > 10kO poti +,- között.
4 RS Register Select(H=Data,L=Instruction) > portd 0.
5 R/W Read/Write L=MPU to LCM,H=LCM to MPU > portd 1.
6 E Enable > portd 2.
7 DB0 Data bus bit 0
8 DB1 Data bus bit 1
9 DB2 Data bus bit 2
10 DB3 Data bus bit 3
11 DB4 Data bus bit 4 > portd 4.
12 DB5 Data bus bit 5 > portd 5.
13 DB6 Data bus bit 6 > portd 6.
14 DB7 Data bus bit 7 > portd 7.
15 A Anode of LED Unit > mint az LCD 3. láb.
16 K Cathode of LED Unit > Dióda közbeiktatásával test.

PROGI:

$regfile = "m16def.dat"
$crystal = 16000000


Config Kbd = Pinb 'b-porton a mátrix bill.
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.0


Ddrd.1 = 1 'R/W
Portd.1 = 0

Dim K As String * 2
Dim Bk As Byte
Cursor Off
Display On


Waitms 100

Do 'lekérdezés és átkódolás
Cls
Bk = Getkbd()
K = Str(bk)
Lcd K
Waitms 100


Loop

End 'end program

Hooligan01

HozzászólásSzerző: Hooligan01 » 2007. július 26. csütörtök, 18:44

Padum!

Az lcd R/W bemenetét érdemesebb fixen a földre húzni, lehet ez a probléma forrása. (4bites üzemben amugy is csak portláb pazarlás :)

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. július 26. csütörtök, 20:52

78L05 az 100mA-es.
Ez ha van háttérvilágítás (ez önmagában olyan 100...150 mA lehet), lcd(10-30mA), chip (20mA) kevés....

A háttérvilágítást NEM diódával állítjuk,hanem 15...220R ellenállással...

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 27. péntek, 18:10

Thanks!
Hogy pontosítsak, a táp 2 párhuzamos L7805.
Ha kikötöm a háttérfényt, a tünet akkor sem változik.
Kipróbáltam Hooligan01 javaslatát és 20-ból 20x JÓÓÓ :!:
A háttérvilágítást is átkötöm Robert tanácsát követve :D
Még 1x köszönet!

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 28. szombat, 12:51

Üdv!
Szeretném a Bascom által is támogatott ATkbrd. lehetőségget kipróbálni!
A HELP-ben lévő példa progi viszont számomra zavaros. Sajna ezidáig nem sikerült működőképes progit ősszehoznom. Van esetleg valakinek valami közszeméremre tehető működő darab? :lol:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. július 28. szombat, 12:59

Bascom samples alatt a getkbd.bas .

Kód: Egész kijelölése

'--- Alapadatok ---
$crystal = 14745600                                         'Sebesseg
$regfile = "M16def.dat"                                     'Chip
$baud = 9600

Config Keyboard = Pina.4 , Data = Pina.5 , Keydata = Keydata

'Dim some used variables

Dim S As String * 12
Dim B As Byte


'$serialinput = Kbdinput

Print "hello"

Do
    B = Getatkbd()
  Loop Until B <> 0
  Print B
Loop
End

'Since we do a redirection we call the routine from the redirection routine


Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

'shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 28. szombat, 16:58

Bascom példa alapján az enyém is hasonló, de a fenti változat is dettó ugyan azt produkálja :(
Kezdek a hardverre gyanakodni, mert ha a config keyboard be van töltve az ATm16-ba akkor az lcd kijelzés is megszűnik pusztán a test érintésére!?
A billentyűzet csatlakoztatásra szintén nem jelez semmit, de lehúzva ismét kiírja a 0 kódot.
:?:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. július 28. szombat, 17:40

Az akkor HWhiba....


A bkd jól van bekötve?

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 28. szombat, 21:02

Átnéztem a bekötést és a portokat is cserélgettem, de semmi javulás :?
Lehet, hogy a d-portra kötött LCD-vel veszik össze?
Te már kipróbáltad ezt a progit?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9904
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. július 28. szombat, 21:22

Közös láb ne legyen az LCD és a KBDvel:)

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 30. hétfő, 21:46

Hi!
Ismét nekilendültem. Ki hagytam a gyanusítottak közül az LCD rutint és le is kötöttem a modult. Kijelzésnek visszakerültek a jó öreg 7szegmensesek :wink: Az ATkbd kezelő rutin megmaradt. A végeredmény sajna ugyanaz a mimóza efekt mint korábban :evil: Kizárásos alapon így szerintem az AT-s bilentyűkezelő a záptojás :cry:
:?:

Progi:

$regfile = "m16def.dat"
$crystal = 16000000

Config Keyboard = Pinb.7 , Data = Pinb.6 , Keydata = Keydata

Ddrc = 255 'c és d-portokon a 7-7szegmens
Ddrd = 255 'a Minta1 és Minta16 a hexa kijelzés
'én 2 közös anódos kijelző, így a szegmens kódok: 255 - a portok,
' ha katódosak akkor símán szegmens kód = portokkal
Dim Bk As Byte
Dim Es As Byte
Dim Ts As Byte
Dim Te As Byte
Dim E As Byte
Dim T As Byte


Do 'lekérdezés és átkódolás

Bk = Getatkbd()
For Ts = 0 To 240 Step 16
For Es = 0 To 15
Te = Ts + Es
If Bk = Te Then
Goto Kiiro
Else
End If
Next Es
Next Ts

Kiiro:
E = Lookup(es , Minta1) 'megjelenítés
Portc = E
Ts = Ts / 16
T = Lookup(ts , Minta16)
Portd = T
Wait 1
Portc = 255
Portd = 255
Loop


End



Keydata:

'normal keys lower case

Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0

Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0

Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0

Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0

Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0

Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0

Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0

Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0



'shifted keys UPPER case

Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0

Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0

Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0

Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0

Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0

Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0

Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

Minta16:
Data 33 , 189 , 19 , 25 , 205 , 73 , 65 , 61 , 1 , 9 , 5 , 193 , 99 , 145 , 67 , 71 '0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F
Minta1:
Data 132 , 215 , 76 , 69 , 55 , 37 , 36 , 199 , 4 , 5 , 6 , 52 , 172 , 84 , 44 , 46 '0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. július 30. hétfő, 23:43

:oops: Mégis HW hiba
A clock és data pontokat + kell húzni 4,7 ko -mal.:twisted:
Ami még zavar, hogy gyorsabb billentyűzésnél hex240 kódokat küld ki :?:


Vissza: “Zárolt témák”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég