Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
van itthon belőle 3 db... de ha van olyan alternatívád ami olcsó és a célnak tökéletesen megfelel, de a leg fontosabb inkább az lenne hogy ASM ben szeretnék látni/írni stack ot... és nem szeretnék külső perifériát használni (nehéz dolog elismerem, de szeretem a kihívásokat).
ui.: rájöttem hogy az ASM nél nincsen gépibb gépi kód.
A három 627-re sem férne rá szerintem. ASM-ben pedig eleve kilátástalan, hogy meg tudod írni.
Nézzd meg a 18F97J60 családot. Vannak kisebb lábszámúak is, én most pl. egy 87J60-al küdök, ami 80 lábú, de van 64 lábas is, talán kicsit könnyebb forrasztani, bár ez mindegy, mert a 100lábút se nehéz, ha van jó Fluxod...
Mi a különbség a trisx és a portx között?
most akkor pl. a ra0-át, hogy állítom kimenetre? mit csinál ez?ez kell? MOVLW 0x06 MOVWF ADCON1
A TRISx regiszterek az adatáramlás irányát szabják meg (amelyik bit 1, az Input, amelyuk 0, az pedig Output).
A PORTx regiszterek írása a port kimeneti adatregisztert állítja be, olvasása pedig a bemenet állapotát adja meg.
Sziasztok!
PIC16F887-et programozok és egy kis problémám van a PWM-mel. Ha a kitöltési tényezőt nullára állítom akkor logikai 1 jelenik meg a kimeneten, ha 100%-ra akkor 0V van a lábon. Nem fordítva kellene lenni?
Itt az első programom , szerintetek jól van megírva?
PIC16f690-re írtam azt szeretném, hogy a pic köröl legyen futó fény. Mindenhová irtam komentet, így legalább azt lehet tudni mit szerettem volna. 16d690 adatlap
Szia!
- Hiányzik a CBLOCK lezáráse, az ENDC, - A STATUS és más regiszterek bitjeit írt inkább szimbólikusan: pl STATUS,5 helyett STATUS,RP0 - Az RLF a STATUS C bitjét lépteti be a regiszterbe, az utasítás előtt be kellene állítani: BSF STATUS,C - Az utasításoknál meg kellene adni, hogy hol képződjön az eredmény. Ugyan itt nem okoz gondot a default f azaz field, de jobb rászokni. pl: RLF PORTA,f, decfsz T1,f Állítsd be az MPLAB SIM -et szimulátorként, fordítsd újra, és lépésenként haladva megnézheted mi történik a kontrollerben...
Szia!
Mutasd meg azt a néhány sort, ami beállítja a PWM kitöltését és az inicializálását. Nevezd meg a pontot is ahol mész, jó lenne valami kapcsolási részlet is.
kapcsolás nincs, közvetlenül a lábon mérek a szkóppal
minden egzes forgatás elött álicsam status c-t 1-re
? Vagy csak az adott regiszter első forgatása elött?
Szia!
Minden RLF az aktuális C bitet lépteti be. Ha igazolni tudod, hogy az RLF végrehajtása előtt a C bit értéke 1, akkor nem kell újra beállítani. A port regiszterek felső bitjeit olvasva néha 0 -t kapunk... Ezért ajánlottam a szimulátort..
Szia!
A 2. sor felesleges, a 6. pedig elrontja a 3. beállítását. Az 5. sor aktív alacsony szintet állít be a PWM kimeneteknek, tehát 0 kitöltés 5V lesz.
Tehát akkor rlf b"0100 0000" nem mindig egyenlő b"1000 0000"-val? és 100 0000-ból 0000 0000 lesz ha a C 0, a C-ből pedig egy?
Szia!
A 16F690 esetén: - A PORTA 7. és 6. bitje olvasáskor 0 -t ad, - A PORTB 3. és 0. bitje olvasáskor 0 -t ad, - A PORTC mindeegyik bitje olvasható. Ha STATUS,C a következő utasítások előtt 1, az RLF PORTA,f ; elerdénye a PORTA = 0011 1110 esetén: PORTA = 0011 1101 lesz, a C értéke pedig 0. az RLF PORTB,f ; elerdénye a PORTB = 0011 0000 esetén: PORTA = 0110 0000 lesz, a C értéke pedig 0. az RLF PORTC,f ; elerdénye a PORTC = 1010 1010 esetén: PORTA = 0101 0101 lesz, a C értéke pedig 1. Használd a szimulátort.
A 6. sor figyelmetlenség volt. De nem értem az adatlapon, hogy mi a P1A, P1B... Én nem ezeket használom, hanem a CCP1 és CCP2 lábakat. Átírtam a CCP1CON regisztert 0X0C-re és jó, de nem tudom a pontos okát.
Szia!
A CCPCON1:7..6 bitjei mondják meg, melyik kimenet(ek)et használja a modul. Ha ez 00, akkor csak a P1A azaz CCP1OUT lábat használja. A CCP1CON:3..0 állítja be a modul funkcióját: 1100 - PWM aktív magas kimenet(ek) 1111 - PWM aktív alacsony kimenet(ek).
Megvaaan
Köszönöm szépen a válaszokat. De akkor az aktív szintet csak a CCP1 esetében tudom változtatni? A CCP2 esetén ezek szerint nem is lehet?
segítségeteket szeretném kérniakövetkező problémámban.Adott a 2lábon járó LCD cikk programja amely HITech forditóban akar csak müködni.Elkezdtem átirni CCS forditóra hogy müködjön, de a következőt visitja CCS:
Idézet: „Error:Attempt to create a pointer to a constant” a forrás pedig a következő:
Tudnátok segíteni a probléma megtalálásában? Vagy nem írta már át valaki véletlenül ezt a "2 lábon járó LCD-t" CCS fordítóra?
Na akkor ez már jó?
A szimulátort nem értem, hogy működik (mplab sim), el tudná valaki magyarázni?
Hali. Megkérhetnék valakit, aki megír egy rövidke egyszerű progit 12f629-be? Mára szükségem lenne rá, viszont én nem tudok programozni.
Szia!
A szimulátor a pic teljes viselkedését (néha van egy két kivétel: SPI, I2C stb) szimulálja. A programodat lépésenként futtathatod, töréspontokat helyezhetsz el benne, futtathatod a töréspontokig ill. folyamatosan. Ha megállítod, a kontroller belső állapotát megnézheted. Gerjesztő jeleket lehet definiálni, és megnézni, hogy a program jól válaszol a jelekre. A kimenetek értékét grafikonnal (logikai analizátos szerűen) vagy táblázatosan is vizsgálhatod. stb. A programban válaszd ki a MPLAB SIM -et, fordítsd újra a projectet. F7 -tel lépésenként halad a program végrehajtásában. A változóidat a Watch ablakban kisérheted figyelemmel (név szeint add a litához)... Ne várd el, hogy más nézze végig...
Sziasztok
Egy olyan kérdéssel fordulnék hozzátok, hogy szeretném megépíteni a Vicsys féle TOO berendezést, amit a 12F629 PIC vezérel. A gondom az lenne, hogy ezt a fajta Pic-et én nem tudom égetni a pickit 2 klón "szilva" féle égetőmmel ( valami OSCCAL gondja van mindíg). Kérdésem az lenne hogy 12F683-al vajon működhetne a kapcsolás? A válaszokat előre is nagyon köszönöm. Sziasztok
Szia!
Nekem is klónom van és nincs baja a 629-el... biztos minden érintkezik, aminek kell?
Szia
Az érintkezésekkel nincs gond. Már sok Picet égettem vele. Csak a 12F629-et nem szereti.
Elképzelhető az is.
Majd veszek egy másikat és kipróbálom. Köszi a gyors segítséget! |
Bejelentkezés
Hirdetés |