Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   668 / 1210
(#) sonajkniz hozzászólása Máj 11, 2015 /
 
Sziasztok!
Olyan kérdésem lenne, hogy léteznek-e asm-ben előre megírt függvények, mint a C-ben.
Gondolok itt elsődorban linealizációs ciklusra, osztási rutinra PIC18-hoz.
Válaszotokat előre is köszönöm.
(#) Hp41C válasza sonajkniz hozzászólására (») Máj 11, 2015 /
 
(#) Keresztes Vitéz válasza kissi hozzászólására (») Máj 11, 2015 /
 
Szia!
Köszönöm a választ. Az elméleti megoldás megvan, viszont gyakorlatban nem tudom megvalósítani. Egy programrészlet nagy segítség lenne.
(#) kissi válasza Keresztes Vitéz hozzászólására (») Máj 11, 2015 /
 
Az adatlapban benne van, ezt kell az általad preferált nyelven megírnod ( megfelelő regisztereket a megadott értékekkel feltölteni!)! ( Bővebben: Link, 89.oldal! )
(#) sonajkniz válasza Hp41C hozzászólására (») Máj 11, 2015 /
 
Köszönöm!
De sajna nem igazodok ki rajta.
Amire megoldást szeretnék, arra még utalást sem találtam.
Viszont lenne egy újabb kérdésem.
PIC18-as timerjének H byte-ját hogy lehet kiolvasni?
(#) Hp41C válasza sonajkniz hozzászólására (») Máj 11, 2015 /
 
Idézet:
„11.5 Timer1 16-Bit Read/Write Mode
Timer1 can be configured for 16-bit reads and writes (see Figure 11-2). When the RD16 control bit (T1CON<7>) is set, the address for TMR1H is mapped to a buffer register for the high byte of Timer1. A read from TMR1L will load the contents of the high byte of Timer1 into the Timer1 high byte buffer. This provides the user with the ability to accurately read all 16-bits of Timer1 without having to determine whether a read of the high byte followed by a read of the low byte is valid, due to a rollover between reads.

A write to the high byte of Timer1 must also take place through the TMR1H buffer register. Timer1 high byte is updated with the contents of TMR1H when a write occurs to TMR1L. This allows a user to write all 16 bits to both the high and low bytes of Timer1 at once. The high byte of Timer1 is not directly readable or writable in this mode. All reads and writes must ake place through the Timer1 high byte buffer register. Writes to TMR1H do not clear the Timer1 prescaler. The prescaler is only cleared on writes to TMR1L.”

A PIC18F242 adatlapjából.
(#) cross51 válasza sonajkniz hozzászólására (») Máj 11, 2015 /
 
Az előző kérdésen szó volt osztásról gondolom akkor szorzás is, összeadás stb.
A PICCOLO projektben szerintem mindent megtalálsz ami az aritmetikai/matematikai műveletekkel foglalkozik.
(#) sonajkniz válasza Hp41C hozzászólására (») Máj 11, 2015 /
 
Köszi, de ebbe a szövegbe pont úgy nem tud értelmet rakni a GOOGLE fordító, mint a PIC18F14K22-es azonos szövegébe. Én meg főleg nem. Egy két-három soros mintapéldával meg tudnál örvendeztetni.
(#) sonajkniz válasza cross51 hozzászólására (») Máj 11, 2015 /
 
Szorozni, összeadni tud a PIC18-as, csak osztani nem.
(#) Hp41C válasza sonajkniz hozzászólására (») Máj 11, 2015 /
 
A Gooooogle fordítóval nehéz lesz....
16 bites módban a TMRxL kiolvasása egyben a magas helyiértékű byte értékét egy tárolóba másolja, ez atároló olvasható ki a TMRxH címén.
16 bites íráskor a TMRxL írása az TMRxH átmeneti tárolóban előkészített értéket írja be a timer 16 bites számlálójába. Természetesen a magas helyiértékű byte -ot az alacsony helyiértékű byte írása előtt kell beírni a TMRxH reriszterbe. Az előosztó a TMRxL írásakor nullázódik.
A hozzászólás módosítva: Máj 11, 2015
(#) sonajkniz válasza Hp41C hozzászólására (») Máj 11, 2015 /
 
Tehát, ha jól értelmezem, előszőr ki kell olvasnom az alacsonyabb helyiértékű byte-ot, még ha nincs is szükségem rá, ahhoz, hogy megkaphassam a magas helyiértékűt.?
Valahogy így:
MOVF TMR1L,W
MOVF TMR1H,W
Így W-be vérgre az kerül, ami nekem kell?
(#) Pali79 válasza sonajkniz hozzászólására (») Máj 12, 2015 /
 
Pontosan így.
(#) sonajkniz válasza Hp41C hozzászólására (») Máj 12, 2015 /
 
Nagyon köszönöm a segítsséget!
(#) zsolti900 hozzászólása Máj 12, 2015 /
 
Sziasztok! Hatalmas segítséget szeretnék tőletek kérni. Kezdő vagyok PIC-ben, ezért érdeklődök itt, hogy hangvezérlés megoldható vele? Ha igen hogyan? Nekem elég lenne pár alap funkció, hogy pl rámondom hogy nyit és nyit egy áramkört záráskor szintén. Hogyan lehetne neki állni ennek? A taspkapcsnál kicsit több dolog kellene. Sőt az lenen az igazi ha szavakkal fellehetne programozni. Szóval új dolgokat lehetne tanítani neki. És ha egyezést lát akkor végre hajtja azt az utasítást.
(#) bbalazs_ válasza zsolti900 hozzászólására (») Máj 12, 2015 /
 
Talan dsPIC-tol felfele a 32-esek iranyaba igen. 18-assal tutti eselytelen, 24-es talan eppen a hataron. Persze valami normalis dologra gondolok, nem barkacsra.
(#) Kapagerenda hozzászólása Máj 12, 2015 /
 
Hello,

Valaki értelmezné nekem a következő utasításokat. Mármint értem, hogy megnyomom a gombot akkor megnöveli az értéket, de miért van ott az a szorzás jel valamint a 0,1,1 ? Előre is kösz.

  1. while (1) {                          // Endless loop
  2.         if (Button(&PORTA, 0,1,1))       // If the button connected to RA0 is pressed
  3.             current_duty++ ;             // increment variable current_duty
  4.        
  5.         if (Button(&PORTA, 1,1,1))       // If the pressed button is connected to RA1
  6.             current_duty-- ;             // decrement value current_duty
(#) csiberaptor válasza Kapagerenda hozzászólására (») Máj 12, 2015 /
 
Button(&A port, A port 0 lába,debouncing [ms],aktív állapot[logikai 0/1)

MikroC helpje részletesen leírja.
(#) usane válasza Kapagerenda hozzászólására (») Máj 12, 2015 /
 
Én nem látok szorzás jelet.A PORTA előtt "&" jel van. Ha ez érdekel akkor nézz utána az operátoroknak. Címet jelöl. A számok pedig értelmet nyernek ha megadod a button függvényt is, de gondolom mikroc-ben van írva így tessék.
Na raptor megelőzött
A hozzászólás módosítva: Máj 12, 2015
(#) t_ricsi hozzászólása Máj 12, 2015 /
 
Sziasztok. Pickit3-al és mikroC programmal egy pic18f2550-et programozok. Rákötöttem egy 2x16-os lcd-t és a problémám az lenne hogy az lcd nem írja ki a szöveget. A bekötést és a programot hibátlannak tartom mert a cursor bekapcsolása után (Lcd_Cmd(_LCD_BLINK_CURSOR_On) a cursor megjelenik ott ahol az lcd_out paranccsal kiíratnám a szöveget. Viszont az lcd is jó mert mikor megvettem manuálisan írattam ki vele karaktereket és jó volt. A mikroC sem talál hibát a programban tehát tanácstalan vagyok.
(#) ktamas66 válasza t_ricsi hozzászólására (») Máj 12, 2015 /
 
Ha csak parancsot fogad el én az RS lábat ellenőrizném.
(#) Pali79 hozzászólása Máj 12, 2015 /
 
Elnézést, hogy itt kérdezem, de meg tudná valaki mondani, hogy a chipcad-nél hogyan működik a vásárlás? Csak bemegyek mint pl a Lomex-be és kérem ami kell?
(#) nedudgi válasza Pali79 hozzászólására (») Máj 12, 2015 /
 
Igen.
(#) Pali79 válasza nedudgi hozzászólására (») Máj 12, 2015 /
 
Köszi!
(#) icserny válasza zsolti900 hozzászólására (») Máj 12, 2015 /
 
Idézet:
„Kezdő vagyok PIC-ben, ezért érdeklődök itt, hogy hangvezérlés megoldható vele? Ha igen hogyan?”

A Mikroelektronika ehhez a Speak Up! Beszédfelismerő click modult ajánlja, amiben STM32F415RG ARM Cortex-M4F mikrovezérlő ketyeg (32 bit, 168 MHz, 1 MB flash, 196 kB RAM). Állítólag 200 parancs felismerésére alkalmas.

A dsPIC30 vagy dspPIC33 mikrovezérlőktől ennél nyilván csak szerényebb eredmény várható, de létezik (vagy csak létezett?) hozzá gyári programkönyvtár. Bővebben: Link
(#) sonajkniz válasza t_ricsi hozzászólására (») Máj 13, 2015 /
 
Bekapcsolás után kb 50 msec-el végezz az LCD-n melegresetet. Ha a tápfesz nem elég gyorsan épül fel, hajlamos beborulni az agya.
Amúgy meg, ha nem boldogulsz vele, programozd assemblyben. Akkor legalább látod, mit csinál a program. Ráadásul ugyanannyi memóriára sokszorosa szöveget tudsz rögzíteni.
(#) t_ricsi válasza sonajkniz hozzászólására (») Máj 13, 2015 /
 
A pickit3 5V-járól megy az ic és a kijelző is. Tehát amikor bekapcsolom pc-n az 5V-ot akkor indul minden egyszerre. Ez lehet probléma?
(#) sonajkniz válasza t_ricsi hozzászólására (») Máj 13, 2015 /
 
Gyakorta szembesűlök vele, hogy ugyanezen felállásnál programmódosítás után nem indul el, vagy hülyeségeket ír ki a kijelző. Ilyenkor lehúzom a panelt a PICKit-ről, majd újra csatlakoztatom. Egyébbként, ha az áramköröd tápfesz körén, van egy 100 qf-os vagy nagyobb kondi, akkor még az újracsatlakoztatás sem elég.
Ajánlom figyelmedbe a következő oldalakat:
Bővebben: Link
Bővebben: Link
(#) t_ricsi válasza sonajkniz hozzászólására (») Máj 13, 2015 /
 
lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Cmd(_LCD_BLINK_CURSOR_ON);
delay_ms (1000);
Lcd_Out(1,2,"asd");

ez a program vége .... cursot bekapcsol első sor első helyen, aztán lcd_out parancs miatt átlép 1 sor 2 oszlopba de a szöveget már nem írja ki.
(#) sonajkniz válasza t_ricsi hozzászólására (») Máj 13, 2015 /
 
Én ugyan a C-hez nem értek, de nem hiányzik onnan még valami? Ugyanis a kursor bekapcsolása és a sorátlépés utasítások. A kiirandó szöveg pedig adat.
Legalábbis assemblyben így működik.
(#) t_ricsi válasza sonajkniz hozzászólására (») Máj 13, 2015 /
 
Ez mikroC ... videót is néztem róla csak másik pic-el ott működött. Olvasgattam kicsit . Lehet a osc beállítással lesz a baj csak nem tudok rájönni mi a rossz
Következő: »»   668 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem