Teade

Collapse

Foorumi reeglid.

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

AT89LS8252 DPTR1-e iseärasus

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

    AT89LS8252 DPTR1-e iseärasus

    Küsimus paadunud bitiväänajatele: kuidas on ikkagi korrektne pöörduda nimetet prose 2. datapointeri poole? Esiteks pean valima DPTR1-e, selge, tehtud! Kuid kas siis võib muutuja otse DPTR-i lükata (mov dptr,#1234h) või käib SEE käsk ikkagi algupärase DPTR-i kohta? Jääb mulje et nii on (kood solgib pointer 0-i ära kuigi peaks kasutama pointer 1-e) aga ehk ei saanud asjale õigesti pihta.
    Lisamärkus: on olemas registrid DPL ja DPH (nagu ikka) ja lisaks DPL1 ning DPH1. Otse neisse muutuja kirjutamisel asi töötab (mitte sellel prosel vaid Dallase omal)! Aga mis on siis DPTR-i valiku biti sügav mõte? Datasheedilt mina küll probleemi lahendust näha ei osanud...
    Tänks!

    /Felch, DPTR-iga löödud...
    - 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
    DPS-i selektimisel näpukat ei ole teinud?
    Mingi asi kirjutab WMCON-i üle, näiteks katkestus?

    Comment


      #3
      Selles kohas ei kasuta katkestust, kõik keelatud. Sätin WMCON.2 püsti ja hiljem maha. Ei aita!!??
      Niiviisi:
      LoeACC:; dec acc ; indekseerime õigesti
      add a,dpl ;
      mov dpl,a
      LoeACC2: mov a,Diktor ; valime lugeja
      dec a
      mov dph,a
      call getepr1 ; saa saundi aadress ISD-s
      mov dpl,a ; formeerime aadressi ISD kivile
      ; mov dph,#00h
      mov a,Diktor ; valime lugeja
      dec a
      mov dph,a
      ;**************** eelmine DPTR hoiab saundi aadressi kuid see solgitaksegi ära. Lülitaks nagu enda arust ümber aga... **********************************************
      mov a,WMCON
      setb acc.2 ; vali DPTR2
      mov WMCON,a
      mov a,#PWRUP ; sünt käima !
      mov dptr,#0000h
      call write_spi_byte
      mov a,r7
      push acc
      mov r7,#51 ; Tpud viide
      loedel: call dly
      djnz r7,loedel
      pop acc
      mov r7,a
      ;***************** tagasi esimesele. Peaks taastuma endine aadres aga võta näpust...**********************
      mov a,WMCON
      clr acc.2 ; vali DPTR1
      mov WMCON,a

      mov a,#SPLAY ; saadame aadressi (DPTR) sündile
      call write_spi_byte
      LoeACC1: jb SINT,LoeACC1 ; oota plära lõppu

      mov a,WMCON
      setb acc.2 ; vali DPTR2
      mov WMCON,a

      mov a,#STPPWRDN ; möla maha
      mov dptr,#ADDRESS_0
      call write_spi_byte
      mov a,r7
      push acc
      mov r7,#51 ; Tpud viide
      loedel1: call dly
      djnz r7,loedel1
      pop acc
      mov r7,a

      mov a,WMCON
      clr acc.2 ; vali DPTR1
      mov WMCON,a
      ret


      Kes oskab midagi tarka arvata sellest jurast? (Katkestused keelatud sel hetkel.)
      - 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