Fórum témák
» Több friss téma |
Idézet: Én mondtam, hogy az elérhető legnagyobbat vedd meg! „eszembe jutott(ak) a bovites lehetseges modjai.”
280Ft/db szoval nem gaz. Csak az elmelet volt erdekes es kerdeses szamomra. Nincs szuksegem most nagyobbra.
Köszi a kiigazítást. Még szoknom kell ezeket a rövidítéseket. Itt látszik mennyire kezdő vagyok.
segít nekem valaki értelmezni a következő kódot? i miért nem 1000-től indul, miért 35-től?
mellékelem a delayUS-t is:
itt ha jól értem akkor a NOP egy utasítási ciklusban telik le, így ha 8MHz-en megy a pic, akkor ez pont eleget vár. viszont a ciklusban a számolgatás (--) nem rontja ezt el? A hozzászólás módosítva: Ápr 16, 2014
Idézet: Nyilván azért, mert az 1000 ciklus túl sokáig tartana. „miért nem 1000-től indul, miért 35-től?” Idézet: Szerintem meg túl sokat vár. A ciklusszervezés idejét, meg a léptetést is bele kell számítani. „ha 8MHz-en megy a pic, akkor ez pont eleget vár”
Szerintem ezt a kódot valaki magának állította be így, nincs jelentősége.
Annyira állítod a 35-ős ciklust amennyi idő neked kell a késeltetés miatt. De ez csak az én gondolat menetem...
ezt kérdeztem magam is hogy a ciklusozgatás nem teszi-e tönkre...
de jómagam ezt egy dokumentációban láttam (37. oldal) és próbálom értelmezni a mintakódot, de ilyesmi nehézségekbe ütközök... a legnagyobb vicc, hogy a vevőben a delayus 1000 db NOP()-ot csinál... (42.oldal legalja) most tényleg nem érthetek valamit... (mondjuk az ottani kristály 10MHz-es, de miért hívna valaki DelayMS-nem egy fv-t ami nem ms-ot késleltet? ) A hozzászólás módosítva: Ápr 16, 2014
Sziasztok!
12F683-at használok és abba a problémába ütköztem, hogy a GP4 lábat nem tudom digitális bemenetként használni. A GP3, vagy a GP5-öt próbálva gond nélkül sikerül, de a GP4 valamiért nem megy. Mit kell tenni, ahhoz, hogy ezt a lábat is használhassam bemenetként? Miben különbözik ez a többi lábtól? Ha semmiben, akkor nyilván én bénázok el valamit. Köszi előre is, ha valaki segít! Ide teszek egy részletet, itt a GP5 bemenet, a többi mind kimenet. Ez jelenleg működik:
Üdv!
A "BANKSEL ANSEL" után az adatlap szerint még kell egy "CLRF ANSEL" is. A hozzászólás módosítva: Ápr 16, 2014
Hello
Egy 16F887 chippel csináltam egy időzítő áramkört. Az A0 analóg bemenetre kapott megfelelő érték esetén a D7 es kimenet vezérlés alá kerül és egy tranzisztoron keresztül meghúz a relé. 1 perces időzítést programoztam a csipbe, szóval 1 perc után a relének elkéne engednie mivel a D7 kimeneten megszűnik a kimeneti jel. Az a problémám, hogy a D7 es kimenet nullába válltása után is tartja a relé az állapotát. Lemértem és a relén marad nagyábol 4- 5 V feszültség ami miatt gondolom nem ugrik vissza. Tömören a probléma, hogy a relé behúz, de vissza már nem enged. A megszokott kapcsolást használtam amit michrochipp és reléknél szokás hasnálni. Talán a tranzisztor miatt lehetséges a hiba???
Egy kép többet mond száz szónál. Kapcsolási rajzot mutass.
Ó, tényleg! Mit össze szöszöltem, hogy hol a hiba, de nem találtam pedig az adatlap alapján csináltam, csak hát az a sor kimaradt, aztán már nem tűnt fel...
Nagyon köszönöm, most már működik úgy, ahogy szeretném! ![]()
Watchdog miatt újraindul, a bemenet megfelelő értékű, a relé bekapcsol...
Uraim, segítséget szeretnék kérni alfanumerikus 4x4-es keypad programjának megírásához c18, c nyelven.
Angol ABC és 0-9-ig számok lennének kb mint a telefonnál vagy hasonlóan gondoltam kivitelezni. Tudtok segíteni elméletben vagy akár gyakorlatban? Hogyan lehet ezt legegyszerűbben megírni? P18F4550-es PIC-em van. Minden ötletet szívesen fogadok. Köszi...
A sima 16gomb kezelésére írtam ezt a programot, talán ebből tovább lehetne gondolni csak nem tudom, hogy miként kellene tovább írnom..
Gondolom itt már kellene timer-eket vagy interrupt-ot beleírnom. Ötletek?
Ezt gondolom tovább
Üdv. van egy easypic v7 panelom egy pic30f4013-massal. Van hozzá glcd kijelzőm, de sajna nem tudok kiiratni rá. Valami ötlet? Segítsetek Pls.
![]() // Lcd module connections sbit LCD_RS at RF0_bit; sbit LCD_EN at RF4_bit; sbit LCD_D4 at RD0_bit; sbit LCD_D5 at RD1_bit; sbit LCD_D6 at RD2_bit; sbit LCD_D7 at RD3_bit; sbit LCD_RS_Direction at TRISF0_bit; sbit LCD_EN_Direction at TRISF4_bit; sbit LCD_D4_Direction at TRISD0_bit; sbit LCD_D5_Direction at TRISD1_bit; sbit LCD_D6_Direction at TRISD2_bit; sbit LCD_D7_Direction at TRISD3_bit; // End Lcd module connections void main() { Lcd_Init(); // Write text "Hello!" on Lcd starting from row 1, column 3: Lcd_Out(1, 3, "Hello world!"); }
Ha nem az alfanumerikus kijelzőhöz való LCD_akármi függvényeket hívogatnád, több esélyed lenne...
![]() Én ebben a könyvben nézném meg a mintapéldákat. A 3. mintapélda pont a GLCD kijelzővel foglalkozik, s egy Glcd_Init() függvényhívással kezdődik. Ebből gondolom, hogy az LCD_Init() a programodban eleve félrevitte a dolgokat.
Helló ! Egy kísérleti négyszöggenerátort készítettem 16F628-cal (ezt találtam itthon). A programkódot a mikroelektronika cég mikropascaljában véstem. A lényege az lenne, hogy a Timer1 interruptot használom fel a négyszöggenerálásra. Ez a kis progi egy szimulátor programban (Proteus) kifogástalanul működik, de amint a 16F628-amba beleteszem, azzal egyáltalán nem működik (máskülönben ugyanaz a 16F628 kifogástalan). Kérdésem az lenne, hogy a 16F628 program Timer1 interruptja miért nem működik ? Köszi a segítséget.
A hozzászólás módosítva: Ápr 19, 2014
Persze. Nem ilyesmivel van baj. A kódban van egy sor, ami egy tömbből veszi az adatokat a PORTB-ről beolvasott értéknek megfelelően. A hardverben a PORTB-n van egy kapcsolósor, amiről a kapcsolóállásoknak megfelelően 2 hatványainak megfelelően olvas be adatokat a rendszer. Elméletben. A baj az, hogy SEMMIT nem olvas be a PORTB-ről az interrupt kezelő eljárás. A kérdésem: hogy miért nem ? Mit szúrtam el a programban ?
A kapcsolósor normálisan fel van húzva áganként 1k-val a tápra. Belső pullupokat nem használok. A kapcsoló úgy van beállítva, hogy alapesetben minden PORTB lábat lowra állít. A hozzászólás módosítva: Ápr 19, 2014
A portb lábain van felhúzóellenállás? A belső felhúzó ellenállások engedélyezettek?
Nem használom a belső pullupokat, mert valahol azt olvastam róluk, hogy nagy a szivárgóáramuk. Külső ellenállásokat használok. De időközben rájöttem a problémára is: fordított logika szerint gondolkodtam. A progi működik szépen.
A hiba a hardverben volt, mégpedig a következő: zongora típusú mikrokapcsolókat használok az egyes négyszögfrekvenciák kapcsolgatására. A zongora mikrokapcsolóimnak a "normális" állása (a vízszintes állás) az a szétkapcsolt állás (a mikrokontroller aktuális kivezetéséről nézve high), a lenyomott állás pedig a rövidzár (low állás). Miközben ide véstem a választ a kérdésre, az egyik mondatnál eszembe jutott, hogy a mikrokapcsoló állások lehetnek a ludasak. Azóta kimértem és valóban azok a ludasak. Köszi a kérdéseket ! Közben jöttem rá a megoldásra. ![]()
Sziasztok!
PIC16f628A esetében milyen beállításokat kell használnom, hogy bemenetként tudjam használni az RA6 és RA7 portokat? Minden más kimenet lenne.
Igy:
A config beállításokkal volt a gond, sikerült megoldani
A hozzászólás módosítva: Ápr 19, 2014
Abban tudsz esetleg segíteni, hogy hogyan tudom a pic memóriáját írni és olvasni?
16F628 lenne, egy számot akarok eltárolni benne és fontos lenne hogy ki-be kapcsolás után ki tudjam olvasni. Ja és c nyelven megoldható? A hozzászólás módosítva: Ápr 19, 2014
Az EEProm kezelése olvasjató az adatlapjában. Bővebben: Link
Ohhhh, szuper.
Köszönöm szépen!!!
Üdv. Nekem nem sikerül hex-et generálni, meg nézné valaki?
|
Bejelentkezés
Hirdetés |