Fórum témák
» Több friss téma |
Arra is van megoldás hogy a XC8 a változókat ugyanabban a sorrendben rakja az adatmemóriába, ahogy a C fileban írom? (mint az mplab C18 a pragma data 0xcim utan szép sorban tette) Nekem mindig összekutyulja, hacsak egyesével meg nem adom a címeket mindnek. Még másik bankba is tesz, pedig érthető oka nincs rá.
Sziasztok!
Egy 12864b V2 LCD-t szeretnék életre kelteni PIC18-al assembly nyelven. Feltúrtam a netet, de nem találtam konkrét leírást. Két soros LCD-vel nincs problémám, de úgy látszik ez sokban különbözik. Esetleg van valakinek asm példaprogramja?
Köszi. Sajnos nem segít. Megtaláltam az adatlapot, néztem pár C kódot, elvileg jó a programom. Nem egy ördöglakat. Minden portot kimértem, lepésről lépésre, időzítés még egy kicsivel több is. Ott tartok hogy lehet rossz az lcd.
Az első példa program minimális változtatással megy 18-as szérián is. Esetleg vedd fel a kapcsolatot sonajkniz kollégával. Ő sok ilyen LCD-t használ és szinte kizárólag PIC18-at használ.
Ez nem az a program amire "büszkék vagyunk", kb. copy-paste módszerrel készült, a kommentek sem mindig vannak a helyükön, de én is csak egyszeri tesztre használtam.
Bővebben: Link
Valaki rá tudna nézni?
Nem akar a kurzor eljönni.
Ez most sima karakteres kijelző? Egy apróságot láttam hirtelen. Szerintem az LCD_KIIRAS rutinba nem PORTD kellene legyen, hanem LATD. Egyébként én fordítva szoktam, kirakni az adatvonalakra a megfelelőt, aztán engedélyezni az E vonalat egy NOP-nyi időre, aztán vissza.
Elvileg ez: Bővebben: Link
Köszönöm az észrevételt, teljesen jogos. Kijavítottam, próbáltam a NOP-t, semmi változás.
Helo.
Csak most kezdenék bele az asm próbálgatásába de már elakadtam. ![]()
De így sem látja. Hogy tudok változót létrehozni és hol találok infot a psect paramétereiről? A hozzászólás módosítva: Feb 18, 2021
Próbáld emelni a várakozási időket. Sokszor tapasztaltam, hogy az adatlapban leírtaknak a többszörösét kell használni, különben nem akar működni rendesen.
![]() A hozzászólás módosítva: Feb 18, 2021
Most így megy, siker. A bank0 ba pakolta őket.
Emeltem több lépcsőben is. Semmi változás.
Rájöttem. Reset láb nem volt bekötve, csak lebegett.
Egy PIC18f46k22-t használok külsö 12MHz kvarcal.
; CONFIG1H CONFIG FOSC = HSMP ; Oscillator Selection bits (HS oscillator (medium power 4-16 MHz)) CONFIG PLLCFG = OFF ; 4X PLL Enable (Oscillator used directly) CONFIG PRICLKEN = ON ; Primary clock enable bit (Primary clock enabled) CONFIG FCMEN = OFF ; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled) CONFIG IESO = OFF ; Internal/External Oscillator Switchover bit (Oscillator Switchover mode disabled) Mit kellene változtatnom hogy a belső oscillátort tudjam használni, kb. ilyen sebességgel?
Két opció van: 8 vagy 16 MHz. Ezek messze esnek a 12 MHz-től.
CONFIG FOSC: Internal oscillator block
CONFIG PRICLKEN = OFF ; OSCCON = 0b01110000 ; A többi maradhat.
Üdv mindenkinek .Azt szeretném megtuni hogy a 16f819pic ből ki lehet e olvasni a programját? Ha igen akkor hogyan tudom? Még nem foglakoztam pic programozással de egy javításhoz szükségem lenne az adott pic program ismeretére. Remélem valahogy ki lehet belőle olvasni. Előre is köszi a segítséget.
Kell hozzá egy programozó, pl PICKIT2 vagy 3. De ha bekapcsolták a kódvédelmet, akkor nem fogod tudni kiolvasni.
Valószínű hogy akkor az aktiv lesz benne. De azért köszi a segítséget .
Ha sikerülne kiolvasni a programot, akkor is csak asm-be tudnád visszafordítani ... és hanem foglalkoztál még PIC programozással akkor onnan kezdődne még csak a munka java!
Sziasztok!
Le tudná nekem írni valaki értelmesen hogy mi a CTMU működésének az elve? Már találtam egy pár oldalt amit végig olvasgattam de még mindig nem teljesen értem. Sok olyat is olvastam ami ellentmondásos és már kezd összezavarni. Annyi már tiszta hogy a kondi töltési idejét méri, de hogy működik ez a PIC-en belül pontosan? Milyen regisztereket használ, hova kerülnek az adatok, hogy működik az összehasonlítás ha megváltozik a töltési idő, stb. Minden érdekel ezzel kapcsolatban. Esetleg ha lenne valakinek egy kapcs.rajza amin látható a működése azt is megköszönném. Előre is köszi a segítséget! Idézet: „Le tudná nekem írni valaki értelmesen hogy mi a CTMU működésének az elve?” A Microchip már leírta: Overview of Charge Time Measurement Unit (CTMU)
Sziasztok!
Kezdő vagyok a pic programozásban.Most olvasgattam/ismerkedem az assembly programozással. Szeretnék egy egyszerű programot írni ami azt csinálja,hogy egy izzó fényét nagyon lassan halványítja el kb. 1 óra.Tanácsot kérnék a program felépítésével kapcsolatban,működik e azaz elgondolásom, hogy a pwm vagy a analóg kimenetére érdemes kivinni a jelet? A másik,az akkumulátor regiszter tartalmát fokozatosan csökkentem eggyel vagy másik regiszter tartalmát?Ti hogyan csinálnátok? A harmadik kérdés, a program számláló sebességét hogyan kell növelni vagy csökkenteni?Ezt nem találtam sehol.
Szia!
A PIC-nek általában nincs analóg kimenete - esetleg azoknak, ahol DAC van benne. PWM-el egyszerűen előállíthatsz ilyet, RC tagokkal. Az akku sokszor kell, nem érdemes benne adatot tárolni, memóriacímre kellene kitenni. A proci sebességét vagy a beépített oszcillátor osztásával vagy egy külső oszci (pl. kvarc) frekvenciájának a megválasztásával és osztásával változtathatod. A kérdéseid alapján még tényleg az elején jársz a dolgoknak. Ha izzóról van szó valóban, annak a nagy hőtehetetlensége miatt nem lesz gond villózással, viszont milyen feszültségűt képzelsz el? Mert a 230-asra más javasolt és a 12-esre is. Közvetlenül egyik sem köthető a PIC-re. Elektronikai ismereteid vannak más tekintetben?
Szia!
Összedobtam a feladatra egy kis programot PIC10F322-re Teljes fényerővel indul. Ha lejár, kikapcsol és csak a PIC újraindításával indul újra. Némi módosítással tehető rá egy nyomógomb, ami újraindítja.
|
Bejelentkezés
Hirdetés |