Fórum témák
» Több friss téma |
Idézet: „Tehát a BSR beállításával kiválasztom a mem lapot BCF BSR,0 ; (BCF STATUS,0) BCF BSR,1 ;(BSF STATUS,1)” Ez így teljesen felesleges, helyette itt a rövidebb megoldás
De ennél egyszerűbb, olvashatóbb megoldás is van:
Idézet: „vagy be kell tölteni a reg címét? MOVLW Ox08E MOVWF ? z.” Ezt nem is értem. Mintapélda pl. az adatlapban az AD beállítása: Example 16-1. A hozzászólás módosítva: Dec 1, 2015
Sziasztok!
16 bites számot szeretnék karakteres LCD-n megjeleníteni. Innen válogattam rutinokat, de nem igazán értem és nem is akarnak működni. Van valakinek ötlete?
Nem egészen értem a problémádat. A 16 bites szám karakterekre bontásával, vagy a kijelző meghajtásával van gondod?
Tulajdonképpen igen. Gondom nem biztos, hogy lenne vele, csak gyorsan túl akartam lenni rajta.
![]()
Ezt Hp41C tette fel a kérésemre:Bővebben: Link
A kijelző meghajtására pedig ezt ajánlom:Bővebben: Link De ha sürgős, holnap küldök mintapéldát. A hozzászólás módosítva: Dec 4, 2015
Megírhatod magad is. 16 bit max 65535 értéket tárolhat unsigned esetén.
10.000 1.000 100 10 ezeket a számokat kell szép sorban kivonogatni az eredeti szánból, és hamar összáll az 5 digit. megnézed, hányszor kell kivonogatni a 10.000-et amíg lehet. a maradékból 1000-et stb. Az elkészült 5 digithez hozzáadsz 48-at és megvan az LCD-re az öt szám.
Bocsi!
Nem cserélte le a telefonom a vágólap tartalmát, én meg nem ellenőríztem. Remélem, most jó lessz. Bővebben: Link A hozzászólás módosítva: Dec 4, 2015
Ez borzasztó! Talán így.
Ezen topic 9. Oldal, 4. Hozzászólás.
A 16 bites bináris, ASCII kóddá alakításánál.
Én először BCD-re alakítom, aztán ASCII-vá. Pl.:
Egy gyöngyszem a PIC kezdőknek témából PWM-mel kapcsolatban:
Idézet: „Arra azért vigyázz, hogy mindkét CCP alapból a TMR2-t használja, vagyis ha eltérő frekvenciát állítasz be, nem fog rendesen menni. Az utoljára beállított lesz az igaz mindegyikre. A függvény meg csak a TMR2-t kapcsolgatja mindegyiknél akkor is, ha a CCPTMRS0-t átállítod. (6.0-ás mikroc-nél így van. Lehet, hogy már kijavították, de még nem néztem meg.)”
Hali !
Segítségeteket kérem! A pic16f1828 adatlapjában a c port init a köv. van megírva. :
így nem csinál semmit. Ha az első két sort utoljára írom, viszont működik. Valamint a ledek szekvenciális lefutása csak először jó, másodszorra és onnan tovább mindig a második után visszaugrik az elsőre. A c port 3-4-5 ön van 3db led amit villogtatnék. Csatolom a fájlt. Előre is köszönöm.
Még nézem, de az első amit kiszúrtam, hogy a PORTx regisztert nem írjuk! Az árnyékregiszterét kell írni vagyis a LATx-et.
Szerk: teljesen jól van az init megírva, annyi a gond, hogy itt ez után a rész után a TRISx regiszternek megfelelő bankban van amikor rátérsz a főprogramra. Tehát ha beírod:
Akkor működni fog. Még egy: nem tudom, hogy elírás-e és nem is feltétlen hiba, mert akár még működhet is, de ez így nem korrekt:
Meg még egy: a szekvencia azért nem jó, mert nem mindig ugyan annyi időt hagysz. Egyszer IDO szubrutin, máskor csak egy NOP. A hozzászólás módosítva: Feb 11, 2016
Kicsit kipofoztam, de kipróbálni nem tudom.
HI!
Igaz olvastam is a latx regről csak valahogy elfelejtődött. Az elírás a gyári pdf-ben van, de egy bankon belűl. A szekvenciánál úgy gondoltam,hogy mikor törlöm a 3-ast egyszerre írom a 4-est. De a progi a 4-es kivillantása után újra a 3- ast villantja fel, onnantól egy kör elejéig jó. Nem tudom érthetően írtam-e. Próbálom amit küldtél. - Hát ez nem tiszta. Nem csinál semmit. Ha a
utoljára írom az initben akkor villog. Az 5-ös kimenet után gyorsan vált a 3-asra ezért a 3-as elé beszúrtam CALL IDO-t és egyszerűen kihagyja az 5-ös kimenet bekapcsolását, felváltva villog a 3-4 ? Üdv : Z. A hozzászólás módosítva: Feb 11, 2016
Nem igazán értem. Szimulátorban rendesen megy.
Esetleg így.
Érdekes, most megy (villog) de ugyanúgy visszaugrik a 4-ről a 3-ra. mint először.
A sim-be mit kell beállítani, hogy változzanak a regiszterek? Mert a PC-n kívül nem változik semmi. Kösz Z.
A fordításnál debug módot kell beállítani és absolut módban kell fordítani.
Mivel programozol? A hozzászólás módosítva: Feb 11, 2016
Kár. PK3-mal tudnád realtime debuggolni.
Szimulátorral minden ok.
Megvan a hiba. Configra gyanakodtam. WDT be volt kapcsolva! Bocs. Ez a hét erre ment rá. Asszem megjegyeztem. Most jól működik. Köszönöm a segítséget. Z.
Na azt én nem is néztem....Én 99%ban kikapcsolom, fel sem merült bennem, hogy az is gond lehet...
Elvileg én is ,nem gondoltam,hogy be van kapcsolva. Z.
Kedves fórumtársak!
Egy PIC18F26K22-esel akadt gondom. A PWM-hez használható timerjei a 2-es, 4-es, 6-os. Működik is a PWM, csakhogy egyik timer sem reagál az előosztóra. Azaz nem tudom a PWM jelet lelassítani megfelelő mértékben. Külön lepróbáltam a timereket flag bit figyelésre is, így kiderült hogy az utóosztók sem működnek. Ha valaki ismeri az adott PIC-et, kérem, segítsen.
Csak igy elso blikkre: jo bankban allitod a regisztereket?
Az 0xF60 alatti SFR -ek a bank15 kiválasztásával vagy indirekten vagy movff utasítással érhetők el.
Igen. Timer2-őt a movlb 0-án, timer4-et movlb 0F-en banked módban. A hozzájuk tartozó PRx-et tudom állítani. Csak az osztókat nem.
Még egy furcsaság. Az adatlap szerint a PRx bekapcsoláskori értékének 255-ön kellene lennie. De ha még a timer bekapcsolása előtt nem töltöm fel PRx-et értékkel, akkor el sem indul a timer, és utólag már hiába adok neki értéket. |
Bejelentkezés
Hirdetés |