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   640 / 1210
(#) sonajkniz válasza kissi hozzászólására (») Márc 5, 2015 /
 
Na siker!
a PIC12F1840-es adatlapját letöltöttem, az Adobe Reader keresőjébe beírtam, hogy "temperature"
és teljes siker koronázta. Köszi a segítséget mindenkinek!
(#) elektro777 válasza nedudgi hozzászólására (») Márc 5, 2015 /
 
Igen benne van a hex, holnap nyílik lehetőségem az EEPROM terület kitöltésére, gondolom a kezdő címtől kezdjem el a kitöltést. És majd az android oldalon beállítandó URL-t amivel tulajdonképp azonosítom az android számára az eszközt azt hol fogom megtalálni?
Köszönöm a segítséged!
(#) nedudgi válasza elektro777 hozzászólására (») Márc 5, 2015 /
 
A 00-03 címre kerül, hogy mi legyen az eszköz IP címe. Ezt kell az androidon használni. Bővebben: Link a lap alján.
(#) mark.budai válasza mark.budai hozzászólására (») Márc 5, 2015 /
 
Senki?
(#) peze hozzászólása Márc 5, 2015 /
 
Sziasztok! Szeretnék segítséget kérni egy legegyszerűbb "bíp" jelzőhang létrehozásával kapcsolatban,amit később egy programban bármikor meghívhatok majd.A PIC-em 16f887-es,és a hangszóró egy kondin keresztül a D2-es lábra van kötve.Meg is szólal,de a neten található késleltetés kalkulátort használva,az én 4Mhz-es órajelemmel csak egy brummogásig tudok elmenni,én pedig egy magasabb hangot szeretnék kicsiholni belőle.Kezdő vagyok,ezt a programot sikerült összehoznom eddig,de az is lehet,hogy már az elv is rossz ahogyan a port ki-be kapcsolásával szeretnék hangot előállítani...A válaszokat előre is köszönöm!
PZ

LIST P=16F887
#include <p16F887.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V


cblock 0x20
d1

endc
org 0x0000

banksel TRISD
bcf TRISD,2
banksel PORTD
bsf PORTD,2

Delay0
decfsz d1, f
goto Delay0

bcf PORTD,2

Delay1
decfsz d1, f
goto Delay1


end
(#) kissi válasza peze hozzászólására (») Márc 5, 2015 /
 
Szia!

Maga az elv jó lenne, de ez így csak 1-szer kapcsolja be és 1-szer ki a hangszórót, majd újraindul ( hacsak nincs valami programszemeted a memóriában ! ), azaz a be-kikapcsolást ( a késleltetésekkel ) TÖBBSZÖR ! meg kell csinálnod !
Célszerű még a d1-nek kezdőértéket is adni majd később, de ettől működik... !
Legközelebb használd a kód gombot !
A hozzászólás módosítva: Márc 5, 2015
(#) peze válasza kissi hozzászólására (») Márc 5, 2015 /
 
Szia!

Köszönöm a gyors választ! A program most is újra,és újra indul,hiszen folyamatos brummogást hallok,vagy rosszul gondolom?
(#) peze válasza peze hozzászólására (») Márc 5, 2015 /
 
Ja! Vagy kéne egy "start" a program elejére,és a végére egy "goto start" ?
(#) Pali79 válasza peze hozzászólására (») Márc 5, 2015 /
 
Esetleg így:
  1. LIST P=16F887
  2. #include <p16F887.inc>
  3. __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
  4. __CONFIG _CONFIG2, _WRT_OFF & _BOR21V
  5.  
  6.  
  7.         cblock 0x20
  8.         d1
  9.  
  10.         endc
  11. org 0x0000
  12.  
  13. Start
  14.         banksel TRISD
  15.         bcf     TRISD,2
  16.         banksel PORTD
  17.         bsf     PORTD,2
  18.         call    Delay
  19.         bcf     PORTD,2
  20.         call    Delay
  21.         goto    Start
  22.  
  23. Delay
  24.         decfsz  d1, f
  25.         goto    Delay
  26.  
  27. end

Használd te is a KÓD gombot!
(#) elektro777 válasza nedudgi hozzászólására (») Márc 5, 2015 /
 
Köszi értem szóval a cikkben azok a hexadecimális címeket jelölik, viszont még mindig nem értem hogy majd azokra a helyekre ahova az IP-cím, Alapértelmezett átjáró, DNS-kiszolgáló, Alhálózati-maszk, MAC-cím, fog kerülni milyen adatokat vigyek be,tehát mi lesz az IP, Alapértelmezett átjáró stb. Én eddig úgy tudtam hogy a router osztja ki az IP címet az eszközöknek, és most én írjak egy random címet? Vagy mi fogja ezt meghatározni hogy mi legyen az IP és a többi? vagy az eszközöknek a fizikai címe a MAC ami mellesleg ennél az ENC vezérlőnél nincs is feltüntetve, mert szoftveresen állítható ha jól értelmeztem az adatlapján. Szóval honnan fogom én megszerezni ezeket az adatokat? Például az alhálózati maszknál a routerben is fellelhető 255.255.255.0-öt adjam meg?
Csak annyi lenen a célom hogy egy LAN-kábellel a routerhez kapcsolva az eszközt tudjam kapcsolgatni a D portokat, meg figyelni a B portot azzal az android alkalmazással, de sajna nem vagyok tisztába a hálózatépítéssel.
Köszi!
(#) sonajkniz válasza Pali79 hozzászólására (») Márc 5, 2015 /
 
A 26. sorból nem hiányzik egy RETURN?
(#) Pali79 válasza sonajkniz hozzászólására (») Márc 5, 2015 /
 
De
(#) peze válasza Pali79 hozzászólására (») Márc 5, 2015 /
 
Köszönöm!

Igen,ez a verzió is tökéletes a "return"-al kiegészítve...

Az előző verziót is kiegészítve a "starttal",és a "goto starttal",máris megemelkedett a frekvencia.Már "beep"-nek hallatszik.. A d1-nek hogyan tudok kezdőértéket adni?
A hozzászólás módosítva: Márc 5, 2015
(#) kissi válasza peze hozzászólására (») Márc 5, 2015 /
 
  1. MOVLW  200
  2. MOVWF d1

Még a Delay0 és a Delay1 előtt, a 200 helyett bármi 0...255 -ig
A hozzászólás módosítva: Márc 5, 2015
(#) peze válasza kissi hozzászólására (») Márc 5, 2015 /
 
Köszönöm! Próbálgatom...
(#) peze válasza kissi hozzászólására (») Márc 5, 2015 /
 
Köszönöm! Már működik is ezzel kiegészítve,és teljesen új hangmagasságok nyíltak meg előttem..
Esetleg van egy linketek arról,ahol az elméletnek utánanézhetek? Gondolok itt a d1-re,a d1-hez történő értékadás,és az időzítés összefüggéseire..Remélem nem túl amatőr kérdés...
(#) Pali79 válasza peze hozzászólására (») Márc 5, 2015 /
 
Nem biztos, hogy ez le van írva valahol, de lényege annyi, hogy a késleltető rutin addig tart amíg a d1 értéke nem lesz 0. Ugyebár minél kisebb kezdőértéket adsz neki annál rövidebb lesz a késleltetés. Ha mondjuk 4 MHz-es órajellel megy a PIC, akkor másodpercenként egymillió utasítást hajt végre. Tehát egy utasítás 10^-6 másodpercet vesz igénybe. Ha a d1 kezdőértékének 1-et adsz akkor 1×10^-6, ha 255-öt akkor 2,55×10^-4 másodperc lesz a késeltetés.
Remélem nem írtam semmi hülyeséget.
(#) nedudgi válasza elektro777 hozzászólására (») Márc 5, 2015 /
 
A router akkor ad IP címet, ha azt a hozzá csatlakozott eszköz kéri. Jelen esetben nem erről van szó, így a routeren meg kell nézni, hogy milyen címeket osztogat, és annak tartományán kívül kell keresni valamit ami nyugodtan lehet véletlenszerű, a Te szóhasználatoddal élve random.
Alhálózati maszk az, amit a routerből kiolvastál (255.255.255.0 = 0xFF.0xFF.0xFF.0x00)
A router címét kell beírni az átjáró címére, lévén a kettő valószínűleg ugyanaz.
A MAC cím lehet bármi, csak ne legyen olyan a hálózaton.
A DNS kiszolgáló lehet a router címe.
(#) peze válasza Pali79 hozzászólására (») Márc 5, 2015 /
 
Köszönöm! Pont erre voltam kíváncsi,így már összeért pár dolog a fejemben...
(#) kissi válasza Pali79 hozzászólására (») Márc 5, 2015 /
 
Idézet:
„Remélem nem írtam semmi hülyeséget.”

Nagyjából jó, de a DECFSZ nem mindig egy gépi ciklus, tehát nem mindig 1 us-ig tart , hanem 1v2 us-ig --> ezért jó, ha szimulálja peze, mert akkor pontosan megkapja az értéket!
Ezt csak a teljesség kedvéért írtam, minimális eltérést okoz a mostani példában !
(#) sonajkniz válasza peze hozzászólására (») Márc 5, 2015 /
 
Bocsi de lemaradtam az elejéről. Valami konkrét célod van ezzel, vagy csak hangokat akarsz létrehozni?
Mert proramhatékonyan a PWM programozható időzítőjének megszakításban való üzemeltetésével sokkal többet érsz el. Állítsd be az időzítőt programmegszakításra, a megszakítási rutinban BTG- vel billegtesd a kívánt kimenetet. Az inícializálásnál állítsd a kitöltési tényezőt maximumra, a programban meg váltogasd a periódusidőt.
(#) kissi válasza sonajkniz hozzászólására (») Márc 6, 2015 /
 
Várjál már, még most kezdi a programozást a LED villogtatással, ill. kimenetek KI-BE kapcsolgatásával! Itt még erős a PWM, megszakítás, stb.... , egyébként nagyon helyesen csinálja szerintem! !
A hozzászólás módosítva: Márc 6, 2015
(#) -Bandi- hozzászólása Márc 6, 2015 /
 
Sziasztok!
Szeretnék egy elektronikus dobókockát késziteni. Az lenne a kérdésem, hogy pic12f629-re, hogy irom meg a programot C-ben ami random dob ki egy számot 1-től 6-ig? Nem kell az egész program, csak az a kis kódrész. Köszönöm a segitséget előre is.
(#) Hp41C válasza -Bandi- hozzászólására (») Márc 6, 2015 /
 
(#) -Bandi- válasza Hp41C hozzászólására (») Márc 6, 2015 /
 
Köszönöm!
De ez 16-os család, nekem 12-es van, és fórumokon csak assemby-ben találtam meg, nekem pedig C-ben kellene...
(#) lokátoros válasza -Bandi- hozzászólására (») Márc 6, 2015 /
 
Szia,

Meg lehet oldani egyszerűbben is.
Indíts el egy timert belső órajelről, minél nagyobb sebességgel és amikor lenyomod a gombot csak kiolvasod az értékét, elosztod hattal és a maradék +1 -et kijelzed.
(#) -Bandi- válasza lokátoros hozzászólására (») Márc 6, 2015 /
 
Köszönöm! Megpróbálom.
(#) sonajkniz válasza lokátoros hozzászólására (») Márc 6, 2015 /
 
A számítástechnikában nincs véletlenszám. Ciklikusan futó számláló van, amit abban a pillanatban olvasol ki, amikor lenyomod a gombot.
(#) lokátoros válasza sonajkniz hozzászólására (») Márc 6, 2015 /
 
Igen, pontosan ezt javasoltam. Annak idején én is így csináltam dobókockát.
(#) peze válasza sonajkniz hozzászólására (») Márc 6, 2015 /
 
Köszönöm a segítségedet,de egyelőre még tényleg csak ismerkedek a programozással..
Nincs konkrét célom a hanggal,csak alap dolgokat próbálgatok.Mondjuk ha megnyomok egy gombot,
akkor egy led felgyulladjon,majd megszólaljon időzítve egy hang....Amit tanácsoltál,azt még csak szeretném érteni,bár már hallottam PWM-ről..
Következő: »»   640 / 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