Fórum témák
» Több friss téma |
Fórum » PIC programozás
a táblázatodnak így gell kinézni:
adat addwf pcl,f dt "ALMA" dt "KÖRTE" a call adat hívásakor a W értéke hozzáadódik a programszámláóhoz, és visszatér az adott betűvel. Tehát értelemszerűen a w most 0-8 közé kell essen. Figyelni kell, hogy a táblázatod nem léphet át laphatárt a programmemóriában, valamint be kell állítani a pclath regiszter bitjeit is, ha nem a 0. lapon van a táblázat. Ha az adatok pl 0x180 as címtől kerülnek letárolásra akkor a szubrutin így kezdődik: bsf pclath,0 addwf pcl,f .... ....
Ja, az ilyen jellegu kerdest a KIEMELT PIC kezdoknek c. topicba kellene, mert elegge alap.
Te nem szoktal netes peldaprogramokat tanulmanyozni? Vagy tovabb mennek, szerintem a PIC adatlapban is benne van ez a pelda...
Huh ez brutál, már táblázatot tudok kezelni, ezeket már tudtam, nem tudom hogyan fogalmazzak, szal az lcd kijelzőnek ahhoz, hogy kiírja pl azt hogy "Teszt" ahhoz az lcd adatvonalaira sorban ki kell küldeni a karakterek ASCII bájtkódjait "T"-betűé (01010010') ezt adatvonalra kiküldeni majd az RS és E vonalakat ki és be kell kapcsolni, ekkor a kijelzőn megjelenik a T betű, utána kis várakozással ki kel küldeni az "e" betű bájtkódját stb stb
Tehát attól hogy szépen DT-ből behívom a W=0, val a DT be írt "T" betűt, még nem lessz magától ez a bájtkombinázió visszatéréskor a W ben, hacsak nem adom meg valahol, hogy A "T" meghívásakor, a fent említett (01010010) kerüljön a W-be, csak éppen ezt nem tudom hogy hogy adjam meg hogy mikor a W=0, val meghívom a "T"-t akkor a W-ben 01010010 legyen... Egyébként köszönöm a az eddigi tanácsokat, és fáradságot
A DT az nem egy rutin!
Az csak annyit csinal, hogy egyszerusiti a dolgodat. Nem kell minden alkalommal betunkent eljatszani, azt, hogy beteszed es visszatersz. Ha visszaforditod a programodat, akkor latod is, amit odatett. Javaslom, de akar forditas kozben is latod vagy a vegen a listat ha megnezed.... Tehat csak egy specialis modon elhelyezi az adott teruletre az adatodat. Az, hogy te ezzel mihez kezdesz, az mar rajtad mulik.
Látom nehezen érted meg.
A DT a fordítónak szóló utasítás, direktíva. Segítségével 8 bites adatok, köztük ASCII szabvány szerint kódolt karakterek és karakterláncok helyezhetők el a mikrovezérlő programmemóriájában úgy, hogy minden 8-bites érték egy-egy RETLW utasításban lesz elhelyezve. Idézet: „még nem lessz magától ez a bájtkombinázió visszatéréskor a W ben” De, benne lesz. A DT-n kívül vannak még más adat direktívák is. Bővebben: Link
Na köszönöm szépen, ezt nem tudtam. Mostmár világos, nem tudtam hogy a fordító alapból tudja a karakterek kódjait.
Sziasztok. Nem tudtam konkrétan melyik témához írjam, de megpróbálom ide. Szóval: van egy nec 78f9177es epromom. Fogalmam sincs arról hogy ez konkrétan AVR vagy PIC. Azt szeretném megtudni, hogy a datasheetjében le vannak írva a lábkiosztások, és engem a RESET lába érdekelne. Tehát elsősorban azt, hogy hogyan lehet leresetelni? és hogy a reset kitörli-e a memóriáját, vagy csak a rajta lévő programot állítja vissza? Ha pedig letörli, akkor pedig milyen programozóval tudom beleégetni a programot?(mert megvan a hozzá tartozó program.) Előre is köszönöm. Másik témához is odaírtam. Elnézést kérek, de nem tudtam hogyan lehetne ide átrakni.
Az uPD 78f9177 se nem PIC, se nem AVR, hanem egy NEC által gyártott 8 bites mikrokontroller: Adatlap
A RESET nem törli a belső memóriákat, főleg nem a program memóriát. A megadott típusok Flash EEPRom -mal rendelkeznek, amit csak a programozóval lehet törölni vagy módosítani. Sajnos az adatlap nem részletezi a programozás mikéntjét. A Flashpro III programozót ajánlják hozzá. Adatlap
Köszönöm szépen a válaszodat. Akkor már csak egy kérdésem lenne. A lényeg az, hogy nem is akarom, hogy a rajta lévő program megváltozzon, tehát csak le szeretném resetelni. Az a kérdés még: hogy mivel a rajzon láttam, hogy a RESET lába felül van húzva, ezért elbizonytalanodtam, abban,hogy akkor resetelődik le, ha +5V-ot adok rá, vagy pont akkor ha elveszem a rajta lévő fix +5V-ot. Mivel ugye digitális elektronikában a felülhúzás ugye a negálást jelenti, és nem tudom hogy a resethez magas, vagy alacsony jelszint kell.
Azért kell felhúzni, hogy ne maradjon RESET-ben. Akkor resetelődik, amikor lehúzod. A felhúzás többnyire egy 10 kohm nagságrendű ellenállással történik, a lehúzás pedig nyomógombbal a föld felé, vagy nyitott kollektoros/nyitott nyelőelektródás tranzisztorral, stb.
Köszönöm szépen a segítséget. így már értem.
Sziasztok! Nemrég írtam hogy elkezdtem tervezni, egy saját "különbejáratú" fejlesztő környezetet 16F877A kontrollernek. Nos elkészültem vele, és ha nem követek el szabálytalanságot, feltenném megmutatni, ha esetleg van kritika, vélemény örömmel fogadom. Előre bocsájtanám, hogy az áramkörben a külső epromot és a soros kommunikációt, nem teszteltem, de a potikat,kapcsolókat, ledeket, kijelzőt és a plusz kivezetett portokat igen, tehát kis bátorsággal működőképesnek mondható. A pic alatt található alkatrészek a fotókon nem látszanak, amint látjátok, nem akartam esetleges kontakthibékat okozni, azzal hogy ki-be teszegetem, mellesleg az ICSP programozás is tökéletesen működik, csak ehhez a jumpereket el kell távolítani. Nagyjából ennyi Üdv!
üdv mindenkinek érdeklődnék hogy nekem van 1 pic16f84em és 1 órát szeretnék vele működtetni már 4égeteőt építettem mind a 4 valmien oknál fogva más más hiba üzenetek kirtása után erroert írt ki szóval nem müködött nekm 1 ojan égető kellene ami 1 kész hex formátumot 1 ic prog nevű progival bele tudnám égetnia picbe a válaszokat és a segítcségeket előre is köszönöm
Szia!
ez egyszerű, és jó!
A 74(LS)05 nem jó bele! Csak a 74(LS)07 vagy 74(LS)06.
Sziasztok. Még csak most kezdek ismerkedni pic programozással. Assemblyben kezdtem el programozni. Megszakítások meg ilyenek már mennek. Engem az érdekelne (lehet hogy hülye kérdés) de hogyan lehet assemblyben szorozni illetve osztani?
APiclisten sok mintapeldat talalhatsz, koztuk szorzo rutinokat is.
Köszi. Megnéztem. Nem rossz. De ezek ha jól látom akkor főleg 18F-esekhez való. Én 16F-eseket használok. Ahhoz is tudsz ilyet?
mi kellene? 8bit x 8bit, vagy 16 x 8 bit, vagy 16x 16 bit?
ülj le vegyél elő ceruzát, a két számot írd le 2-es számrendszerben, és szorozd össze. Egyből rájössz, hogyan kell leprogramozni. Osztás is hasonló. Ha elakadsz keress meg priviben. üdv. Foxi
Leírtam papírra. Nagyából értem. De mi van ha túllépem a 8 bi-et? akkor a számot kettő változóban kell tárolnom? Az egyikben az első 8-at a másikban a másik 8 bit-et?
Nem igen van ott 18F-es program. A java resze 16F-re van irva. Soot meg a 16C54-re is.
Szia!
Programok a megadott linkről: - 24 bit / 16 bites osztás:
- 24 bit * 24 bit (48 bites eredmény)
Ezek a programok egyszerűen átalakíthatók más szóhozzúságra ... Ha még azt is figyelembe vesszük, hogy a 18F, 16F1xxx kontrollereken van addwfc, subwfb utasítás, akkor a rutinok tovább egszerűsíthetők...
Üdv mindenki.
Egy kis segítségre lenne szükségem, egy program átírásában. Lényeg hogy nem külső kvarcot akarok használni egy PIC16F627-esnél hanem a belsőt. Itt a link a kapcsoláshoz ha lényeges. (A program is a linken megtalálható de azért feltöltöm). Köszi előre is a segítséget.
Szia!
Egyszerűbb lenne az óra quartz -ot beletenni, mint a programoz átírni...
De pont ilyet nem találok, és nem szeretnék rendelni. Van még 4MHz-es ha arra át lehet irni.
A kvarcórákban általában ez a kvarc van tapasztalataim alapján, próbálj ki egyet-kettőt, mert átírni azért nem 5 perc még egy gyakorlott programozónak sem ( meg kell érteni az eredeti programot, hogy tudja mihez nyúljon hozzá és nincs is meg a forráskód --> még borzasztóbb :no: ! ).
Steve
Ez a program azért van 32768 .. kavicsra írva ,mert ez a szám a 2 hatványa és így nagyon leegyszerűsödött a program megírása . Az 1 s os időalap egyszerű osztással megoldhatóvá vált a programmal . A 4 Mhz -ből sokkal bonyolultabb modon lehet csak pontos 1Hz -s időalapot kihozni . Én szívem szerint szívesebben írnék új programot minthogy egy kész programot bogarásszak
Egyébként egy kvarc 200ft , menj és vegyél vagy keress a padláson egy régi kvarcórát és vedd ki belőle ......
Órakvarc
Az átírás legalább egy napot elvenne egy programozótól...
Ezt gondolom nem nekem akartad írni !?
Steve |
Bejelentkezés
Hirdetés |