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   1152 / 1210
(#) miki79 válasza sonajkniz hozzászólására (») Feb 28, 2021 /
 
Az includeban át tudom írni pic16f716-ra?
(#) sonajkniz válasza miki79 hozzászólására (») Feb 28, 2021 /
 
Sosem fejlesztettem a 16-os szériára, így erre nem tudok válaszolni.
Csak azt tudom, hogy a bankváltások miatt mindeképp bonyolódik.
(#) miki79 válasza sonajkniz hozzászólására (») Feb 28, 2021 / 1
 
Köszönöm Szépen! Még úgy látom sokat kell olvasnom erről a témáról.
(#) Hp41C válasza miki79 hozzászólására (») Márc 1, 2021 / 2
 
Nem elég az include -ban átírni a típust.
A két típus adatlapját összehasonlítva a következő eltérések miatt a programot is át kell írni
- 10F322 PWM modul van, a 16F716 -ban pedig CCP modul
- 10F322 a kérdéses regiszterek a Bank0 -ban vannak, a16F716 -ban néhány a Bank1 -ben (OPTION_REG, PR2)
- 10F322 -ben a GPR terület a 0x40 címtől van, a 16F716 -ban 0x20 -tól.
- A PWM1 kimenet a 10F322 esetében a RA0, a 16F716 esetében a CCP1 A kimenete a RB3 lábon van.
- A 10F322 -ben van belső oszcillátor, a 16F716 -ban nincs.
Egyszóval van mit átdolgozni.
A hozzászólás módosítva: Márc 1, 2021

16F716.asm
    
(#) Peet19 hozzászólása Márc 1, 2021 /
 
Sziasztok!

Mit jelent a PIC nevei után a I/PT, E/PT, E/SS...stb? Azt tudom hogy a tokozáshoz van valami köze de nem tudom pontosan hogy mit jelentenek a többi jelzések. Az adatlapon sem találtam rá, van erre valahol valami táblázat?
Előre is köszi.
(#) bbalazs_ válasza Peet19 hozzászólására (») Márc 1, 2021 / 1
 
Az első a hőtűrés tartománya (I- industrial, M-military, stb) utána a tokozás kivitele.
Adatlapjának a végén megtalálod.
(#) Peet19 válasza bbalazs_ hozzászólására (») Márc 1, 2021 /
 
Megvan, köszi.
(#) miki79 válasza Hp41C hozzászólására (») Márc 3, 2021 /
 
Sziaztok!
Nagyon köszönöm az átírást!
(#) SzilCsong hozzászólása Márc 4, 2021 /
 
Sziasztok

Pic 12F683-nál, mivel állítom be, hogy a bemenet digitális legyen? Pl gpio.0

Most ezek a beállítások vannak:

  1. ansel:= 0;
  2.    CMCON0 := 7;



10k-s ellenállás nem tudja felhúzni 5V-ra, gondolom, még mindig nem digitális.
(#) moltam válasza SzilCsong hozzászólására (») Márc 4, 2021 /
 
TRISIO regisztert nézd meg.
A hozzászólás módosítva: Márc 4, 2021
(#) SzilCsong válasza moltam hozzászólására (») Márc 4, 2021 /
 
Az be van állítva bemenetre és működik is bemenetként, de egy 10k-s ellenállás nem képes felhúzni 5V-ra.
Ha direktre kötöm 5V-ra vagy (-) -ra akkor normálisan működik
(#) Pali79 válasza SzilCsong hozzászólására (») Márc 4, 2021 /
 
Én nem vágom ezt a nyelvet, de ez így lefordul normálisan? Hol kis, hol nagybetű... Esetleg tedd fel a hex-et, megnézzük visszafordítva mit mutat.
(#) usane válasza SzilCsong hozzászólására (») Márc 4, 2021 / 1
 
Ha ez a kettő és a TRISIO be van állítva akkor mennie kellene. Nem lóg más alkatrész a lábon? Ez programozó láb is. Programozó sem volt rádugva mikor mérted?
A hozzászólás módosítva: Márc 4, 2021
(#) Peet19 hozzászólása Márc 4, 2021 /
 
Sziasztok!
Ennél a PIC leírásánál mit jelent a "cse160"?

Idézet:

44 TQFP 10x10x1mm cse160

64KB, Flash, 3968bytes-RAM,8-bit Family


Van ahol cse1200 van meg olyan is ahol cse10 de nem tudom mit jelent.
A hozzászólás módosítva: Márc 4, 2021
(#) Hp41C válasza Peet19 hozzászólására (») Márc 4, 2021 /
 
cse = csomagolási egység
(#) Peet19 válasza Hp41C hozzászólására (») Márc 4, 2021 /
 
Értem már köszi. Nem jöttem volna rá
(#) Peet19 válasza Peet19 hozzászólására (») Márc 4, 2021 /
 
Sziasztok!
A 8 bites bináris szorzást nem lehet valahogy megoldani valami bit forgatással vagy shifteléssel?
Papíron meg tudom csinálni de elég sok lépésből, valami egyszerűbb megoldást keresek assemblyben.
A 16 bites szorzás is érdekel de lehet hogy elég csak az algoritmus, az alapján talán össze tudom valahogy tákolni a progit.
Előre is köszi a segítséget!

Kettesével megy a szorzás amit csak shiftelni kell. de például páratlan számmal már nem nagyon.
A hozzászólás módosítva: Márc 4, 2021
(#) ktamas66 válasza Peet19 hozzászólására (») Márc 4, 2021 / 1
 
Itt találsz sok mindent: Bővebben: Link
(#) Peet19 válasza ktamas66 hozzászólására (») Márc 4, 2021 /
 
Belenéztem, szerintem jó lesz, köszi.
(#) SzilCsong válasza usane hozzászólására (») Márc 5, 2021 /
 
Köszi, az volt a gond. PK2 adatláb.
(#) icserny válasza Peet19 hozzászólására (») Márc 5, 2021 / 2
 
Idézet:
„A 8 bites bináris szorzást nem lehet valahogy megoldani valami bit forgatással vagy shifteléssel?”

(PIC18) Assembly programozás haladóknak
A fejezet tartalma:
Szorzás
- 4 bites előjel nélküli számok szorzása
- 8 bites előjel nélküli számok szorzása
- Hardveres szorzás (mulwf és mullw)
- 16 bites előjel nélküli számok szorzása

Előjeles szorzás
- 8 bites előjeles számok szorzása
- 16 bites előjeles számok szorzása
Osztás
- Előjel nélküli számok osztása
- Előjeles számok osztása
Makrók használata
- Kiterjesztett pontosságú értékadás makróhívással (macro1.asm)
- Logika léptetés makróhívással (macro2.asm)
- Címkék használata makrókban (div32_32u.asm)
- Számozott címkék használata makrókban (for-next.asm)
A hozzászólás módosítva: Márc 5, 2021
(#) gyurma888 hozzászólása Márc 5, 2021 /
 
Sziasztok!
Egy kis segítséget szeretnék kérni a Fail-Safe Clock Monitorral kapcsolatban. A PIC18F97J60 adatlapjának tanulmányozása közben akadtam rá, de nem értem teljesen pontosan a működését.
Az világos, hogy a konfig-ban lehet bekapcsolni, és folyamatosan figyeli az elsődleges oszcillátort, hogy működik-e. Ha pedig engedélyezem a megfelelő bitekkel a hozzá tartozó megszakítást, akkor hiba esetén megszakítás generálódik, és ezzel kb egyidőben átkapcsol a belső oszcillátorra. Viszont az lenne a kérdésem, hogy amennyiben a külső oszcillátor helyreáll, akkor automatikusan "visszateszi" a PIC-et arra? Vagy ezt nekem kellene valahol beállítanom? Ha automatikusan visszaáll, akkor pedig ezt hol tudom nyomon követni? Van esetleg egy másik bit, amit figyelve megtudhatom, hogy már rendben a külső órajel/oszcillátor?
Kb. ugyanez lenne a kérdésem a Two-Speed Start-up-pal kapcsolatban is... Azaz honnan tudom, hogy most már rendben van a primary oscillator, és arról ketyeg a processzor?

Előre is köszönöm a választ!
(#) Peet19 válasza icserny hozzászólására (») Márc 6, 2021 /
 
Köszönöm, nagyon jó
(#) Peet19 hozzászólása Márc 6, 2021 /
 
Még egy gyors kérdés.
Lehet valahogy úgy shiftelni a regiszter értékeit hogy a leeső bitek hagyják ki a carryt de ne is jöjjenek vissza a másik oldalon?
RRF, RRCF, RRNCF...STB nem jó. Olyan megoldást keresek hogyha shiftelek például jobbra, akkor a kihulló bitek tűnjenek el és balról csak nullák jöjjenek. Max. 8 shift után totál nulla legyen a regiszter. Hogy lehet ezt össze trükközni?
Előre is köszi a segítséget!
(#) nedudgi válasza Peet19 hozzászólására (») Márc 6, 2021 /
 
Kontrollere válogatja. Egy tuti megoldás van, ami mindegyikre jó, az AND 0x7F.
Az adott kontroller utasításkészletét kell átfutni, ami mindegyik adatlapjában megtalálható
(#) proli007 válasza Peet19 hozzászólására (») Márc 6, 2021 /
 
Arra nem gondoltál, hogy a forgatás előtt letörlöd a Carry bitet?
(#) Hp41C válasza Peet19 hozzászólására (») Márc 6, 2021 /
 
Balra léptetés mindig 0 -t léptetve be:
- addwf WREG , ha van lehetőség a WREG címzésére.
- rlcf reg / bcf reg,0
- bcf STATUS, C / rlcf reg, f
Jobbra
- rrcf reg / bcf reg,7
- bcf STATUS, C / rrcf reg, f
A hozzászólás módosítva: Márc 6, 2021
(#) Peet19 válasza proli007 hozzászólására (») Márc 6, 2021 /
 
De igen, nemrég jutott eszembe . Köszönöm. De azt hittem van még valamilyen utasítás konkrétan erre.
(#) proli007 válasza Peet19 hozzászólására (») Márc 6, 2021 /
 
Azért az utasításkészletet Neked kellene átnézni, ha már programozol. Abban tüzetesen le van írva melyik mit tesz..
(#) Peet19 válasza nedudgi hozzászólására (») Márc 6, 2021 /
 
Köszi, de sajna nem jött át mire gondolsz. Végig néztem az adatlapon az utasításkészletet de nemsok újat találtam. Az FSR-ben a címen a _CPD_ON_5H van. Ezt viszont még nem tudom mit jelent.

Hp41C: köszönöm de nem értem. Ez csak hozzáadja W értékét és ha léptetem akkor semmi nem fog változni. Ha jobbra shiftelek akkor gyakorlatilag 2-vel osztódik az érték. Pl. a kezdő érték 65. Jobbra shift = 32.
A 0. biten 1 van, az kihullik de a carry bit 1. Eddig még nincs gond, de a következő shiftnél az érték 16 lenne, de nem mert visszajön balról az 1.
Amit proli007 mondott szerintem megoldható de mindjárt leírom rendesen mit is akarok elérni.
Következő: »»   1152 / 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