U
user0123
Guest
Mana 68HC11 projekts ir pabeigts, bet, kad rāda temperatūru uz LCD tas vienmēr rāda 28,5 ° C, vai BCD - 00111001.Es nezinu, kāpēc.Es izlasīju kodu pāris reizes, lai pārliecinātos, ka man nebija darīt kaut ko nepareizi.Var kāds man palīdzēt.
Šis kods Es iedzēru no šejienes: http://www.emicros.com/ds1620.htm un grozīt tā maz, jo tas rāda 0 oC temperatūrā
Tas ir fragmenti kodu:RSTTEMP equ% 00100000
I_O equ% 00001000
SCLK equ% 00010000
ReadTemperature:
ldx # REGBLK
bset DDRD, x% 00111000
bclr PortD, x SCLK
bset PortD, x RSTTEMP
ldaa # $ AA
ldab # 8
ZS:
bclr PortD, x I_O
lsra
Bcc NS
bset PortD, x I_O
NS:
bset PortD, x SCLK
nop
nop
nop
bclr PortD, x SCLK
decb
BNE ZS
CLR TempLSB
CLR TempMSB
bclr DDRD, x I_O
ldab # 8
JJ:
nop
nop
nop
bset PortD, x SCLK
CLC
brclr PortD, x I_O HJ
sek
HJ:
ROR TempLSB
bclr PortD, x SCLK
decb
BNE JJ
bset PortD, x SCLK
brclr PortD, x I_O AD
ldaa # 1
staa TempMSB
AD:
bclr PortD, x SCLK
bset DDRD, x I_O
bclr PortD, x RSTTEMP
ldab TempLSB
RTS
BCD2STR:
psha
Anda # $ 0F
oraa # $ 30
staa 1, x
Pula
asra
asra
asra
asra
Anda # $ 0F
oraa # $ 30
staa 0, x
RTS
ldaa Str2 1
cmpa LastSecond
beq NoNewTemp
staa LastSecond
JSR ReadTemperature
lsrb
Bcc Set00
ldaa # 5 "
bra Set05
Set00:
ldaa # 0 "
Set05:
staa Str2 12
clra
TBA
ldx # Str2 9
JSR BCD2STR
clrb
ldab TempMSB
cmpb # $ 1
BNE NoNewTemp
ldaa # '-'
staa Str2 8
Šis kods Es iedzēru no šejienes: http://www.emicros.com/ds1620.htm un grozīt tā maz, jo tas rāda 0 oC temperatūrā
Tas ir fragmenti kodu:RSTTEMP equ% 00100000
I_O equ% 00001000
SCLK equ% 00010000
ReadTemperature:
ldx # REGBLK
bset DDRD, x% 00111000
bclr PortD, x SCLK
bset PortD, x RSTTEMP
ldaa # $ AA
ldab # 8
ZS:
bclr PortD, x I_O
lsra
Bcc NS
bset PortD, x I_O
NS:
bset PortD, x SCLK
nop
nop
nop
bclr PortD, x SCLK
decb
BNE ZS
CLR TempLSB
CLR TempMSB
bclr DDRD, x I_O
ldab # 8
JJ:
nop
nop
nop
bset PortD, x SCLK
CLC
brclr PortD, x I_O HJ
sek
HJ:
ROR TempLSB
bclr PortD, x SCLK
decb
BNE JJ
bset PortD, x SCLK
brclr PortD, x I_O AD
ldaa # 1
staa TempMSB
AD:
bclr PortD, x SCLK
bset DDRD, x I_O
bclr PortD, x RSTTEMP
ldab TempLSB
RTS
BCD2STR:
psha
Anda # $ 0F
oraa # $ 30
staa 1, x
Pula
asra
asra
asra
asra
Anda # $ 0F
oraa # $ 30
staa 0, x
RTS
ldaa Str2 1
cmpa LastSecond
beq NoNewTemp
staa LastSecond
JSR ReadTemperature
lsrb
Bcc Set00
ldaa # 5 "
bra Set05
Set00:
ldaa # 0 "
Set05:
staa Str2 12
clra
TBA
ldx # Str2 9
JSR BCD2STR
clrb
ldab TempMSB
cmpb # $ 1
BNE NoNewTemp
ldaa # '-'
staa Str2 8