Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

problem z zaprogramowaniem PIC12C508A

centipede 24 Aug 2004 11:44 2499 22
  • #1
    centipede
    Level 16  
    Witam, nigdy nie programowałem procesorów z pamięcią OTP.
    Posiadam jedynie "okrojoną" wersję JDM'a jaką można kupić na allegro ..
    Ona teoretycznie programuje tylko PIC16F84A .., ja dorobiłem do niej kabelek ICSP i programowałem tym programatorem PIC16F873, oraz PIC16F628, czy trzeba to jakoś przerobić, żeby zaprogramować PIC12C508A ??
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • #2
    diag
    Level 29  
    Teoretycznie powinno pójść. Ale..., życie potwierdzi jak jest.
  • #3
    centipede
    Level 16  
    no właśnie o to chodzi, że nie działa ..
  • #4
    marmur99
    Level 17  
    Algorytmy programowania OTP i Flash są różne. Może się więc okazać, że nie zaprogramuejsz OTP tym programatorem.

    Marmur99
  • #5
    gummis
    Level 15  
    ja JDM+ IC-prog programowalem PIC z serii 12Cxxx.Nie bylo problemow.Skoro w IC-PROG obsluguje 12Cxxx tzn. ze algorytmy sa dobre.Po drugie nie rozumiem co to znaczy wersja okrojona JDM.Jak dziala na F to i powinien ci zadzialc na C jesli oczywiscie program sterujacy obsluguje dany procek.Zakladam ze nie uzywasz ic-proga albo PonyProg.Wiec scignij sobie ktorys i nie bedzie problemu.
  • #6
    kubanczyk
    Level 14  
    witam
    ja tez mam programator JDM z allegro i chcialem zaprogramować PIC12C672. Lecz moj JDM ma podstawke 18nożek i tylko takie procki moze programować bo nie ma scieżek na procki 12Cxxx. dorobilem odpowiednią przejsciowke i probowalem zaprogramować lecz plik .hex wgrywa sie do procka bardzo długo cos kolo 10 minut i na koniec wyskakuje mi komunikat (adres 000h czy cos takiego) prosze o pomoc jak zaprogramować ten układ.
  • #7
    gummis
    Level 15  
    masz piec istotnych lini ktore mosuisz podlaczyc do PICa.Vpp(MCLR),Vss,Vdd,data,Clock,na stronie microchipa znajdziesz dokumentacje do kazdego ukladu a w niej opis gdzie sa dane nozki.Wystarczy podlaczyc te 5 nozek z odpowiednimi wyjsciami jdm i bedzie ok.Jesli ci podstawka nie pasuje to na plytce uniwersalnej wlutuj sobie taka jak trzeba i przylacz odpowiednio te 5 lin.Chociaz z drugiej strony w jdmie bylo tak zrobione ze na 18-nastonozkowej podstawce mozna bylo programowac pice 12Cxxx.musisz popatrzec czy nozki:
    14 jest polaczona z pierwsza,
    18 z 5
    17 z 13
    16 z 12
    jesli tak tzn ze podstawka jest przystossowana do pic12
    wkladasz ja w ten sposb ze jedynka 12 jest tam gdzie jedynka 16
  • #8
    kubanczyk
    Level 14  
    w moim JDM te nóżki nie sa polaczone i nie mozna prograsmowac pic12cxxx dlatego juz dorobilem przystawke ktora doprowadza odpowiednie sygnały do podstawki 8nóżkowej. ale objawy sa takie jak napisalem wyżej.
  • #10
    kubanczyk
    Level 14  
    windows 98, IC-Prog105C . układ scalony PIC12C672, czy ten układ można zapisać tylko raz ? jezeli za pierwszym razem mi sie nie uda to układ jest do wyrzucenia ?
  • #11
    diag
    Level 29  
    Wszystkie PIC z literka C zapisuje się raz.
  • #12
    gummis
    Level 15  
    tylko raz ale mozesz kilkakrotnie zaladowac program tylko e rozne miejsca.ja czesto tak robilem gdy np,. programik zajmowal 100 bajtow a pamiec mialem 512 to 5 razy moglem wgrac program.
    Robisz tak:

    org 0
    goto start

    org 6
    start

    Gdy program ci zabiera 256 bajtow to gdy zechcesz umiescic nastepny musisz zamazac goto start poprzez wstawienie instrukcji nop, a potem wstawic nowa instrukcje goto start lecz start to etykieta o adresie innym niz poprzednio, czyli na poczatku wolnej jeszcze pamieci.

    czyli
    org 0
    nop
    goto start

    org 0x106 ;pamiec wolna od tego adresu, gdyz do adresu 0x105
    ;jest juz zajeta przez poprzednia wersje programu
    start

    aby jeszcze zyskac na ilosci zaprogramowan procesora z pamiecia OTP
    zamiast calego programu , najpierw umieszczam gotowe procedurki(ktore wiem ze sa dopracowane i sie nie zmienia)np. delay czy send_byte

    czyli pierwszy program tak:
    org 0
    goto start

    org 6
    delay

    ;petla opozniajaca
    retlw 0
    send_byte

    ;instrukcje

    retlw 0
    start ;glowny program wynosi 256 bajtow

    natomiast kolejny ladujemy :

    org 0
    nop
    goto start

    org 6
    delay

    ;petla opozniajaca
    retlw 0
    send_byte

    ;instrukcje

    retlw 0
    org 106+rozmiar procedur
    start ;glowny program wynosi 256 bajtow

    ;ta technika pozwala kilka razy wyprobowac program
    ;oczywiscie wtedy gdy program nie zajmuje wiekszosci pamieci
  • #13
    gummis
    Level 15  
    dodam jeszcze ze czesto bywa tak ze w programie zmienia sie jakas stala lub np. kasujemy jakas instrukcje

    czyli zamiast "goto gdziestam" zamazujemy NOPem

    chodzi oto ze w pamieci OTP zawsze zero mozna zrobic z jedynki,lecz odwrotenie niestety nie,a poniewaz kod instrukcji nop to 0x00 wiec kazda instrukcje zamazemy NOPem

    czyli jesli chcemy wartosc np. 127=b'01111111'
    zmienic na np.126=b'01111110' to sie da
    lecz na 128 juz nie bo 128=b'10000000'
  • #14
    centipede
    Level 16  
    Panowie, nie o to chodzi :/
    ja wiem, że to się tylko raz programuje, ale mnie się ani razu nie zaprogramowało :/
  • #15
    kubanczyk
    Level 14  
    witam
    juz nie daje rady z tym JDM, postanowilem kupic programator PIcLoad a dokladnie to kupilem samą płytke.
    http://ajpic.zonk.pl/picload/index.php
    Własnie czekam na przesylke i jak zmontuje to napisze czy dalem rade.
    Pozdro.
  • #16
    gummis
    Level 15  
    to nie lepiej dolozyc troche zloty i kupic juPIC u tego samego producenta??programatorka jest zgodna z PICSTART PLUS microchipa.
    wygoda ze hej.piszesz sobie program , komplilujesz, i programujesz.
    Na bierzaco zmieniasz sobie program w ukladzie za pomoca jedngo MPLABA.
  • #17
    elektryk
    Level 42  
    gummis wrote:
    to nie lepiej dolozyc troche zloty i kupic juPIC u tego samego producenta??programatorka jest zgodna z PICSTART PLUS microchipa.
    To jest duża zaleta, ale programator ten jest bardzo wolny, czas ładowania procesora z flashem 8kW jest ok 1 minuty.
  • #18
    gummis
    Level 15  
    no tak ale ja sobie ustawiam zeby programowal tylko czesc pamieci.tylko ta ktora aktualnie pisze.wtedy jest szybko
  • #19
    kubanczyk
    Level 14  
    witam
    no więc powiem że jestem w 7 niebie poniewaz to działaaa.
    złozylem programator PicLoad
    http://ajpic.zonk.pl/picload/index.php odpaliłem IcProg105c i wczytalem plik .hex do mojego procesorka PIC12C672 i bez żadnych problemów zaprogramował. nie było żadnych nieprzyjemnych komunikatów.
    Mój koszmar z JDM sie skończył
    pozdrawiam @ll :D 8)
  • #20
    ninja2
    Level 15  
    Witam wszystkich.
    Gdzieś czytałem ze JDM+IcProg nie daja rady z picami 12c509, ponieważ IcProg nie potrafi ustawić prawidłowo jakichś bitów. Chyba chodzi o oscylatory. C Zcy ktoś moze sie wypowiedzieć na ten temat ?
    Kupiłem 10 piców i zaprogramowałem IcProgiem + JDM. Na 10 prawidłowo sie zaprogramowały 4. Kazdy z nich miał identyczne oznaczenia i identycznym wsadem programowałem.
    Dlaczego tak sie stało ?
  • #21
    kubanczyk
    Level 14  
    nie wiem dlaczego tak sie dzieje i nie chce wiedziec bo moj problem zniknol wraz z kupnem programatora picload
    http://ajpic.zonk.pl/picload/index.php
    kupilem sama płytke w cenie ok20zł to nie majatek a reszte czesci mialem w domu. kilka rezystorów kondensatorow i 3 tranzystorki. koszt budowy jest tani i najważniejsze że działa. od tamtej chwili nie chce słyszec o JDM.
  • #22
    saico
    Level 19  
    Mam pytanie do "kubanczyk". Czy programowałeś już PicLoader'em układ PIC12C509A ewentualnie ...508A? Daje radę?

    Pozdrawiam
  • #23
    kubanczyk
    Level 14  
    z układów 8 nożkowych programowalem tylko układ pic12c672 i dało rade , lecz twojego pica 12c508 napewno tez da rade ponieważ ma takie same wyprowadzenia. sypnij troche szacunków jeżeli ci pomogłem :)
    Pozdrawiam