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   722 / 1210
(#) Bakman válasza bbalazs_ hozzászólására (») Nov 7, 2015 /
 
Valahogy így?

  1. trisa = 1;
  2. adcon0 = 0;
  3. adcon1 = 0;
  4. adcon2 = 0b00111110;
  5. adcon0 = 0b00000001;
  6. adcon0bits.GO = 1;
  7. delay us(10);
  8. x=ADRESH;
  9. adcon0bits.ADON=0;


Hogyan kell definiálni x -et?
(#) jany1966 hozzászólása Nov 7, 2015 /
 
Az assembly felé hajlok inkább valaki valami segítséget adna esetleg?
Remélem nem lesz vita újra.
(#) Pali79 válasza jany1966 hozzászólására (») Nov 7, 2015 /
 
Mint mondottam volt én segítek szívesen, de ez csak úgy tud működni, ha elölről kezded és rájössz magadtól a megoldás kulcsára. Máskülönben meg kellene csináljam helyetted.
(#) bbalazs_ válasza Bakman hozzászólására (») Nov 7, 2015 /
 
Nem ertek a c-hez, csak altalanos tajekoztatast probaltam adni. Adatlap a mervado.

A TRISA akkor 1, ha csak a PORTA0 a bemenet. Inkabb binarisan szoktuk megadni, mert a bitek mas es mast jelentenek, hasonloan az adcon regiszterekhez.
A Delay biztosan nem jo, oda egyszeruen a /DONE bitet figyelo ciklus kell. A /DONE ugyanott van, mint a GO, csak negalva, akkor 0, ha befejezte a konverziot.
(#) cross51 válasza jany1966 hozzászólására (») Nov 7, 2015 /
 
Itt a vita mind két "felének" eleget tevő példákat találsz minden meg van írva assebmly-ben is és C-ben is.

Kis segédlet még, letöltöd ki csomagolod a fájlt az src mappa itt kiválasztod melyik család aztán, hogy melyik nyelv
(#) jany1966 válasza Pali79 hozzászólására (») Nov 7, 2015 /
 
Meg köszönném a segítséget eddig egy fórumozó segített csak /privát üzenetben/ itt is köszönöm neki.
Igaz hogy amit írt azok sajnos nem működnek de szerintem az MPLAB beállításokkal van valami baj, mert ha a panelhoz adott asm filet átalakítom hex-be az sem működik.
viszont ha az eredetit rátöltöm akkor igen.
(#) Bakman válasza bbalazs_ hozzászólására (») Nov 7, 2015 /
 
Erről beszélek én is, csak egy egyszerű, működő példára lenne szükségem. Azért köszönöm a törődést!
A hozzászólás módosítva: Nov 7, 2015
(#) Pali79 válasza jany1966 hozzászólására (») Nov 7, 2015 /
 
Az próbáltad amit Hp41C átírt neked?
(#) jany1966 válasza Pali79 hozzászólására (») Nov 7, 2015 /
 
igen és az sem jó ezért gondolom hogy nem jó az MPLAB beállítás vagy nem tudom.
(#) jany1966 válasza cross51 hozzászólására (») Nov 7, 2015 /
 
köszi letöltöttem majd átnézem holnap.
(#) cross51 válasza Bakman hozzászólására (») Nov 7, 2015 /
 
Majdnem, de így a pontos:
  1. TRISA = 1;
  2.     ADCON0 = 0;
  3.     ADCON2 = 0b00111110;
  4.     ADCON0 = 0b00000001;
  5.    
  6.     __delay_us(5); //a microchip "ajanlja" amig feltoltodik a tarolo kondenzator                
  7.     GO = 1; //itt indul a konverzio
  8.     while (GO) continue;   //itt varunk amig a konverzio vegbe megy
  9.     //itt a contiune elhanyagolhato
  10.     unsigned char x = ADRESH;
(#) Pali79 válasza jany1966 hozzászólására (») Nov 7, 2015 /
 
Kicsit kifejtenéd, hogy mit jelent az, hogy nem jó? A forrás hiba nélkül fordul, szimulátoron működik (csodálkoztam is volna ha nem így lenne). Pontosan mi a hiba jelenség?
Mellékelem a HEX-et. Próbáld ki! Az a baj, hogy nincs ilyen PIC-em, nem tudom élesbe kipróbálni.
(#) Bakman válasza cross51 hozzászólására (») Nov 7, 2015 /
 
Köszönöm a segítséget, megfelelő méretű volt a kezdőrúgás! Kicsit átvariáltam, mert az AN0 olvasása kb. másodpercenként egyszer fog lefutni az egyéb feladatok miatt.

Shot_914.jpg
    
(#) sonajkniz válasza Pali79 hozzászólására (») Nov 7, 2015 /
 
Pali!
Nem lehet esetleg, hogy azért nem fogadja be jani1966-nak a platformja az a programot, mert van rajta egy bootloader és az bekavar?
(#) jany1966 válasza Pali79 hozzászólására (») Nov 8, 2015 /
 
Ezzel a hex filevel egy led villog a kijelző háttér világítás is bekapcsol.
A relék pedig össze vissza bekapcsolnak.
(#) jany1966 válasza sonajkniz hozzászólására (») Nov 8, 2015 /
 
bootloader van rajta.
(#) Pali79 válasza sonajkniz hozzászólására (») Nov 8, 2015 /
 
Fogalmam sincs. Én sosem foglalkoztam ilyennel. De a programozás Elméletileg töröl mindent.
(#) sonajkniz válasza jany1966 hozzászólására (») Nov 8, 2015 /
 
Ezzel kapcsolatban várjuk meg Hp41C-t.
Egyébként ha az eredeti hex működik, akkor biztos, hogy nem törlődött a bootloader.
(#) jany1966 válasza sonajkniz hozzászólására (») Nov 8, 2015 /
 
Az eredeti hex működik de ha az eredeti basic-et fordítom hexre akkor nem.
(#) sonajkniz válasza jany1966 hozzászólására (») Nov 8, 2015 /
 
Az a baj, hogy én is csak annyit tudok a bootloaderről, hogy létezik. Hogy pontosan mit csinál, arról fogalmam sincs. De azt gyanítom, hogy az lessz a gond.
(#) kissi válasza sonajkniz hozzászólására (») Nov 8, 2015 /
 
A PK2 újraprogramozza a PIC-et, ha bootloader volt benne, akkor az törlődik! Ha nem törlődött, tökéletesen működik, akkor a programozás nem sikerült !
A bootloader az arra való, hogy külön programozó eszköz nélkül tudjunk programot bevinni a PIC-be. A hex fájl-t a programmemória előre meghatározott helyére teszi és a PIC indulásakor, amennyiben nem érzékeli a BOOT gomb lenyomását, akkor erre az előre meghatározott helyre adja át a vezérlést! Ha induláskor érzi a gomb nyomását, akkor a bootloader programot indítja el, ami a kapott hex fájl-t ( pl. USB porton ) betölti a meghatározott helyre. Ez a Microchip bootloaderénél a 0x1000 cím, a megszakítás belépési pontok is ennyivel magasabbra kerülnek ( 0x1008 és 0x1018 ). Mivel bent van a bootloader, ezért a bootloader segítségével betöltendő programoknak a 0x1000-es címen kell kezdődniük, különben nem engedi feltölteni!
Ha PK2-vel programoz, akkor ilyen korlát nincs és a 0-s címen található, gomb lenyomását vizsgáló résznek kapásból törlődnie kell --> nem működhet utána a bootloader megfelelően !
(#) Pali79 válasza jany1966 hozzászólására (») Nov 8, 2015 /
 
Tedd fel ide a HEX-et amivel működik!
(#) szucsistvan123 hozzászólása Nov 8, 2015 /
 
Helló!
EZ hamisítvány szerintetek?
Megéri megvenni?
Köszi!
(#) cross51 válasza szucsistvan123 hozzászólására (») Nov 8, 2015 / 1
 
Szerintem, nem hamisítvány, de ha csak nem nagyobb tételbe kell szerintem érdemesebb itt venni, akkora árkülönbség nincs és nem kell várni 2-3 hetet míg megjön.
(#) Pali79 válasza cross51 hozzászólására (») Nov 8, 2015 /
 
Idézet:
„akkora árkülönbség nincs”
Hát azért majdnem a duplája... Persze 1 db-nál ez is csak pár száz Ft.
(#) interweld hozzászólása Nov 8, 2015 /
 
sziasztok,
Milyen -lehetőleg nem túl költségigényes- assembler programot javasoltok egy kezdőnek?
(#) edison14 válasza interweld hozzászólására (») Nov 8, 2015 /
 
Egy assembly program sem költségigényes ugyanis ingyenes. Töltsd le az MPLAB X-et és már van is egy assembler fordítód PIC10-18-ig ha pedig PIC24-ekkel vagy PIC32-vel szeretnél foglalkozni akkor töltsd le a C30-as fordítót és az MPLAB X automatikusan felismeri, hogy telepítettél egy C és egy assembly fordítót amiben már a 24-es és 32-es PIC-ket is tudod programozni.
(#) jany1966 válasza Pali79 hozzászólására (») Nov 8, 2015 /
 
Ezzel a hex-el működik.
(#) Hp41C válasza jany1966 hozzászólására (») Nov 8, 2015 /
 
Ez az első lépés. Remélem olvastad a forrását is... Mit is csinál a program? A RA4 -re tett L19 -et villogtatja. Minden port lábat kimenetnek kapcsol és alacsony szintet ad ki rájuk.
Idézet:
„Az LCD háttérvilágítása bekapcsol.”

A tasztatúra modul kapcsolási rajzán látható, hogy RC6 -tal egy PNP tranzisztor kapcsolja be. RC6 alacsony szintje mellett az LCD háttérvilágítás bekapcsol. OK.
Idézet:
„A relék pedig össze vissza bekapcsolnak.”

A CD4094 kimenetei vezérlik a reléket, de ennek az IC -nek nincs alaphelyzetbe állító bemenete. A program nem tölti fel a léptető regisztert...
Összegezve, a program jól működik, de néhány dolgot nem végez el.

Meg kellene barátkozz a fordítássa.
A mellékelt program a bemenetek állapota szerint állitja be a reléket. A RELE 8..1 a bemenetek értéke szerint, a RELE 16..9 -et a negáltjainak megfeleően.
(#) jany1966 hozzászólása Nov 8, 2015 /
 
Ez annyit csinál, hogy villog a led, a relék közül behúz az 1,2,3,4,5,9,10,11,12,13,
A B1 bemenetet ha testre viszem elenged az 1,9 relé.
A B2-re 2,10 relé
A B3-ra 3,11 relé
A B4-re semmi
A B5-re 5,13.
Ez így jó?
Következő: »»   722 / 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