Fórum témák
» Több friss téma |
Igen értem. Köszi mindenkinek a türelmet és a segítséget. Nincs probléma, csak Trudnai írta a 2,5V ref feszt, ami nem annyi, hanem 3,2 .......amit írtam is késöbb.Még az ADRESH-ADRESL-be vagyok belekeveredve un. mint a CCP modulnál a CCPRH-CCPRL-el. Lehet,hogy nem tudok 16 bitben gondolkodni, de ez már az Én gondom.
Mégegyszer köszi mindenkinek.
Pedig csak a számrendszereket és a helyiérték fogalmát kell megértened. Két 8 bites értékből úgy számolod ki a valós értéket, hogy H*256+L. Ez a 256-os számrendszernek felel meg.
Nézd meg azt is, hogy felfelé számláláskor, amikor az L túlcsordul, (amit a C bit jelez a STATUS regiszterben), egyel növelni kell a H-t, miután egy helyiértéken 255-ig lehet számot megjeleníteni, ezért a 256 már a következő helyiérték 1-el való növelésével jár, és az L helyiérték nullázódik(azaz túlcsordul). Összeadásnál először az L értékeket kell összeadni, majd a H-kat, de ha túlcsorulás volt az L-en, akkor a H-t még 1-el növelni kell. Nézz fel az oldalamra van néhány matematikai alap rutin!
Köszi Watt, kezd érthetöbbé válni az egész PIC programozás. Még a 80'-as évek végén, egy TVC-n (Videoton Computer) tanultam ASM-ben és Basic nyelven programozni több kevesebb sikerrel,de az valahogy más volt.Valahogy a "Hofmanné Boskovitz Éva" máshogy írta az egésszet, (vagy már akkor se figyeltem oda rendesen) lehet, hogy ezért nem értem meg első nekifutásra, mert az ott leírtak járnak az eszembe.(Az pedig igazából a Z80-ra vonatkozik.)
Amúgy sokat olvasom a honlapodat, csak gratulálni tudok hozzá. Mégegyszer kösz a segítséget.
Én is Z80-at programoztam először asm-ben. Nem sok elvi különbség van a dolog között, csak a PIC más architektúrájú, amit figyelembe kell venni. Lényeg, hogy ne add fel, és ne hagyd, hogy elmenjen a kedved egy nehezebben emészthető résznél.
Nem szoktam feladni ha nemsikerül valami, csak a tanulás megy nehezen.(kivülálló dolgok miatt.) De az nem ide tartozik.
Köszönöm.
Üdvözlök mindenkit.
Egy kis segítséget szeretnék kérni. Van egy program, amely egyesével kapcsol 8 kimenetet (PORTA). Vagyis 8gomb 8 kimenet. Azt szeretném, hogy a kimeneteken binárisan kódolva jelenjenek meg gombok számai. A 73. sorról van szó. Remélem érthető voltam. Előre is köszönöm. Üdv:ipijani count3 btfss action,7 ;62 new action goto t3a ;63 no movf action,w ;64 andlw B'00000111' ;65 mask xorlw B'00000010' ;66 is it output 2a? btfss STATUS,Zbit ;67 yes goto t3b ;68 btfss CV514a,2 ;69 is this bit enabled? goto t3c ;70 no btfss action,3 ;71 on or off goto off3 ;72 bsf PORTA,2 ;73 F2a on bcf PORTA,3 ; ********* clrf tick1 ;74 clrf time3 ;75 start timer bcf action,7 ;76 action done goto ret4 ;77 ********* off3 bcf PORTA,2 ;74 F2a off bcf action,7 ;75 goto ret6 ;76 t3a nop ;65 nop ;66 nop ;67 nop ;68 nop ;69 t3b nop ;70 nop ;71 t3c movlw 3 ;72 get CV516 time on movwf EEARD ;73 bsf f0,rd ;74 movf EEDATA,w ;75 btfsc STATUS,Zbit ;76 if zero then always on goto ret5 ;77 subwf time3,w ;78 compare time btfsc STATUS,Carry ;79 bcf PORTA,2 ;80 time out so put off goto ret2 Ez emészthetetlen így ebben a formában! Töltsd föl az asm fájlt!
A korábban írtaktól kicsit bonyolultabb a dolog, de próbáltam csak a problémára koncentrálni.
Valójában ez egy digitális digitális vasút váltó dekódere. üdv:
Sziasztok!
Szeretném megtudni, hogy mit nem vettem figyelembe, azzal kapcsolatban, hogy az asm-be létrehozott programom végén feltüntetett eeprom adatok, a lefordításkor miért csak 0x1A -ig jelennek meg a hex -ben? Csatolom a fájlt. Köszi a segítséget!
Szia!
Próbáld meg több sorban. Csak az első elé kell az org, a többit folyamatosan helyezi el az adat EEProm memóriában..
Lenne egy kérdésem a hozzáértőkhöz.
Egy PIC18F4550 sériaszámát lehet e clónozni egy másikba? Vagyis, átírható e valahogy?
Szia!
Itt egy minta, nekem ezzel működik: org 0x2100 ;EEPROM "alap" dt" Hetfo &0?V" dt" Kedd &0?V" dt" Szerda &0?V" dt"Csutort. &0?V" dt" Pentek &0?V" dt"Szombat &0?V" dt"Vasárnap &0?V" end
Melyik számra gondolsz konkrétan?
Mert van olyan hogy PIC azonosító(Device ID Word), ami minden 18F4550-nél egyforma(nem lehet átírni, de minek is kéne!) Aztán van olyan, hogy USer ID, azt szabadon lehet módosítani, 8 bájt méretű. Vagy netán egy USB-s alkalmazásra gondolsz, aminek semmi köze a 18F4550 "szériaszámához"?
Sziasztok!
Jó lett ezzel a megoldással: Idézet: „org 0x2100 ; eeprom adat dt h'FF', h'15', h'1E', h'04', h'04', h'04', h'04', h'00' dt h'1F', h'13', h'1E', h'12', h'1E', h'13', h'1F', h'00' end” Köszönöm szépen!
Sziasztok!
Szeretnék építeni egy PIC-es fénykövetőt. Ezalapján (csak PIC-kel):Leírás A kérdésem az lenne, hogy a csatolt kapcsrajz megfelelő -e? Minden irányba nézne egy fotoellenállás. Ezek lehetnek közös fényérzékenység-álító potméteren? Az értékek megfelelőek?
Ja és még valami:
Fotodiódákkal is meg lehet csinálni valami hasonlót? Úgy hogy a diódák egyik végét Gnd-re, a másikat a PIC bemenetekre kötöm? Ha jól tudom, minél nagyob a fény, annál több áramot termelnek. Ezeket is be lehet olvasni analóg bemenetként? Ez a fotodióda használható fényérzékelésre? Hullámhossz: 900nm. Ez beleesik a napfény, és a lámpák hullámhosszába? Bővebben: Link Melyik a jobb, az átlátszó, vagy a szűrős (sötétített) lencséjű?
Szia!
Ha vezetékkel összekötöd a mérendő A/D bemeneti pontokat, akkor minden bemeneten ugyan azt az értéket fogod mérni... Külön ellenállás / potenciométer kell nekik, hogy az irányt is meg tudd állapítani..
Köszi! Igen, valahogy nem volt kerek a dolog...
És mi a véleményed erről? (fotodiódás) Alkalmas annak megállapítására, hogy melyik oldalon a legerősebb a fény? (PIC-kel együtt természetesen.) Ha igen, hogy kell csatlakoztatnom a PIC-hez? A zöld a Gnd, azt rákötöm Vss-re. A többit csak úgy kössem a PIC bemeneteire, vagy kell még más is?
Szia!
Fotodióda: Az átlátszó tokozású használható a látható fényre is, a sötétített tokozású az infravörös tartományra hasunálható. A 4 irány fotoérzékelője saját ellenállással alkosson 4 független feszültség osztót, mind a 4 osztási pont menjen egy-egy A/D bemenetre. A 4 bemenetet egymás után kiválasztva, a feszültséget digitális formára alakítva már össze fogod tudni hasonlítani. A legnagyobb érték a legvilágosabb irányt jelenti, ha a foto érzékelő a +5V felöl van az osztókban. Ha van egy 5. A/D csatorna, arra lehet kötni egy potenciométert, azzal lehet egy minimális fényességet beállítani - ezt az 5. csatornát is ki kell időnként választani, átalakítani, tárolni. A többi adatát csak akkor kiértékelni, ha meghaladja az 5. -en mért értéket... A határ értéket lehet digitálisan is eljuttatni a kontrollerbe: usart, spi, I2C felületen keresztül...
Hali!
Értem, mire gondolsz, de kíváncsi lennék, hogy ez így is jó -e, és ha nem, miért nem? A fotodióda fény hatására termel valamekkora feszültséget. Nem lehet ezalapján kiválasztani a legnagyobbat? Ezesetben maradhat a közös poti nem? Mindegyik kivezetés más mértékben fog eltérni Gnd-hez képest. Vagy rosszul gondolom?
A fotodiódát záróirányban kell bekötni! Fény hatására a dióda visszárama nő meg,amit a vele sorba kötött ellenálláson tudsz mérni.
Szia! Lerajzoltam. Így gondoltad?
Melyiket célszerűbb használni fénykövető robothoz a fotodióda és a fotoellenállás közül?
Végül egy egyszerűbb fotoellenállásos megoldás mellett döntöttem, mert találtam itthon két LDR-t.
Elkezdtem az építést. A motorokat már megrendeltem. A képeken a robot "feje" látható. Szenzorok + PIC + tápcsati + "köldökzsinór" (icsp). A következő lépés a H-híd lesz, meg a Mi a véleményetek, eddig jó? Az RA0, RA1 ugye tud analóg bemenet lenni PIC16F627-nél?
A 627-ben nincs A/D csak comparátor. Olvasd el az adatlapját mi van benne!
Hali!
A komparátor használatáról hol olvashatok? [Az adatlapon is megnézem, de jó volna valami gyakorlati példa is.] Egy ilyen témájú fórumtopicban belinkelt oldal már nem található: Bővebben: Link Rákerestem, és ha jól értem, a komparátor összehasonlít két feszültséget, és ezalapján generál jelet egy digitális kimeneti porton. (Lehet, hogy hülyeséget mondok, de ez még egyszerűbbnek tűnik, mint átkonvertálni az értékeket + összehasonlítani.)
A komparátorról a megfelelő analog irodalmakban olvashatsz. Ugyanilyen van a PIC-ben is. Jól gondolod, egy beállított feszültségnél átbillen a kimenete. Az adatlapban olvashatod a lehetőségeit, beállításait (9. fejezet, 9-2-es ábrán jól megérthető a működése is.).
Találtam még ezt is:
Bővebben: Link Bár nemigazán értem, hogy ez hogy kapcsolódik az összehasonlításhoz... Átnéztem a belinkelt kódot. Ez nekem jó is lesz, csak át kell állítanom, hogy ne RA2-t hasonlítsa össze RA1-el, hanem RA0-át RA1-el. És a kimenetet ne az RB0-ra rakja, hanem RB7-re. Itt átírtam RB7-re:
A bemeneteket itt állítom be?
Most nézem, hogy RA0 - RA1 nem fog menni:
Bővebben: Link Csak RA1-RA2 vagy RA0-RA3. Akkor inkább átkötöm az áramkörömet, és megpróbálom használni az eredeti kódot... |
Bejelentkezés
Hirdetés |