Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   941 / 1320
(#) Müszi hozzászólása Márc 28, 2011 /
 
Kedves PIC-ező kollégák!

Szeretném a segitségeteket kérni. Nemrég bontottam 9db 2x16karakteres LCD modulokat, és szeretném őket kipróbálni, és azt szeretném kérni tőletek, hogy nem tudnátok-e adni egy egyszerű rajzot és egy programot PIC16F628A-hoz, ami kiír egy kis szöveget a kijelző mindkét sorába. A vezérlő IC : HD44780.

Előre is köszönöm a segitségeteket: Müszi
(#) icserny hozzászólása Márc 29, 2011 /
 
Már Argentinában is "szemet vetettek" a PICCOLO projekt-re!

Bővebben: Link1 , Link2
(#) kissi válasza icserny hozzászólására (») Márc 29, 2011 /
 
Nem látom, hogy idéznének !

Steve
(#) vicsys válasza kissi hozzászólására (») Márc 29, 2011 /
 
Pedig ott van a kapcsolási rajz alatt az eredeti link...
Icserny!
Gratula a nemzetköziséghez!
(#) kissi válasza vicsys hozzászólására (») Márc 29, 2011 /
 
Észrevettem, de már nem tudtam törölni... Írtam a moderátoroknak, ők azt írták törölték, de bent van... !

Ez a nemzetköziség nagyon jó duma !

Steve
(#) vicsys válasza Müszi hozzászólására (») Márc 29, 2011 /
 
Csatoltam. Remélem sikerülni fog.
(#) Müszi válasza vicsys hozzászólására (») Márc 29, 2011 /
 
Ezer köszönet érte, Mester, holnap próba !

Müszi
(#) nyjani válasza nyjani hozzászólására (») Márc 29, 2011 1 /
 
Köszönöm szépen mindenkinek a hozzászólást! Az jó, hogy mindenki el volt a saját témájával, én meg nem kaptam segítséget senkitől. Közben sikerült rájönnöm a megoldásra. Ha valakinek problémája lesz a flash-be írással, csak szóljon, majd segítek szívesen! Nagyon hasznosnak találtam, hogy ide írtam. Köszönöm a lehetőséget!
(#) potyo válasza nyjani hozzászólására (») Márc 29, 2011 /
 
Van ez így, hogy valami felett többen is elsiklanak. Valószínűleg aki akkoriban járt erre, amikor a kérdésed még az első 1-2 oldalon volt, azok közül senki sem foglalkozott még flash-be írással pic24-en. Viszont azt ugye tudod, hogy ez egy önkéntes fórum, és senkitől sem várhatod el, hogy épp a te problémáddal foglalkozzon?
(#) n_yálastrubadúr hozzászólása Márc 30, 2011 /
 
jó napot!
egy rövid receptre lenne szükségem, még mindig nemtudom a két magas okozta megszakítás közötti időt kiírni a portb-re, csak a főprogramban hiteles az érték. Nem létezik hogy 2-ig számoljon az infra két 1-e között mikor a főprogramban futva 56-ig számol. Ha ez megvan sem tudnám egyszerűen intézni a nullák és az egyek helyét tehát a kódot, erre is köszönném az érthető kulcsot.
(#) watt válasza n_yálastrubadúr hozzászólására (») Márc 30, 2011 /
 
Mi meg a kérdést nem értjük és azt sem, miért nem lehet minden mondatot nagybetűvel kezdeni(főleg egy üdvözlést). Mert ha ez sem megy, akkor még azt is gondolhatnánk, hogy trehány vagy, még ha nem is és felesleges segíteni, mert nem fogod megérteni. Gondolom érted...
Próbáld meg rendesen leírni a problémát itt van időn, ez nem chat!
(#) trudnai válasza n_yálastrubadúr hozzászólására (») Márc 30, 2011 /
 
Lehet a megszakitas nincs jol lekezelve, vagy masfajta megszakitas is beesik, vagy valami mas bibi van. A handler miatti kesleltetes nem hiszem, hogy gondot okozna ebben az esetben hiszen minden megszakitas alkalmaval ugyanannyi a kesleltetes...

(Ha megmutatnad mit csinaltal, akkor talan latnank is mi lehet a problema)
(#) n_yálastrubadúr válasza trudnai hozzászólására (») Márc 30, 2011 /
 
Hát ez lenne az
  1. __config _LVP_OFF & _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _BODEN_OFF &_DEBUG_OFF
  2.  
  3.         list p=16f877
  4.  
  5.         include "p16f877.inc"
  6.  
  7.                 CBLOCK  0X0C
  8.                 TIMER
  9.         ENDC
  10.  
  11.         ORG     0
  12.                 GOTO    START
  13.  
  14.                 ORG     4
  15.                 BCF             INTCON,RBIF
  16.                 BTFSS   PORTB,7
  17.                 RETFIE
  18.                 MOVF    TMR0,W
  19.                 MOVWF   TIMER
  20.                 CLRF    TMR0
  21.                 RETFIE
  22.        
  23. START
  24.                 BSF             STATUS,5
  25.                 CLRF    TRISD
  26.                 CLRF    PORTC
  27.                 CLRF    PORTA
  28.                 BSF             PORTB,7
  29.                 MOVLW   B'10000000'
  30.                 MOVWF   OPTION_REG
  31.                 BCF             STATUS,5
  32.                 CLRF    PORTC
  33.                 CLRF    PORTD
  34.                 CLRF    PORTA
  35.                 BSF             INTCON,GIE
  36.                 BSF             INTCON,RBIE
  37.                
  38.  
  39. RR
  40.                 CLRF    PORTA
  41.                 CLRF    PORTD
  42.                 BTFSS   INTCON,RBIF
  43.                 GOTO    RR
  44.                
  45.                 MOVF    TIMER,W
  46.                 MOVWF   PORTD
  47.  
  48.                 BSF             PORTA,0
  49.                
  50. HH
  51.                 GOTO    HH
  52.                
  53.  
  54.  
  55.        
  56.  
  57.                 END
(#) watt válasza n_yálastrubadúr hozzászólására (») Márc 30, 2011 /
 
Nézd meg az adatlapban, hogyan kell kezelni a megszakításokat, már ami a mentéseket illeti! Ajánlom még Hp41C legutóbbi cikkét, abban részletezve is van a téma. Itt a topicban is többször volt szó róla, bár a cikk egyszerűbb olvasmány lesz...
(#) kisnagylaci hozzászólása Márc 30, 2011 /
 
Sziasztok!

Van egy kész áramkörön, amin van egy PIC18, ami kommunikál egy GPS modullal sorosan és két szenzorral I2C-n, az adatokat pedig sorosan tudom olvasni hyperterminal-lal! A két szenzor külső megszakításra képes ez be is van kötve a PIC-be. A GPS megszakítása teljesen jól működik küldi is az adatokat, de a szenzorhoz nem sikerül megszakítást írnom (C-ben), és nem is igazán tudom hogy álljak neki! A beállítás szerint a szenzor DATA_READY megszakítást küld, ezt oszcilloszkópon ellenőriztem, tényleg így van! Használt már valaki ilyen konfigurációban bármilyen I2C-n kommunikáló szenzort???

Előre is köszi a segítséget!
(#) watt válasza kisnagylaci hozzászólására (») Márc 30, 2011 /
 
Nem teljesen világos, mi az amit nem tudsz megírni a megszakítás témával kapcsolatban. Túl kevés az adat, amit elárultál és amit írtál az nem kapcsolódik a megszakítási problémádhoz. Hogy próbálkozol? Csatolj egy kódot(fájlban is jó)!
(#) trudnai válasza trudnai hozzászólására (») Márc 30, 2011 /
 
Most tegyuk felre egy kicsit amit watt mester mondott -- noha tokeletesen igaza van es amit leirt meg kell majd valositani!

Nade nezzuk inkabb a foprogramot: Feltetelezzuk, hogy ebben a peldaban annyira egyszeru a foprogram, hogy az interrupt kezelonel a kontextust meg ha nem is mentjuk akkor is mukodik. Nem egy szerencses eset, de feltetelezzuk nem jelent most nagy gondot.

Nade a foprogramban egy pollozo ciklusban figyeled az RBIF-et, ami csak nagy szerencsevel all be neked ott hiszen amint az RBIF 1-be all megtortenik a megszakitas, es a megszakitas kezeloben az RBIF-et torolod is...

Magyaran az ott neked tobb, mint valoszinu egtelen ciklusban fog porogni, es a PORTD-re torteno irasig el sem jut...

Ehelyett egy kulonallo statusz regisztert kell hasznalnod aminek egyik bitje fogja neked jelezni ha az esemeny bekovetkezett amire varakozol.
(#) menyus válasza watt hozzászólására (») Márc 31, 2011 /
 
No, kicsit utánanéztem a dolognak...hát nem egyszerű.. Úgy is mondhatnám nem nekem való...

Viszont nagyon hasznos infót találtam a témában róla, akit ez érdekel feltétlen nézzen rá..!
(#) watt válasza trudnai hozzászólására (») Márc 31, 2011 /
 
Igazad van, mert a főprogramban nem szabad vizsgálni egy megszakítás jelzőt, ha közben megszakítás le van kezelve, mert az a jelző a főprogramban csak nagy szerencsével lesz éppen akkor aktív(ha pont rajta fut megszakításra a program, bár én még ilyet nem szimuláltam, érdekességképpen megnézem majd, hogy viszatéréskor merre ugrik a BTFSS, ha közben törölve lett a flag az INT-ben! ).
Én csak azt vettem észre ránézésre, hogy a főprogramban használja a W-t és állítódnak a STATUS bitek is, ezzel szemben nincs mentés a megszakításban. Mindenesetre lehet, hogy most nagyobb baj is van, de később biztosan zavarokat fog okozni, de ezt te is jelezted, látod.
(#) Magashegyi hozzászólása Márc 31, 2011 /
 
Hello mindenki van egy dsPIC33FJ64GS608 pic-em de a PicKit2 ezt sajnos nem supportálja. Meglehet valahogy oldani, hogy mégis tudjam vele programozni? a Google-n nem találtam semmit
(#) Hp41C válasza Magashegyi hozzászólására (») Márc 31, 2011 /
 
Szia!

A Device file Editor segítségével lehet felvenni új kontrollereket a listára. Érdemes egy a keresett kontrollrehez hasonlót lemásolni, kijavítani... Problámák adódhatnak a konfigurációs regisztereknél, és az id regisztereknél (számosság, cím ütközés, stb). Fáradságos munka, de megérheti...

PICKit3 tudja programozni...
(#) trudnai válasza watt hozzászólására (») Márc 31, 2011 /
 
Igen, irtam is, hogy a kontextus mentes mindenkeppen kell, csak elobb a nagyobb bajt kell megoldania szerintem es utana johet a kisebb nagy baj
(#) n_yálastrubadúr válasza trudnai hozzászólására (») Márc 31, 2011 /
 
hello!
Értem,köszönöm. Az a baj hogy próbáltam egy külön segéd regiszetert is növelni egyel majd azzal operálni lentebb, és el is mentettem a a statust a tempet is, az eredmény akkor is ugyanaz volt. Továbblép egyébként így is és villódzik az első bit. Ami nemtudom minek az értéke, de biztosan nem a két 1 közötti idő. Azaz 8 órajel 4Mhz-en
(#) n_yálastrubadúr hozzászólása Márc 31, 2011 /
 
Időközben, úgy tűnik sokadjára írva ugyanazok a verziók jónak tűnnek, vagyis nem 2 az eredmény. De írtam 3 különböző megoldást, és mind a 3 különböző értéket mutat, ami nem tudom jó e így. A legjobb szerintem akkor, ha csak a főprogram vagy csak a megszakítás végzi a kiírást. Ha a kettő együtt van, lényegesen kevesebbet mutat. Nem tudom melyiket kellene alkalmazni. Mondjuk végül is ez csak egy támaszték az "idő" detektálására, mégis el kellene dönteni melyik a leg ésszerűbb és pontosabb. Ugyanakkor segítséget kérnék, intő és kötekedő hozzászólások nélkül, 2 hete kezdtem programozni. Hogyan lehetne helyretenni az időt ismervén a biteket?
  1. LIST P=16F877
  2.  #INCLUDE "P16F877.INC"
  3.  ERRORLEVEL     0,      -302   
  4.  __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF&_DEBUG_OFF&_BODEN_OFF
  5.         CBLOCK  0x70           
  6.                 W_SAVE
  7.                 STATUS_SAVE
  8.                 TIMER
  9.                 HOLE
  10.                 T1
  11.                 T2
  12.                 ENDC
  13.  
  14. #include "m_bank.asm"
  15.  
  16.         ORG     0
  17.         GOTO    MAIN                   
  18.  
  19.         ORG     4
  20.         MOVWF   W_SAVE         
  21.         MOVFW   STATUS         
  22.         MOVWF   STATUS_SAVE            
  23.         BCF             INTCON,INTF    
  24.         INCF    HOLE,F
  25.         MOVF    TMR0,W
  26.         MOVWF   TIMER                                  
  27.         MOVF    TIMER,W                                 ; Csak a 2.esetben van itt
  28.         MOVWF   PORTD                                   ; Csak a 2.esetben van itt
  29.         MOVFW   STATUS_SAVE
  30.         MOVWF   STATUS
  31.         MOVFW   W_SAVE 
  32.         CLRF    TMR0
  33.         RETFIE                                 
  34. MAIN
  35.         BANK1                                  
  36.         CLRF    TRISC
  37.         CLRF    TRISD
  38.         MOVLW   B'00000001'    
  39.         MOVWF   TRISB                    
  40.         MOVLW   B'10000111'                             ;Rb0 lefutó él
  41.         MOVWF   OPTION_REG
  42.         BANK0                          
  43.  
  44.         BSF             INTCON,INTE            
  45.         BSF             INTCON,GIE
  46. ;-----------------------------------           
  47. ;LOOP
  48. ;       CLRF    PORTB
  49. ;       CLRF    PORTC
  50. ;       CLRF    PORTD
  51. ;       BTFSC   PORTB,0
  52. ;       GOTO    LOOP
  53. ;       CLRF    TMR0
  54. ;LOOP1
  55. ;       BTFSS   PORTB,0
  56. ;       GOTO    LOOP1
  57. ;LOOP2                                                          ;1 Csak a főprogram használata a tmr0-érték kiírására
  58. ;       BTFSC   PORTB,0
  59. ;       GOTO    LOOP2
  60. ;       MOVF    TMR0,W
  61. ;       MOVWF   PORTD
  62. ;       CALL    DELAY
  63. ;       GOTO    LOOP   
  64. ;.---------------------------------    
  65. LOOP3
  66.         GOTO    LOOP3                                   ;2 Abban az esetben ha a megszakítás írja ki a portd-re
  67. ;----------------------------------    
  68. ;LOOP4
  69. ;       CLRF    PORTD
  70. ;       BTFSC   HOLE,1
  71. ;       GOTO    LOOP4
  72. ;       MOVF    TIMER,W                                 ;3      A Megszakítás olvassa és a főprogram írja a portd-re
  73. ;       MOVWF   PORTD
  74. ;       CALL    DELAY
  75. ;       GOTO    LOOP4
  76. ;----------------------------------            
  77. DELAY  
  78.         MOVLW   0XFF
  79.         MOVWF   T1
  80. TURN
  81.         MOVLW   0XFF
  82.         MOVWF   T2
  83. TURN1
  84.         DECFSZ  T2,F                                    ;Késleltetés, a láthatóság miatt
  85.         GOTO    TURN1
  86.         DECFSZ  T1,F
  87.         GOTO    TURN
  88.         RETURN
  89.         END
(#) LAC001 hozzászólása Márc 31, 2011 /
 
Sziasztok!

Szeretnék egy PIC-et telepíteni az autómba és a tápjával kapcsolatban lenne kérdésem. 3,3V-ról megy a ketyere. Mekkora kondit tegyek a táphoz, hogy pl. indítózásnál ne szálljon el a PIC és a kimeneti feszültsége se ingadozzon a tápnak? Folyamatosan rá lesz kötve az akkumulátorra.
A mellékelt kapcsolásban nagyon rosszak az értékek?

A válaszokat előre is köszi!
Üdv
LAC

Táp.jpg
    
(#) potyo válasza LAC001 hozzászólására (») Márc 31, 2011 /
 
7805-nek mi a szerepe? LD1117 a bemenetén kaphat 15V-ot, az autóba elég. Illetve hogy a kimenetén tudja tartani a 3,3V-ot, ahhoz a bemenetére elég 4,3V, ha ennyire leesik a feszültség indítózás közben, az már régen rossz, úgyhogy erre nem kell tervezned. Én az áramkör fogyasztásától függően 10-100 ohm soros ellenállásból és 1000µF elkóból álló RC szűrőt tennék az LD elé, és természetesen egy 100nF kerámiát minél közelebb az LD lábaira, és ugyanígy 100nF az LD kimenetére is. Kimeneten a 470µF elkó felesleges, de végülis elfér.
(#) LAC001 válasza potyo hozzászólására (») Márc 31, 2011 /
 
Csak plusz biztosítékként gondoltam a 7805-öt, mert az 18V-ot is szeret + ha a generátor fesz.szabályzója elszállna legalább a 700 Ft-os PIC maradjon meg és így nem melegedne annyira a 1117 se az 5V-tól.
(#) potyo válasza LAC001 hozzászólására (») Márc 31, 2011 /
 
Mekkora terhelés szánsz ráakasztani? A melegedést csak akkor kell tekintetbe venni, ha valami nagyobb terhelés is lesz rajta. 15V-nál se megy az még tönkre, annyit a gyártó garantál, hogy annyit biztosan kibir. De végülis beteheted a 7805-öt, még akkor is 6,5V körüli bemenőig meglesz a 3,3V kimenőd. Az áramkör elé és után érvényes az, amit az előbb írtam, a két szabályzó közé meg kell az a 100-220nF kerámiakondenzátor.
(#) KroWka008 hozzászólása Márc 31, 2011 /
 
Sziasztok!

Szeretném a segítségeteket és a tapasztalaitokat igénybe venni. Elektronikai technikusira járok és évvégi munka gyanánt belevágtam egy Propeller Clockba. Viszont az a fő problémám, hogy a PIC-ek világában még nagyon kezdő vagyok sajnos. Sikerült hozzájutnom egy Pickit2-höz de sehogyan sem tudtam vele felprogramozni a pic-eimet. A rengeteg próbálkozás után goldoltam építhetnék egy JDM programmert aminek külső táp igénye is van. Ez még nincs befejezve. Ez ügyben kérnék tanácsot tőletek, hogy mivel és pontosan hogyan próbálkozzak !? Jó felé haladok, hogy a JDM et választottam végül..? Konkrétan egyenlőre csak két típusú pic programozása lenne számomra nagyon fontos : 16F628A, 16F84A !

A segítségeiteket és a türelmeiteket előre is nagy tisztelettel megszeretném köszönni..
bv: KroWka
(#) icserny válasza KroWka008 hozzászólására (») Márc 31, 2011 /
 
Nagyon rossz útra tévedtél, a JDM-et felejtsd el! PICkit2-vel mi volt a probléma, milyen kapcsolásban kötötted össze a mikrovezérlővel? A PIC16F628A PGM lábát pl. lehúztad a földre? (ha jól csalódom, ez az RB4 láb)
Következő: »»   941 / 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