Fórum témák
» Több friss téma |
Olvasd át a csatolt fájlt, én az alapján üzemeltem be. Érthetően leírja, igaz angolul, de KS0108as adatlapon is rajta vannak a parancsok. Bár azt hozzátenném én sem vagyok nagy penge ebben.
Sziasztok!
Nincs valakinek valami egyszerű ASM progija egy 64x128 (1xks107,2xks108) kijelző teszteléséhez?Elég lenne ha csak egy pl. "a" betűt kiír.Nem tudom működik-e egyáltalán az LCD......Sajnos a neten csak C nyelvűeket találtam, az meg nem fekszik nekem.
Sziasztok!
Szeretnék segítséget kérni az alábbi problémám megoldásában. Megépítettem ezt a akkutöltő kapcsolást.Bővebben: Link A kapcsolás működik ,csak az LCD-n ez látható. 3.kép. Három napi kíséretezgetés, hibakeresés, után a CS1 és CS2 pontokat lehuztam a picről. Most már kijelzés van csak elég érdekes. Valakinek valami ötlete van mi lehet a hiba? Három pic-el is próbáltam, a kijelző új. A Pic 16F877A a kijelző tipusa ABG12064H05-YHY-R-01.
megoldódott...
Találtál asm kódot? Mert az engem is érdekelne. Az enyémmel félig vagyok csak kész, modjuk stringet már kiir.
A CS1 és CS2 bemenetek mondják meg, hogy a kijelző jobb vagy bal oldalára írjon. A KS0108as csak 64x64es kijelzőt tud kezelni. A 128x64 úgy van megoldva hogy két 64x64es blokkra van osztva a kijelző és a kettő között a CS1 és CS2 lábakkal választod ki, hogy melyik az aktív. Ahogy látom nálad mindkettő aktív mert ugyanaz van a jobb és a bal oldalon. Ezeket a lábakat be kell midenképpen kötni, mert csak így lehet az LCDt normálisan használni.
Ha jól van bekötve, akkor az LCD meghajtóprogramban lehet hiba.
Próbáltam már megcserélni a cs1 , cs2 portot is kínomban. Igen.szerintem is valahol itt lehet a hiba. Na de a progiban mit lehetne nézni vagy módosítani hogy ez megoldódjon? Ha valakinek lenne ötlete, kérem segítsen.
Nem, megírtam magam némi küzdelem árán.Most már jó kis grafikákat sikerült csinálni.
Nekem a ChipCad-es EW13b10GLY kijelzőm van. Ennél úgy tudtam működésre bírni, hogy a bekapcsolás előtt a CS1 és CS2 is aktív volt, utána bekapcs és azután a CS1=1 és CS2=0, ha a jobb oldalra akarok írni akkor meg CS1=0 és CS2=1. Tehát kiírás közben csak egy CS kell hogy aktív legyen. Ha lépésenkét debuggolod és közben méred a CS lábakon a feszültséget meg kell hogy találjad a hibát.
Bele lehetne nézni esetleg a kódba? A késleltetések érdekelnének.
Ezen link alapján csináltam.Az oldal végén van a progi. Sajnos szlovén kommentek vannak ,de a webfordítás oldal némileg tudja. Gondolom Neked csak az INILCD, UKAZ, BAJT rész érdekes. UKAZ-utasítás, BAJT-adat.Ki lehet hámozni. Ha nem megy akkor elküldöm az általam kreált progit, ez egy picit más lett. Én PIC 16f887-et használok és a LOMEX-ból egy 64128FCCBW-t. Bővebben: Link
Elfelejtettem, még egy kis segítség:
Ebből- BAJT BCF 6,7 ;0=enable BSF 6,5 ;1=read BCF 6,6 ;0=instruction BSF 6,7 ;1=enable CLRF 7 ;nicle na D0-7 Ez lett: DAT BCF E ;0=enable BCF RW ;1=read BCF D_I ;0=instruction BSF E ;1=enable CLRF PORTD Engem zavart a 6,5 ; 6,6 ; stb...
Természetesen más portokat használok, mert az eredeti 876-ra íródott nekem meg több minden kell, ezért lett a nagyobb 887.
Kösz . Közben rájöttem hogy nem az időzítésekkel van gondom .
Már szépen ír ki ascii sztringeket bárhová a kijelzőre. Már csak az ékezetes karaktereket kell megcsinálni. Na meg a program többi részét .
Sziasztok!
Abban kérném a segítségeteket, hogy grafikus LCD-n szeretném egy analóg csatorna értékét megjeleníteni, de nem tudom hogyan lehet megoldani....Képet , fix szöveget ki tudok rajzolni, de "mozgó" adatokkal nem működik a dolog. Még a BARGRAPH szerű kijelzés is működik valahogy.A szokványos HD44780 típusnál persze ez nem probléma..... de itt lövésem sincs Az alkalmazott LCD Ks108 és PIC16f887 hajtja meg. Ja, és ASM-ben szeretek írni....
Szia!
Assembly programban ez sok lépés: 1 - A/D kezelése, a mért 12 bites érték beolvasása, 2 - Skálázás, 3 - A kijelzendő érték decimálissá alakítása, 4 - A decimális számjegyek karakterekké alakítása, 5 - A ram -ban létrehozott szöveg kiírása. 1: Számábrázolást kell választani, ami nem egyszerű, ha a skálázás nem egész számmal történik vagy a kijelzett értéknél tizedestörteket is szeretnél. Talán akkor a legegyszerűbb, ha a kijelzett értéket egész számként kezeled, a kiírásnál veszed figyelembe a tizedespont helyét. Használj több bitet, mint ami minimálisan szükséges. 2: Egy szorzó rutin erről a lapról. A szorzót is a választott számábrázolásban kell megadni. 3: Egy bináris BCD konvertáló rutin erről a lapról. 4: Az ASCII karakter sorozattá konvertálás a számjegyeknél egyszerű (a '0' kódjának hozzáadása), de gondolni kell a bevezető nullák betüközzé konvertálására és a tizedespont behelyezésére is. 5: Egy rutin, ami a ram memóriából olvassa a karakterek kódját és kiírja az LCD-re. Az alapja a fix szöveg programtárból való kiíratása lehet - az már megy... C -ben néhány sor - a többit a fordító teszi hozzá...
Szia!
Köszönöm szépen a segítséget!! Mellékeltem egy fényképet hol tart a dolog. A Bargraph már "jelzi" az analóg csatorna jelét, de szeretném a decimális értéket is kijelezni. Persze a megfelelő konverziók után. Áram , teljesítmény, stb.-nek megfelelően.Mint írtam már karakteres kijelzőn sok mindent sikerült eddig megcsinálni ,de itt grafikuson ez az első kísérletem..... hát itt minden más. Azt hiszem még lesz néhány munkaóra benne mire kész lesz!
Engem érdekelne a grafikus kijelző kezelő rutinod, mert van egy kijelzőm, amiről nem tudom, hogy működik-e. Ha közzé tennéd a forrást, megköszönném. Elég régi a hozzászólásod, remélem még megvan.
Szívesen elküldöm, de meg nem mondom már, hol vannak a CCS-C-s rutinjaim, mert úgy kb. 3 éve nem PIC-eztem.
Majd otthon megnézem, mert archívon még lehet hogy megvan elérhető közelségben.
Sziasztok,
Van egy LM6800 as LCD-m 256x64 px es,KS0108 as kontrollerel lehet programozni. Az a kerdesem lenne , hogy tud valaki ilyen felbontasban lib-et? A sima ks0108 as lib(mikroC-ben) csak 128x64 es re irodott. A valaszotokot elore is koszonom. |
Bejelentkezés
Hirdetés |