Teade

Collapse

Foorumi reeglid.

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

AT89C2051 käsutsükkel

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

    AT89C2051 käsutsükkel

    Oleks vaja teada AT89C2051 käskude täitmiseks kuluvat aega. Teab ehk keegi viidata mingile andmelehele (põhilehel ei ole !) või on endal varuks?
    Tänud!
    - 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!

    #2
    Natuke asja uurides sain mina aru nii, et selle kiva 1 käsu täitmiseks läheb 12 kella impulssi. Käskude täimiseks kulunud täpsemad ajad saaks siit:
    http://www.8051.co.kr/html/development/pdf...mel/DOC0509.PDF (OSCILLATOR PERIODi alt)...
    A kas miskit simulaatorit ei ole selle kiva jaoks või? Üldjuhul nendega saab mõõta ühest käsust x käsuni kulunud aega (enne pannakse paika ka kella sagedus). Muidugi ei oleks vist ka ülal oleval PDFis sisalduvate andmete põhjal Visual Basicus mingi ajamõõtja progejupi kirjutamine väga suur töö!?

    Comment


      #3
      Tnx! Just seda tabelit oligi vaja.
      Mul on 1 8052 simulaator aga kas ta aegu ka mõõdab, ei tea. Ei ole arvanud et seoke asi sees on. Uurin järele.
      - 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


        #4
        Muide, kuna sa ilmselt tunned asm'i hästi ehk annad ideid. Probleem järgmine: AT89C2051-l jookseb korraga 4 katckestust - 2 taimerit ja 2 välist,mis aja mõõtmised käivitavad. nikaua, kuni taimeri katkestusi pole tulnud, on asi ok. Hiljem läheks nagu aeg valeks. Mismoodi sina probleemi lahendaksid? Registrid olen valinud nii,et nende sisu ühte puntrasse sattunud katkestused ära solkida ei saa. Mingi aja viga siiski tekib. Ideid?
        - 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
          Muide, kuna sa ilmselt tunned asm'i hästi
          Hea et keegi ka nii arvab... :P

          Mina olen asjast aru saand ka nii, et olenevalt eelneva käsu tüübist(et mitu kella perioodi selle täitmiseks kulub) muutub ka katkestuseni kuluv aeg (et kui näiteks korrutamise käsk võtab enne käsu lõpetamist rohkem aega, kui mõni teine käsk, seega jõuab selle katkestuse käskudeni uC mõned us hiljem).

          Olen märkand ka seda (simulaatoris), et mõned taimeri katkestused võtavad rohkem aega, kui teised ja samas mõne aja pärast hakkavad need vähem aega võtma, nii et suurema aja peale need väärtused kompenseeruvad. Kui palju sul see eksimine on? Ja kuda seda eksimist kindlaks tegid/teed?

          Comment


            #6
            Mu seade mõõdab 2 sisendi kaudu pulsside vahelisi aegu. Pulsijadad on omavahel nihkes ja see aeg tuleb ka leida.
            Erinevus tuleb: ntx 4ms asemel 3,09. See on juba tõsine viga. Pean veel uurima, ehk on asi eespool olevas rauas.
            - 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


              #7
              1 ms on tõesti suur viga...nii et peab ka olema kuskil süsteemis suur viga. Softiga küll vist nii palju mööda ei saa minna, kui just mõnda näpukat sees ei ole. A kas mõni teine käsurida seda katkestust segama ei hakka? Ennast tundes hakkaksin mina kahtlustama miskit näpukat koodis.
              Kahjuks on 2051 nii erinev nendest uC mida mina kasutan, nii et midagi täpsemat ei oska küll öelda :'( .

              Comment


                #8
                8051-l oli ju mingi katkestuse prioriteetide süsteem, vähemalt kunagi tegelesin 80C515A-ga seal oli 4 taset.
                Kui üks katkestus on aktiivne, siis teisi sama ja madalama prioriteediga ei arvestata kuni RETI käsuni.
                Kui tahad et katkestused saaksid üksteise "sisse" sõita, siis pead vastavas alamprogrammis katkestuste loa andma - ei mäleta asm-i käsku, kas läbi SETB IE käis ?
                veel oli mingi jama 2baidiste taimeriregistrite lugemisega , neid pidi õiges järjekorras lugema , või oli see mingil muul prosel, ähh ei viici.

                Comment


                  #9
                  Kõik see on mul tehtud, katkestused lubatud sobival ajal jne. Taimeri panen seisma ja siis loen ta sisu. Paari uS viga ei loe.
                  Jamad ikka püsivad kuid tunudb, et eespool olevas pulsiformeerijas. Tnx nõuannete eest!
                  - 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

                  Working...
                  X