Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   681 / 1320
(#) icserny válasza Attila86 hozzászólására (») Feb 20, 2010 /
 
Belinkelt kód híján csak együttérzésünkről tudunk biztosítani!
(#) vaszil29 válasza vicsys hozzászólására (») Feb 20, 2010 /
 
Hello!

Gondoltam, hogy ha a PIC egy miniatür számitógép
saját memoriával, akkor elvileg abban a memóriában müveleteket lehet végezni.

üdv.
(#) watt válasza vaszil29 hozzászólására (») Feb 20, 2010 /
 
Ezt meg miért kérdezed? Egyébként igen.
(Megint egy olyan hozzászólásra válaszoltál, amihez a kérdésednek semmi köze! Próbálj koncentrálni!)
Te meg láttad a belinkelt oldalt?
(#) watt válasza vaszil29 hozzászólására (») Feb 20, 2010 /
 
Ha nem tudsz valamit, ne próbáld megmagyarázni! Koncentrálj a feladatra inkább és válaszolj értelmesen a neked címzett hozzászólásokra! pl. erre: Bővebben: Link
(#) szilva hozzászólása Feb 20, 2010 /
 
Urak!

Ubuntun, PIKlab-bal és a gyári PICkit2-vel dolgozom, a cél egy 18F2321. Elvileg a PIKlab tudja a 2-es firmware-ű PK2-t kezelni, meg is találja. Programozáskor azonban mindig elszáll valahol az elején olyan hibaüzenettel, hogy nem egyezik a beírt byte, aztán égve hagyja a Vpp LED-et. Ilyenkor reconnect kell, hogy észhez térjen. Egyszerűen nem megy neki.

Próbáltam "custom programmer"-ként is használni, ilyenkor teljes parancssorokat lehet megadni neki a programozáshoz, futtatáshoz (Vdd bekapcs), törléshez, stb. A külső program, amit használnék így felparaméterezve, az a pk2cmd. Programozáskor néha "PICkit2 not found" üzenetet dob, néha Vpp error-ra panaszkodik, néha égve hagyja a Vpp LED-et, néha villogva, és kevés esetben végig is csinálja a programozást. Az az érdekes, hogy ha a megadott parancssort terminálból adom ki, és nem a PIKlab-ból akarom futtatni, akkor minden esetben tökéletesen végigmegy a programozás és sikeres is lesz.

(Valahogy a hibaüzenetek is marhagyorsan megérkeznek a PIKlab-ba, mintha onnan indítva az időzítések lennének elcsúszva és emiatt hülyülne meg.)

Van valakinek tapasztalata etéren, esetleg megoldási javaslata (kicsit kényelmetlen mindig terminálból indítani a programozást)?
(#) gydanee hozzászólása Feb 20, 2010 /
 
Sziasztok!

Végre elkészült az első futófényem!! :eek2:
Egy léptető motor vezérlés készül belőle. Egyenlőre a tekercseket LED-ekkel helyettesítettem. Egy halfstepping meghajtást tud most. Nem nagy cucc, de nagyon örülök, hogy végre beindult!

Köszönöm szépen a segítséget, amit tőletek kaptam!
Végre látom az alagút végén a fényt!
(#) Attila86 válasza icserny hozzászólására (») Feb 20, 2010 /
 

  1. call    LCD_törlés
  2.         movlw   h'40'
  3.         call    LCD_kurzor_mozgatas_CGRAM
  4.         movlw   h'05'
  5.         call    LCD_kiiratas
  6.         movlw   h'0A'
  7.         call    LCD_kiiratas
  8.         movlw   h'00'
  9.         call    LCD_kiiratas
  10.         movlw   h'0E'
  11.         call    LCD_kiiratas
  12.         movlw   h'11'
  13.         call    LCD_kiiratas
  14.         movlw   h'11'
  15.         call    LCD_kiiratas
  16.         movlw   h'0E'
  17.         call    LCD_kiiratas
  18.         movlw   h'00'
  19.         call    LCD_kiiratas
  20. goto$
  21.  
  22. ;-----------------------------------------------------
  23.  
  24. LCD_kurzor_mozgatas_CGRAM
  25.         bcf             lcd_EN
  26.         bcf             lcd_RS
  27.         bcf             lcd_b4
  28.         bcf             lcd_b5
  29.         bsf             lcd_b6
  30.         bcf             lcd_b7
  31.         btfsc   WREG,4
  32.         bsf             lcd_b4
  33.         btfsc   WREG,5
  34.         bsf             lcd_b5
  35.         bsf             lcd_EN
  36.         call    delay100us
  37.         bcf             lcd_EN
  38.         bcf             lcd_b4
  39.         bcf             lcd_b5
  40.         bcf             lcd_b6
  41.         bcf             lcd_b7
  42.         btfsc   WREG,0
  43.         bsf             lcd_b4
  44.         btfsc   WREG,1
  45.         bsf             lcd_b5
  46.         btfsc   WREG,2
  47.         bsf             lcd_b6
  48.         btfsc   WREG,3
  49.         bsf             lcd_b7
  50.         bsf             lcd_EN
  51.         call    delay100us     
  52.         bcf             lcd_EN
  53.         call    delay1ms
  54. RETURN
  55.  
  56. LCD_kiiratas
  57.         bsf             lcd_RS
  58.         bcf             lcd_b4
  59.         bcf             lcd_b5
  60.         bcf             lcd_b6
  61.         bcf             lcd_b7
  62.         bcf             lcd_EN
  63.         btfsc   WREG,4
  64.         bsf             lcd_b4
  65.         btfsc   WREG,5
  66.         bsf             lcd_b5
  67.         btfsc   WREG,6
  68.         bsf             lcd_b6
  69.         btfsc   WREG,7
  70.         bsf             lcd_b7
  71.         bsf             lcd_EN
  72.         call    delay100us
  73.         bcf             lcd_EN
  74.         bcf             lcd_b4
  75.         bcf             lcd_b5
  76.         bcf             lcd_b6
  77.         bcf             lcd_b7
  78.         btfsc   WREG,0
  79.         bsf             lcd_b4
  80.         btfsc   WREG,1
  81.         bsf             lcd_b5
  82.         btfsc   WREG,2
  83.         bsf             lcd_b6
  84.         btfsc   WREG,3
  85.         bsf             lcd_b7
  86.         bsf             lcd_EN
  87.         call    delay100us
  88.         bcf             lcd_EN
  89. RETURN
(#) icserny válasza szilva hozzászólására (») Feb 20, 2010 /
 
Idézet:
„Elvileg a PIKlab tudja a 2-es firmware-ű PK2-t kezelni”

A honlapján viszont azt állítja, hogy csak az 1.x verziót támogatja. A Changelogban pedig ezt olvasom: * removed Pickit2V2 programmer since it's not ready anyway
(#) szilva válasza icserny hozzászólására (») Feb 20, 2010 /
 
Pedig ez az Ubuntu-féle aktuális piklab csomag és benne van a v1 és v2 firmware-ű PK2 támogatása is.

De mindegy is, mert az izgalmasabb a custom programmerként tapasztalt furcsaság. Ott ugyanis a pk2cmd-t hívom meg, mint külső programot, és mintha nem ugyanúgy viselkedne, mint terminálból indítva. Terminálból indítva tökéletesen működik, nincs vele gond.
(#) szilva válasza szilva hozzászólására (») Feb 20, 2010 /
 
Hahh, lehet, hogy megvan a bibi. A custom programmer-nél én szépen beállítottam a "stop" és "run" parancsokat is, amik a pk2cmd-t olyan paraméterekkel indítják, hogy semmit ne csináljon, csak a Vdd-t kapcsolja ki és be. Ezeket most kiszedtem és úgy néz ki, jó lett a programozás, persze írja a status ablakban, hogy nincs definiálva a stop és a run. Úgy néz ki, mintha egymásra indította volna a programokat, nem egymás után...
(#) vaszil29 válasza watt hozzászólására (») Feb 20, 2010 /
 
Üdv!

Megnéztem a linket és elvileg talán innen szedtem a rajzot.
de sajna a "Firmvare V5.1.1 " nics felrakva, max az előre programozott PIC-et rendelhetem meg.

"De kérdem én, ha megrendelek egy kész cuccot akkor hogyan fogom megérteni a PIC lényegét?!
én szeretném manipulálni, hogy képes legyen micro
és esetleg macro step-re de nem motor áttételezéssel szeretném megoldani, hanem elektronikusan."

de egyenlőre "stand by"

üdv
szabolcs
(#) icserny válasza Attila86 hozzászólására (») Feb 20, 2010 /
 
Ebben nem látok hibát (kivéve, hogy a goto $ címke pozícióban van és hiányzik egy szóköz a goto után).

De nem látom azokat az utasításokat, amelyek a definiált karaktert (ő betű) kiírnák az LCD-re. A bemásolt kóddal csak definiálod.

Nem vagyok járatos az LCD használatában, de azt hiszem, hogy egy kurzor mozgatás kell az írható területre és valahol a 0x00 kódú karaktert kell kiírni.

Természetesen fordított sorrendben is lehet csinálni, ahogy Topi cikke írja. Abban először kiírod a 00 - 07 kódú karaktereket, s utána definiálod a hozzájuk tartozó karaktereket.
(#) icserny válasza vaszil29 hozzászólására (») Feb 20, 2010 /
 
Idézet:
„sajna a "Firmvare V5.1.1 " nics felrakva”

A szerzője nem kívánja nyilvánossá tenni a kódot.
Idézet:
„akkor hogyan fogom megérteni a PIC lényegét?”

Ebből sehogy. Keress nyilvánossá tett forráskódú projekteket, tankönyvet, mintaprogramot, leírást!
(#) watt válasza vaszil29 hozzászólására (») Feb 20, 2010 /
 
Szerintem a szerzőtől kéne kérjed a hexet és a forrást. Ha Ő nem ad, mi biztosan nem tudunk!
(#) Attila86 válasza icserny hozzászólására (») Feb 20, 2010 /
 
A goto$ elé betettem ezt:
  1. movlw   h'00'
  2.         call    LCD_kiiratas

De most se látok semmit a kijelzőn!
(#) icserny válasza Attila86 hozzászólására (») Feb 20, 2010 / 2
 
Ez kevés a megjelenítéshez, mert előtte kiadtad a 0x40 parancsot, s igy a '00' kód is a CGRAM-ba íródik be folytatólagosan. Mondtam, hogy vissza kell állni a kurzorral. Nem tudom fejből, de talán a 0x80 parancccsal...

LCD_kurzor_mozgatas_CGRAM helyett általános LCD_kurzor_mozgatas-t csinálnék (nincs bedrótozva a 7-es és a 6-os bit, ahenmWREG-ből veszi), s akkor
  1. movlw   h'40'
  2.         call    LCD_kurzor_mozgatas

A CGRAM-ot

  1. movlw   h'80'
  2.         call    LCD_kurzor_mozgatas

pedig a megjelenítési területet választja ki.

(remélem, nem mondtam butaságot....)
(#) Attila86 válasza icserny hozzászólására (») Feb 20, 2010 /
 
Sikerült, köszönöm!
(#) spepe hozzászólása Feb 20, 2010 /
 
Hello mindenik!

Már biztosan volt hasonló kérdés de szerintem az enyém egy kicsit más helyzet. :S

Nah szóval, van egy PIC18F4550-esem és LPT port-on keresztül szoktam felprogramozni. Nincs is vele semmi gond, addig amíg rá nem jön az ötperc és akkor nem akar sehogy sem menni. :S

Van amikor csak simán felmegy rá minden és működik is úgy ahogy kell de van amikor már az első írott adat visszaellenőrzése is hibás. WinPic800-at használok és egy általam gyártott LPT portos kábelt. Az áramot a gép adja USB porton keresztül (Tudom, hogy nem a legjobb megoldás de még nincs labortápom külön. )

Egy 78L05-ös feszültségszabályzó is be van kötve mert a multiméterem szerint az USB-ről 5,20 Volt jön le és akkor már inkább kevesebb mennyen rá mint több a PIC-re. Van egy 100nF-os kondi is a panelen plusz két Elektrolit Kondi is a 78L05-ös be és kimenetén. Bemeneten egy 2200µF-os és kimeneten egy 100µF-os. Már eleve abból, hogy a gépről jön gondolom, hogy szűrt és stabil de ezekkel a cuccokkal szerintem még valószínűbb de az az igazság, hogy nem nagyon értek hozzá mert még csak most kezdtem el jobban foglalkozni vele. :S

Van még egy sima 7805-ösöm is, és azzal is szoktam próbálni és van amikor az a megoldás de van amikor meg csak úgy megjavul. Leggyakrabban akkor jön helyre ha kicsit megmozgatom a cuccokat a próbapanelen de szerintem zárlat nem nagyon van rajta. Van amikor egy fél napig semmi baja az egésznek és után csak gondol egyet és puff nem megy. :S

Több cucc is van a panelen ezért az áramerősséggel is lehet gond bár ebbe nem igazán vagyok biztos.

Szerintetek mi lehet a gond?

Köszönöm a válaszokat előre is!

Bye!
(#) trudnai válasza spepe hozzászólására (») Feb 20, 2010 /
 
Idézet:
„Egy 78L05-ös feszültségszabályzó is be van kötve mert a multiméterem szerint az USB-ről 5,20 Volt jön le és akkor már inkább kevesebb mennyen rá mint több a PIC-re.”


Ok, akkor nehany gondolat ereszto: A PIC adatlapja mit mond, mekkora a minimum es a maximum feszultseg amivel a PIC-et lehet taplalni? Azonkivul a programmer manual mit ir, mekkora feszultsegnek kell lennie a Vdd-n, hogy a PIC programozato legyen? Aztan mekkora feszultseg fog esni azon a 7805-on? Mekkora bemeno fesznek kell lennie a 7805 laban, hogy az stabilizaljon?

Idézet:
„Több cucc is van a panelen ezért az áramerősséggel is lehet gond bár ebbe nem igazán vagyok biztos.”


Mennyit mertel, menyit vesz fel az aramkorod? Mekkora a tenyleges feszultseg eses a Vdd labon merve mikor programozol? Mikor mukodik, es mikor nem mukodik, akkor is erdemes lenne megmerni...

Aztan persze a programozo kabelrol sem beszeltel, milyen hosszu, milyen anyagbol van es esetleg mekkora zajszntet mertel rajta?
(#) szilva válasza spepe hozzászólására (») Feb 20, 2010 /
 
A 7805-nek minimum 2.5V tartlék kell, hogy normálisan tudjon működni, azaz legalább 7.5V bemenő feszültség. Az 5.2V biztos, hogy kevés. Stabilizátor kimeneti oldalára nem illik nagy elkót tenni, mert a stabilitást rontja, ellenben a gerjedések meggátlása céljából ajánlott pártíz-párszáz nF kerámiakondi (bemeneti oldalra is). Az USB-ről jövő feszültségre többszáz vagy többezer µF szintén nem túl célszerű, esetleg pártíz uF, a legjobb, ha Tantál, vagy low ESR elkó.

Egyébként 5.2V nem olyan sok, adatlap szerint 5.5V-ig normál működési tartományban van. Ha nagyon aggaszt az a pár tizedvolt, akkor maximum egy Schottky diódát tegyél sorba a tápfeszültséggel, de ilyen kicsi tartalékkal egyik stabilizátor sem tud kielégítően működni. A PIC-en mértél tápfeszültséget?
(#) watt válasza spepe hozzászólására (») Feb 21, 2010 /
 
LVP módban programozod(nem olvastam, hogy lenne Vpp.)? Hogy kötöd be a PIC-et az LPT-re?
(#) soda hozzászólása Feb 21, 2010 /
 
Sziasztok!

Kaptam egy halom elektronikát, amik mind működnek, valami illesztő interface volt, benne 16F84 pihen.. Van belőle sok, de bármelyik PIC-et törölni/programozni akarom, nem lehet.. Maga a szerkezet, amiből kiszedem pedig működik, a PIC jó..

lehet valami trükk?

a PIC-ek 1999. 23. hetiek, F-es, nem C-s..

köszi!
(#) Hp41C válasza soda hozzászólására (») Feb 21, 2010 /
 
Szia!

A kódvédelem valószínűleg be van kapcsolva, a kikapcsoláshoz egy speciális szekvencia kell, ami a programozási leírásának 4.1 bekezdésében olvasható (az itt alkalmazott két parancs (b'001' és b'111') nem szerepel a parancsok táblázatában...) A tápfeszültségnek a programozás alatt min. 4.5V-nak kell lennie.

Szia
(#) soda válasza Hp41C hozzászólására (») Feb 21, 2010 /
 
Szia!

Köszi! eszembe se jutott, hogy f84 esetében ez így jelentkezik.. sprut féle Brenner8 programozóm van, ebben az esetben még fel sem ismeri a PIC-et..

van olyan programozó, ami ezt a metódust tudja software-ből? mert sajna nem vagyok annyira PIC szakértő, csak kidobni sajnálnám őket..
(#) Hp41C válasza soda hozzászólására (») Feb 21, 2010 /
 
Szia!

A Bulk Erase funkció felel meg ennek az újabb típusoknál...

Szia
(#) dolfin hozzászólása Feb 21, 2010 /
 
Üdv

Azt szeretném tudni hogy a 25LC640 típusú EEPROM-omat hogyan tudom összekötni egy PIC (PIC16F716-I/P)-vel? A 5x5x5 LED cube kapcsrajza előttem van de ott más típusú EEPROM van hozzá kötve és ennek teljesen más lábai vannak.
Írni és olvasni is szeretnék róla.

Köszi
(#) Hp41C válasza dolfin hozzászólására (») Feb 21, 2010 /
 
Szia!

A 24AA256 egy I2C, a 25LC640 pedig SPI felületű EEProm memória. Csak akkor tudod felhasználni a led kockában, ha a memória kezelő részt átírod SPI kezelésre. A 16F887 MSSI modulja alkalmazható mindkettőre...

Szia
(#) El_Pinyo válasza dolfin hozzászólására (») Feb 21, 2010 /
 
Szia!
Az említett EEPROM szabványos SPI soros kommunikációval kommunikál, részletesen lásd itt. A probléma, hogy az általad használni kívánt mikrovezérlő nem rendelkezik hardveres SPI modullal, emiatt a kommunikációt szoftveresen kell megvalósítani. Erre találsz megoldást a microchip oldalán.
(#) dolfin válasza El_Pinyo hozzászólására (») Feb 21, 2010 /
 
Ok. Találtam software-es SPI rutint, a mikrobasic-ben is van.
Idézet:
„This will set SPI to master mode, clock = 50kHz, data sampled at the middle of interval, clock idle state low and data transmitted at low to high edge. SDI pin is RB1, SDO pin is RB2 and SCK pin is RB3:
Soft_Spi_Config(PORTB, 1, 2, 3)

Akkor a bekötése:
SDI = SI láb
SDO = SO láb
SCK = SCK láb
Vcc = GND
Vdd = +5V

A WP, HOLD és CS lábakat simán a földre kell kötni? Vagy az is megy a PIC-re?
Köszi
(#) Hp41C válasza dolfin hozzászólására (») Feb 21, 2010 /
 
Szia!

A WP-t a véletlen írás kizárására lehet felhasználni, de lehet fixen tiltva vagy engedélyezve az írás. A HOLD mehet fixen az inaktív szintre. A CS -t viszont vezérelni kell, az adatok beléptetése előtt (annál a memóriánál, aminek a paracs megy) alacsonyra kell állítani, a parancs beléptetése után pedig magasra...

Szia
Következő: »»   681 / 1320
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