Fórum témák
» Több friss téma |
Szoftveresen átlag úgy prellmentesítenek, elkülönítik a fizikai állapotot, és a virtuális állapotot. A virtuális állapotot változóban modellezik. Ha a főciklusod aszinkron design (ha nem az, használhatsz timer megszakítást is) rendszeresen olvasgass rá a bemenetre. A virtuális állapot változó folytán látni fogod, ha a fizikai bemeneten ellentétes érték van, mint a változóban. Csinálj egy számláló változót is. Ha a fizikai bemenet és a virtuális állapot azonosak, kinullázod a változót, ha ellentétesek, növeled eggyel a változót. Ha a változód elért egy korlát értéket, átváltod a virtuális állapotot, és lenullázod a számlálót. A bemenet "kiolvasást" külön a virtuális változóra irányítsd át, a fizikai bemenetet programból más célra nem használod, mint a fentebbi állapot gépre. Ha a számláló korlát értékére pedig találj ki valamit a főciklus vélhető sebessége alapján, gondolom, nem végtelen sebességgel pörög az sem. Kapcsoló prellmentesítésre 200 milli sec idő már elég, 50 milli sec alatt pedig valószínűleg kevés lesz. Ha a főciklusod ahhoz képest is nagyon kiszámíthatatlan, használj timer interruptot beidőzítve, és arra rakd rá a fizikai állapot beolvasást. Vagy ha van az alkalmazásodban "gépóra", akkor csak X időközönként futtasd a fizikai beolvasást, és ha még nincs ideje, simán skip. Kód részletet nem adok, mert csak elrontanám a szórakozásodat. Egyszer ilyesmit lekódolsz, olyasmi, mint a biciklizés, utána már menni fog készség szintjén. Első alkalommal értsd meg alaposan, miről is van szó, és csináld meg saját kezűleg. Később a copy / paste is elég lesz. Olvasnivaló oszcilloszkóp képekkel illusztrálva. Have fun.
Átszoktam laptopra, és itt mások a billentyűzet fizikai arányai. Ctrl-c/v -t használni aránytalanul nagyobb erőfeszítés. A csuklóm szétmenne tőle.
Oké, de már megint oda lukadtunk ki, hogy a hardveres környezeted véges teljesítőképessége erősebben van megközelítve a felhasználás által. A C és a trehányság nyilván erőforrást pocsékolnak, ami ha nincs, nem engedheted meg magadnak azt a luxust. De ha megengedheted magadnak a luxust, ugyan miért ne választanád a kényelmet?
Idézet: „Hmm. Hogyan mondják angolul, hogy "kevesebb lábszámmal"?” Senki? Idézet: „De ha megengedheted magadnak a luxust, ugyan miért ne választanád a kényelmet?” Biztos rosszul vagyok behuzalozva, de pl. az is csípi a szememet, ha kamionnal szállítanak egy darab egeret. Értelmetlen pazarlás. Hogy ez lustaság, vagy üzleti érdek, az mellékes. Az viszont bizonyításra nem szoruló tény, hogy az egyszerűbb dolgok megbízhatóbbak.
Sokféleképpen lehet mondani, környzettől függően.
Less pin, lower pin count például. Idézet: „Less pin” Inkább "fewer pins", lévén megszámlálható. Bár az FPGA-ra ez már nem biztos, hogy igaz... ![]()
Szia!
Ha jól emlékszem te Mikro C -ben programozol. Ott van direkt erre fuggvény. A hozzászólás módosítva: Ápr 5, 2017
Találtam még ezt a kapcsolást, amit 40×2 Hitachi kompatibilissé kellene tenni, valamint itt letölthető a komplett kód, de szintén Hitachi kompatibilissé kellene tenni, valamint kezelje a [home] gombot, mint reset; az [enter] gombot, mint sorváltó és a [backspace] gombot, mint szövegvisszatörlő. Itt van a Hitachi karaktertáblája, ami sokat segíthet.
Egy kicsit szélesebb látókörrel talán rájönnél, hogy a naprendszerünk csillagának a szemével nézve az egész emberi élet a Földön semmi több, mint értelmetlen energiapocsékolás. Szóval már azzal elrontottad, hogy megszülettél. És most benne vagy a slamasztikában
![]()
Olvasom a felírásaidat, és azon a kérdésen vakarom a buksit, hogy vajon hol akadtál el?
Szóval kell neked egy célirányos kapcs rajz, vagy az már megvan? Tudunk tippet adni analóg és digitális elektronikai ismeretek ebook-okra, amikből tanulhatsz. Ha a kapcsrajz már okés, meg kell építeni az áramkört. Vannak elektronikai DIY fejtágítók és a legkülönfélébb termékek fejlesztői eszközökre, és alkotáshoz való munkaeszközökre. Nem olyan nehéz azt összerakni sajátkezűleg. Aztán ott van a pic adatlapja, ja igen, angol. De angolul is csak meg lehet tanulni. Le van írva a programozási menet, és a pic lehetőségei, ahogy a kijelzőnek is van adatlapja, hogyan jeleníthetsz meg rajta karaktereket, és a ps/2-nek is van leírása, hogyan fognak érkezni az adatok. Vannak nagyon jó könyvek programozási logika elsajátítására. Azután fel kell programozni a pic-et, valami programozót célszerűbb venni, mert vélhetően át fogod alakítani párszor azt a programot, kelleni fog. Vannak nagyon jó eszközök készülék dobozolásra is. Szóval hol akadtál el? Mi a kérdés?
A "pin count" tippet köszi, jól jött. Éppen buzz word-öt faragok, mert most olyanom van
![]()
Jó. Esetleg a nem annyira frappáns "minimalised pin count"? Jobban tesszük, ha a politikamentes topikba folytatjuk, mert megbúbolnak.
Gyakorlatilag ez a legegyszerűbb, ám de nem a legszebb megoldás. A while() ciklus addig pörög ameddig gomb logikai egyben tartod, vagy is le van nyomva a gomb, ha felengeded (logikai nulla esetén) azonnal tovább tud haladni. Idézet: „Egy kicsit szélesebb látókörrel talán rájönnél,” Vagy szűkebb látókörrel nem zavarna!
Ez már jobb kapcsolás a feladatodhoz. A HD44780 adatlapján megtalálhatod a parancskészletét. Gooooogle barátod megkeresi Neked a PC keyboard codes ábrákat.
A betükre már működik a program, a home egy paranccsal (Return home) megoldható. A visszatörlés már komplikáltabb. Tudnod kell hanyadik sorban hanyadik karakternél jársz. - az első sor 1. pozíciójában nem kell csinálni semmit sem, - a második sor 1. pozíciójában az első sor utolsó pozíciójára kell állni, kiírni egy betüközt és megint az első sor utolsó pozíciójára kell állni, - máshol az előző pozícióra kiírni egy betüközt és megint az előző pozícióra állni. A sorváltó csak a másik sor 1. pozíciójára áll. A hozzászólás módosítva: Ápr 5, 2017
Én inkább a memóriában tartanám az egész képernyőt, és billentyűleütésenként egy levegővel kiiratnám az egészet.
Itt már találtam egy teljes billentyűzet kódtáblát, így az már megvan, de ehhez az alap elterjedt 16×2 kijelzőhöz kell-e valamit még módosítani a programon? Az is jó lenne, ha nagybetűk + kisbetűk + számok + írásjelek működnének, meg hogyan kell kivitelezni a visszatörlést? Persze nekem az is jó lenne, ha csak az adott sorban lehetne törölni... Valamint itt van az LCD doksija és a 11. oldalon van a karaktertáblája. Szóval nincsenek ékezetek, de legalább amerikai kiosztással működjön!
A hozzászólás módosítva: Ápr 5, 2017
Hol akadtál el?
Mi az amit önállóan meg tudsz oldani?
Az , hogy ezeket hová kötöd az attól függ , hogy írod meg a programot.
De össze szeretném előbb állítani a kapcsolási rajzot, hogy véglegesíthessem az anyaglistámat, amit megrendelek! Úgyhogy kérném szépen, hogy melyik lábakra tegyem a kijelzőt és a PS/2 csatlakozót, valamint mely lábak az 5V minusz és plusz?
Végülis pont kijön a 8 bites LCD kezeléssel is:
LCD/D7..D0 - PIC/RB7..RB0, LCD/CD - PIC/RA0, LCD/E - PIC/RA1, LCD/RW - Vss PIC/RA7..RA8 - Quartz, PIC/MCLR - ellenállással Vdd -re. PS/2 CLK -PIC/RA2, PS/2 DAT - PIC/RA3 --- Úgyis kell felhúzó ellenállás. Mehet az LCD 4 bitesen is, ekkor a RB3..RB0 felszabadítható.
Az itt letölthető kódból kiindulva hány bites legyen? És milyen értékűek legyenek az ellenállások?
Idézet: „PIC/RA7..RA8 - Quartz” ![]() A hozzászólás módosítva: Ápr 5, 2017
Most nézem, hogy az LCD lábainak jelölései:
VSS, VDD, V0, RS, RW, E, D0...D7, A, K Úgyhogy nincs CD jelölésű láb! Kérlek, hogy nézd meg ezt a fotót és pontosítsd, amit írtál!
Idézet: „Az itt letölthető kódból kiindulva hány bites legyen?” Ránézel a kapcsolási rajzra a belinkel oldalon. Nini, az LCD D3..D0 kivezetése nincs bekötve... Hm .... Akkor nem mehet 8 bitesen.... Idézet: „Ezt hogy érted? tegyek oda egy külső quartzot? Ha igen, mekkorát?” Végülis a 16F88 -nak van belső órajel generátora is, így elhegyható a quartz. Idézet: „És milyen értékűek legyenek az ellenállások?” PS/2 keyboard interface A MCLR -hez jó a 4k7 .. 10k. RS (Register Select) megfelel a CD (Command/Data) -nek. A hozzászólás módosítva: Ápr 5, 2017
Tehát ha jól értem, akkor D0...D3 lábak nincsenek bekötve? Pedig a PICen simán lenne hozzá láb! És akkor nem kell külső quartz? Az jó! Viszont közben írtam, nézd kérlek át a dolog tisztázása végett!
Ugye a VDD az a 5V negatív?
![]()
Nem az a 5V, a VSS a negatív.
Itt sokmindenre fény derül ha olvasgatod kicsit. A hozzászólás módosítva: Ápr 5, 2017
|
Bejelentkezés
Hirdetés |