Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

K: Picall uue pici lisamine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    K: Picall uue pici lisamine

    Tere!

    Kasutan PIC16Pro programmerit ja tarkvaraks nende kodulehelt lautud PICALL v0.10d programmi.
    Nüüd tahaks progeda ka PIC12F675 protsessorit, kuid seal see nimekirjas puudub.
    Help'ist lugesin niipalju välja, et lisada uus PIC tuleb muuta "Device.INI" faili, kirjutades sinna uue rea, uue PIC'i andmetega. Kuid ma ei oska neid kõikki kuskilt võtta va. jalgade arvu ja data size (8 koiba ja datasize 2048 )

    On kellelgi aimu, millised need andmed oleks?
    Lisada tuleb:
    • PROG - Program data size
    • DATA - Data size
    • ALG - agorithm type: 1=E2PROM
    2=EPROM and OTP

    3=PIC16C52 to PIC16C58 (only with PICALL hardware)
    4=PIC12X5xx - 12bit

    5=new Flash PICs
    • FUSES - fuses type
    • WAR - show warning before programming with CP on
    • PINS - number of pins: for positioning window
    • MAXPC - maximal number of programming cycles
    • OVER - number of over-programming cycles if on end is an "x" this mean number of this cycles is multiplayed with numbers of cycles on which the programming was succesfull.
    • CAL - if 1 this PIC includes calibration word on last programming location
    • VPP - which programming voltage should be used (VPP1 or VVP2)
      ;* - before PIC type mean that this PIC was not yet tested with
      ; P16PRO or PICALL, but it should work anyway. If you succesfully
      ; programmed this PIC with P16PRO or PICALL then please let me know.
      ; My email address is: bojan.dobaj@bigfoot.com
    EDIT: Vabandust, läks vale foorumi alla
    viimati muutis kasutaja Factor; 18 m 2006, 14:31.

    #2
    Vs: K: Picall uue pici lisamine

    Elou!

    ehk on sellest abi: http://picallw.feniks-pro.com/txt/device.txt

    PIC12F629 1024 128 1 22 8 1 8 1 2 1 0 BG1 BG0
    PIC12F675 1024 128 1 22 8 1 8 1 2 1 0 BG1 BG0

    Ise seda ei kasuta aga googeldamine andis lõpuks ka tulemuse...

    Parimat soovides,
    gOb
    Meie üle nalja ei mõisteta!

    Comment


      #3
      Vs: K: Picall uue pici lisamine

      Suured tänud!
      Tundub, et võttis täitsa omaks.

      Veel otsin varjanti, kuidas PIC12F629 jaoks kirjutatud kood compileerida PIC12F675 jaoks.
      Kuna endal olemas PIC12F675 ja Datasheedil nad ka ühes koos, siis on soov kasutada just PIC12F675-te.
      Ise asemblerit ei jaga, siiani olen kirjutanud oma prograammid MikroPascaliga kuid vajaminev kood on kirjutatud Kodanik Felc'i poolt ja on asembleris.
      Selle ise kirjutamine läheb ka minujaoks veel liiga raskeks.
      Võibolla on siin teadjamaid mehi, kellel sellekohta mõni tark õpetussõna või veelparem oskavad mõnda sellist Compileerimis softi soovitada?

      Comment


        #4
        Vs: K: Picall uue pici lisamine

        Esmalt postitatud Factor poolt
        Veel otsin varjanti, kuidas PIC12F629 jaoks kirjutatud kood compileerida PIC12F675 jaoks.
        Muuda prose nimi ära )koodi alguses). Lülita välja A/D muundi ja kõik pinnid digisisenditeks. Muud ei peaks vaja olema. Kompileerid MPLAB IDE-ga.
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment


          #5
          Vs: K: Picall uue pici lisamine

          Esmalt postitatud felch poolt
          Muuda prose nimi ära )koodi alguses). Lülita välja A/D muundi ja kõik pinnid digisisenditeks. Muud ei peaks vaja olema. Kompileerid MPLAB IDE-ga.
          Tänud Felc!
          Sellest oli palju abi!
          Mainin ära, et tegu on AK- Kaartlukk2 koodiga.
          Tegin siis nii:
          Muutsin Prose nime koodi alguses (INCLUDE "P12F675.inc"), ja panin samasse folderisse ka uue P12F675.inc faili. Siis otsisin igasugu näiteid netist ja tegin Analog/digital muundi keelamisega nii:

          ; **** pordid ****
          movlw 0x07 ; komparaator ära
          movwf CMCON
          clrf TMR0
          movlw b'00101000' ; GIE =PEIE=OFF,T0IE=ON,INTE=OFF,GPIE=ON, katkestusi ei ole olnud
          movwf INTCON
          clrf GPIO ; nulli port
          bsf pank
          movlw b'00000001' ; WPU-d sisse,INT GP2 langevalt,TMR0 sis. tõusv. taktiga, prescaler 1:4
          movwf OPTION_REG
          movlw b'00111010' ; CLK,DATA,nupud sisendid, LED ja Lukk väljundid
          movwf TRISIO
          movlw b'00111010' ; WPU-d sisenditele
          movwf WPU
          movlw b'00100000' ; IOC katkestus vaid CLK-le
          movwf IOC
          bcf pank
          movlw b'00111111' ; port sellisesse lähteseisu
          movwf GPIO
          ;*** A/D välja ***
          movlw 0x07
          movwf 1Fh
          movlw 0x07
          movwf 9Fh
          ; **** taimerid ****
          movlw 0x30
          movwf T1CON ; taimer 1 annab 0,5 sekundit viidet
          clrf TMR1L
          clrf TMR1H

          Kas sai õigesit?
          Igaljuhul MPASMWIN compileeris ilusti.
          Siit tekkis nüüd järgmine probleem.
          Nagu eelpool postituses mainitud sai, kasutan PIC16pro programaatorit ja PICALL tarkvara.
          kuna Picall on mul Unregistered - Demo Mode's ja 256 byte liimiidiga. Seega ei saa ma sellega seda programmi kivisse kirjutada.
          Kas oskab keegi soovitada mõnda muud tarkvara, mis antud proramaatoriga "sina peal" oleks ja ilma piiranguteta.
          Factor

          Comment


            #6
            Vs: K: Picall uue pici lisamine

            Või on Analog/digital muundi keelamisega hoopis nii:

            ; **** pordid ****
            movlw 0x07 ; komparaator ära
            movwf CMCON
            clrf TMR0
            movlw b'00101000' ; GIE =PEIE=OFF,T0IE=ON,INTE=OFF,GPIE=ON, katkestusi ei ole olnud
            movwf INTCON
            clrf GPIO ; nulli port
            bsf pank
            movlw b'00000001' ; WPU-d sisse,INT GP2 langevalt,TMR0 sis. tõusv. taktiga, prescaler 1:4
            movwf OPTION_REG
            movlw b'00111010' ; CLK,DATA,nupud sisendid, LED ja Lukk väljundid
            movwf TRISIO
            clrf ANSEL ; A/D keelatud
            movlw b'00111010' ; WPU-d sisenditele
            movwf WPU
            movlw b'00100000' ; IOC katkestus vaid CLK-le
            movwf IOC
            bcf pank
            movlw b'00111111' ; port sellisesse lähteseisu
            movwf GPIO
            ; **** taimerid ****
            movlw 0x30
            movwf T1CON ; taimer 1 annab 0,5 sekundit viidet
            clrf TMR1L
            clrf TMR1H

            Mida rohkem ma seda assemblerit uurin, seda segasemaks läheb on ikka segane "keel"
            teises kohas jälle sedamoodi:
            movwf ADCON0

            Comment


              #7
              Vs: K: Picall uue pici lisamine

              Elou!

              See et kompileerus ei tähenda, et programm õieti jookseb

              movlw 0x07
              movwf 1Fh <- ADCON0 A/D CONTROL REGISTER
              movlw 0x07
              movwf 9Fh <- ANSEL analog select register

              0x07 on binaaris "00000111" siis seljuhul
              ANSEL ANS3:ANS0: Analog Select bits

              1 = Analog input; pin is assigned as analog input(1)

              0 = Digital I/O; pin is assigned to port or special function

              et siis movlw 0x00 või clrf ANSEL peaks muutma Digital I/O

              Parimat soovides,

              gOb

              Meie üle nalja ei mõisteta!

              Comment


                #8
                Vs: K: Picall uue pici lisamine

                Esmalt postitatud gob poolt
                Elou!

                See et kompileerus ei tähenda, et programm õieti jookseb

                movlw 0x07
                movwf 1Fh <- ADCON0 A/D CONTROL REGISTER
                movlw 0x07
                movwf 9Fh <- ANSEL analog select register

                0x07 on binaaris "00000111" siis seljuhul
                ANSEL ANS3:ANS0: Analog Select bits

                1 = Analog input; pin is assigned as analog input(1)

                0 = Digital I/O; pin is assigned to port or special function

                et siis movlw 0x00 või clrf ANSEL peaks muutma Digital I/O

                Parimat soovides,

                gOb

                Tänud GOB

                Seega määrasin mina
                movlw 0x07
                movwf 1Fh <- ADCON0 A/D CONTROL REGISTER
                movlw 0x07
                movwf 9Fh <- ANSEL analog select register

                Pordi GP0, GP1, GP2 ehk koivad 7, 6 ja 5 hoopis Analog sisenditeks.

                Aga tuleks kasutada kas clrf ANSEL või sama teeb välja:
                movlw 0x00
                movwf 1Fh
                movlw 0x00
                movwf 9Fh

                ja kolmas varjant sama liigutuse tegemiseks oleks:
                movlw b'00000000'
                movwf ADCON0

                sain ma õigesti aru?
                Kas eelpool postis näha olevas koodi lõikkes on see vähemalt õigesse kohta kirjutatud?

                Tarkvara kohapealt puurisin ja uurisin kah netis ringi, räägivad, et IC-prog pidavat ka PIC16Pro rauda tunnistama, seaded leidsin siit http://www.hot.ee/lennuki/tools/settings.gif IC prog asub küll meelsasti toimetama, kuid midagi programaatorini, rääkimata kivini ei jõua
                Programaator on igaljuhul töökorras, kuna lühemad PICALL tarkvaraga, mis väiksemad kui 256 byte koodijupid, PIC16F84A ja 16F628 kirjutab kenasti.
                Või on veel vabavarana saadaval mõni soft, mis PIC16Pro rauaga ühilduks?

                Comment


                  #9
                  Vs: K: Picall uue pici lisamine

                  On selline: http://www.semis.demon.co.uk/Pics/PICmain.htm aga see on erald i raud.
                  Kui nagunii terve PICi progejasse panid, oleks võinud võtta www.kitsrus.com -i oma. KIT128.
                  AD muundi välja lülitamine on õiges paigas küll. Teegelikult võib ta olla suvalises kohas aga tuleb jälgida, et registrite mälupangad oleksid õiged (ADCON1 oli vist pangas 1).
                  - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                  - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                  Comment


                    #10
                    Vs: K: Picall uue pici lisamine

                    Tänud siiani aitajaile!

                    Nii siis, praeguseks, leidsin mingi versiooni PICALL tarkvarast, millel seda 256 byte piirangut ei ole.

                    Progema hakkab PIC'i kenasti, kuid lõpuks saan Õigsus kontrollil (Verify)siiski järgneva errori:


                    Kas siin on tegemist veel koodi veaga, et miskit tuleb veel koodis muuta, et see PIC12F675 -ele söödav oleks?


                    Kood ise: Siin

                    Comment


                      #11
                      Vs: K: Picall uue pici lisamine

                      Progeja antud vead ei ole kunagi koodist tingitud vaid ikkagi progejast enesest. Alguses ta kirjutab pimesi ilma kontrollita. Hiljem selgub, et jama majas. Seega ta tõenäoliselt ei kirjuta üldse (viga kohe 0-adrel)!. Veenduda saad nii, kui loed kivi. Arvattavasti on ta tühi v.a. esimene bait.
                      Pead ikkagi progeja softi või rauda uurima.
                      - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                      - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                      Comment


                        #12
                        Vs: K: Picall uue pici lisamine

                        Esmalt postitatud felch poolt
                        Progeja antud vead ei ole kunagi koodist tingitud vaid ikkagi progejast enesest. Alguses ta kirjutab pimesi ilma kontrollita. Hiljem selgub, et jama majas. Seega ta tõenäoliselt ei kirjuta üldse (viga kohe 0-adrel)!. Veenduda saad nii, kui loed kivi. Arvattavasti on ta tühi v.a. esimene bait.
                        Pead ikkagi progeja softi või rauda uurima.
                        Midagi ta ikka sinna kirjutab, uuesti maha lugedes sealt ikka ühtteist tuleb.
                        HEX to asembler konverterit pole, kuid hex'is tuleb sealt miski selline joru maha
                        Kood:
                        :06000000000000000000FA
                        :06000600000000000000F4
                        :06000C00000000000000EE
                        :06001200000000000000E8
                        :06001800000000000000E2
                        :06001E00000000000000DC
                        :06002400000000000000D6
                        :06002A00000000000000D0
                        :06003000000000000000CA
                        :06003600000000000000C4
                        :06003C00000000000000BE
                        :06004200000000000000B8
                        :06004800000000000000B2
                        :06004E00000000000000AC
                        :06005400000000000000A6
                        :06005A00000000000000A0
                        :060060000000000000009A
                        :0600660000000000000094
                        :06006C000000000000008E
                        :0600720000000000000088
                        :060078000000FFFFFFFF86
                        :00000001FF

                        Comment


                          #13
                          Vs: K: Picall uue pici lisamine

                          Nii, olen siis edasi jõudnud sinnamaani, et programmi saan kivisse (nii 12F629 kui ka 12F675-te)j a võiks öelda, et asi isegi mingilmääral töötab kuid probleeme ikka veel jagub.
                          Alustaks siis programeerimise jamast.
                          Niisiis, programeerib kenasti ära:


                          Juhin tähelepanu, et paremal üleval seadetes on olemas "linnuke" Verify after program.
                          Kui nüüd ise vajutada nuppu Verify, siis annab aga:


                          Mina ei suutnud põhjust leida.

                          Edasi proovisin siis siiki proovida, mis ta skeemis teeb.

                          Registreerisin esimese kaardi A, kõik korras, registreeris ja avas edukalt.

                          Registreerisin teise kaardi B, kõik korras, registreeris ja avas edukalt.
                          Kuid nüüd proovides avada kaardiga A, vilgutab mulle, et kaart tundmatu ja ust ei avata.
                          Proovides avada kaardiga B, avab edukalt.
                          Kokkuvõttes tuneb ta ära ainult viimase registreeritud kaardi.

                          Lugesin Data kivilt maha, sain järgmise tulemuse:

                          Kood:
                          :0600000092336565002249
                          :060006005346000000005B
                          :06000C00000000000000EE
                          :060012004910792711617D
                          :060018002252000000006E
                          :06001E00000000000000DC
                          :06002400000000000000D6
                          :06002A00000000000000D0
                          :06003000000000000000CA
                          :06003600000000000000C4
                          :06003C00000000000000BE
                          :06004200000000000000B8
                          :06004800000000000000B2
                          :06004E00000000000000AC
                          :06005400000000000000A6
                          :06005A00000000000000A0
                          :060060000000000000009A
                          :0600660000000000000094
                          :06006C000000000000008E
                          :0600720000000000000088
                          :060078009A02FFFFFFFFEA
                          :00000001FF
                          Et paremini aru saada avasin selle ICprogis:


                          Kood:
                          0000: 92 33 65 65 00 22 53 46  ’3ee."SF
                          0008: 00 00 00 00 00 00 00 00  ........
                          0010: 00 00 49 10 79 27 11 61  ..I.y'.a
                          0018: 22 52 00 00 00 00 00 00  "R......
                          0020: 00 00 00 00 00 00 00 00  ........
                          0028: 00 00 00 00 00 00 00 00  ........
                          0030: 00 00 00 00 00 00 00 00  ........
                          0038: 00 00 00 00 00 00 00 00  ........
                          0040: 00 00 00 00 00 00 00 00  ........
                          0048: 00 00 00 00 00 00 00 00  ........
                          0050: 00 00 00 00 00 00 00 00  ........
                          0058: 00 00 00 00 00 00 00 00  ........
                          0060: 00 00 00 00 00 00 00 00  ........
                          0068: 00 00 00 00 00 00 00 00  ........
                          0070: 00 00 00 00 00 00 00 00  ........
                          0078: 9A 02 FF FF FF FF FF FF  š.˙˙˙˙˙˙
                          Esimesel real olev number on viimase registreeritud kaardi number (B).
                          Kolmandal real olev number, jätkub neljandal real on siis esimesena registreeritud kaardi numebr (A).
                          Minu arusaama järgi peaks ta siiski olema kohe teisel real ja ei tohiks jätkuda järgmisel real.
                          Kuid mingil minule veel tundmatul põhjusel pistab ta selle siiski valesse kohta, kas äkki eelpool mainitud error on sellega seotud?

                          Comment


                            #14
                            Vs: K: Picall uue pici lisamine

                            Pole päris kindel kuid ehk on fuse'de erinevus tiingitud sellest, et koodis olid antud mingi teise prose kalibreerimisekonstant ja Vbias? Tuleb alati lugeda just selle prose oma, mida kirjutad!
                            Kas see kood on minu kirjutatud magnetkaardiga lukk? Ma hakkan arvama, et seal võib viga sees olla (END-sentinelli arvestamise juures). Tõsi, ta töötas umbes 20 kaardiga (või umbes niipaljudega) aga äkki siiski. Võib-olla on asi selles,et kaardi number on koodile tundmatus formaadis, mida lukk ei oska õigesti händlida. Kui viga püsib, anna teada, vaatan koodi üle.
                            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                            Comment


                              #15
                              Vs: K: Picall uue pici lisamine

                              Esmalt postitatud felch poolt
                              Pole p&#228;ris kindel kuid ehk on fuse'de erinevus tiingitud sellest, et koodis olid antud mingi teise prose kalibreerimisekonstant ja Vbias? Tuleb alati lugeda just selle prose oma, mida kirjutad!
                              Peaks justkui olema, koodis on viidatud P12F629.INC ja see fail samas folderis olemas
                              Kood:
                               INCLUDE "P12F629.inc"
                              Esmalt postitatud felch poolt
                              Kas see kood on minu kirjutatud magnetkaardiga lukk?
                              Jah t&#228;pselt nii see on tegemist on Sinu kirjutatud koodiga, (vt. 18-12-06 16:19 postitust).
                              Esmalt postitatud felch poolt
                              Ma hakkan arvama, et seal v&#245;ib viga sees olla (END-sentinelli arvestamise juures). T&#245;si, ta t&#246;&#246;tas umbes 20 kaardiga (v&#245;i umbes niipaljudega) aga &#228;kki siiski. V&#245;ib-olla on asi selles,et kaardi number on koodile tundmatus formaadis, mida lukk ei oska &#245;igesti h&#228;ndlida. Kui viga p&#252;sib, anna teada, vaatan koodi &#252;le.
                              Nii siitmaalt l&#228;ks "kirjuks" tehniliseks keeleks &#228;ra, sentinell, kas selle all on m&#245;eldud stardi baiti?
                              &#220;ldiselt ei ole jah veel rohtu leidnud nendele probleemidele.
                              Kui sa leiad aega kood &#252;le vaadata, siis oleksin sulle v&#228;ga t&#228;nulik.
                              Kood mis ma kivisse kirjutasin on siin (tegelikult on ju see v&#245;etud AK FTP-st seega ei oma t&#228;htsust, millise koodi sa &#252;le vaatad).

                              Comment

                              Working...
                              X