Teade

Collapse

Foorumi reeglid.

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

PIC'i ASCII arvude teisendus ujupunktiks

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

    PIC'i ASCII arvude teisendus ujupunktiks

    Õhtast, PICi gurud!

    Otsisin mis ma otsisin aga ei sattunud silma koodijuppi, mis teisendaks ASCII sümbolite kujulise arvu (näiteks 4,0147) Microchipi ujupunktkujule et teda siis FP-arvutile edasi sööta. Konverterit on vaja selleks et seadet kalibreerida: mõõdetakse pinge väärtus ja sisestatakse klaverilt. PIC rehkendab siis korrektciooni välja.
    Tõsi, asja annaks lahendada ka 1 potega AD Vref ahelas ja mõõdetava pinge väljatrükiga LCD-le aga see pole pooltki nii popp

    Ehk on keegi sellisele kooodijupile trehvanud ja teab linki soovitada?

    Tänks!

    PS: Assembleris ainult!
    PS. Sisendkuju võib olla ka BCD, packed BCD vms. lihtsalt töödeldav.

    LISA:
    Siit tekkis mõte: mis olex, kui sätiks foorumisse kleepuva teemana sorteeritud lingid erinevatele koodinäidetele? Ideaalis võiksid koodijupid olla lausa Tevalo serveris sest netist kipuvad parimad saidid ikka ära kaduma
    Oleks igatahes maru hea otcida...
    - 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
    Sry tülitamast., leidsin "ümber-nurga" lahenduse. Kuna koodiruumi on, saab lugeda arvu otse ja siis korrutada 0,01 või 0,01 jne. Toore jõuga peale...
    - 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


      #3
      Asi peaks nii toimuma:
      Võtad selle kümnendarvu pärast koma oleva osa ette. Korrutad seda aina kahega(nihe vasakule). Igal sammul vaatad, kas tekkis ületäitumine 10-süsteemi reeglite järgi, st kas 3-kohaline arv läks üle 999 vms ja kui muutus, siis lükkad 1 tulemuse registrisse paremalt sisse ja lahutad selle ületäitumise arvult(näiteks 1000) maha, muidu lükkad tulemusse paremalt nulli sisse. Seda asja teed niimitu tsüklit, kuni su kahendarvu registrile on ring peale tehtud. Seejärel lükkad samale tulemuse registrile vasakust servast sisse täisosa kahendkujul ja määrad eksponendiks täisosa kahendjärkude arvu.
      Muidugi annab asja niipalju optimeerida, et kohe algul ei lükata seda murdosa liigselt sisse ja täisosa pärast seda or'itakse juurde või jäetakse vähemalt viimastel sammudel see 2-ga korrutamine ära ja lükatakse siis täisosa kuskilt tempist paremale välja ja tulemusse vasakult sisse kuni temp==0 (seda on lihtsam teha, siis ei pea seda täisosa registri vasakusse serva toimetama)

      Comment


        #4
        See ka hea mõte! Proovin.
        - 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