📄 80c552读ds1820.txt
字号:
C51编程:谁能供89C51与DS1820(温度)汇编程序?谢谢!! [hxjzz] [24次] 01-5-15 上午 12:32:53
80c552读ds1820 [hylaliu] [23次] 01-5-16 下午 02:51:05
lctzc: nop
setb p3.5
mov r7,#02h
lcall yszc3
lcall fwyg
lcall fwyg1
lcall rst
lcall fwyg
lct1: jnb p3.5,lct1
mov a,#0cch ;jmp:rom.code
lcall wrt
mov a,#44h ;start.T
lcall wrt
lcall fwyg
lcall fwyg1
lct2: lcall read
cjne a,#0ffh,lct2
lcall fwyg
lcall rst
lcall fwyg
lct3: jnb p3.5,lct3
lcall fwyg
mov a,#0cch ;jmp:rom.code
lcall wrt
mov a,#0beh ;read.T
lcall wrt
lcall read ; 1
mov 40h,a ;tl:40
nop
lcall read ;2
mov 41h,a ;th:41 +,-?
nop
lcall read ;3
nop
nop
lcall read ;4
nop
nop
lcall read ;5
nop
nop
lcall read ;6
nop
nop
lcall read ;7
mov 42h,a ;count-r
nop
lcall read ;8
mov 43h,a ;count-p-c
nop
lcall read ;9
nop
lcall rst
lcall fwyg
lcall fwyg1
mov a,41h
jz ljzt ;+t
ljft: nop ;-t:js
mov a,40h
clr acc.0
cpl a
inc a ;-trd
mov b,#32h ;trd*50:30,31h
mul ab
mov 30h,a
mov a,b
mov 31h,a
mov a,43h ;(cout.p.c-count.rem)*100
clr c ;:50h,51h
subb a,42h
mov b,#64h
mul ab
mov 50h,a
mov 51h,b
mov 58h,43h
mov 59h,#00h
MOV R0,#50H
MOV R1,#58H
MOV R3,#02H
LCALL NIDV2 ;(cout.p.c-count.rem)*100/cout.p.c:50,51h
clr c
mov a,30h ;(trd*50)-(cout.p.c-count.rem)
*100/cout.p.c:50,51h
subb a,50h
mov 50h,a
mov a,31h
subb a,51h
mov 51h,a
mov 3bh,#0c0h
mov 58h,#0ah
mov 59h,#00h
MOV R0,#50H
MOV R1,#58H
MOV R3,#02H
LCALL NIDV2
mov flgt,#0ffh
mov wtl,50h
mov wth,51h
mov 30h,50h
mov 31h,51h
mov r0,#30h
mov r1,#50h
mov r7,#02h
lcall nibtd
mov 3ah,50h
mov a,51h
anl a,#0fh
orl a,#0b0h
mov 3bh,a
lcall fwyg
lcall xszc
mov r7,#05h
lcall yszc3
ret
ljzt: nop ;+t:js
mov a,40h
clr acc.0
mov b,#32h ;trd*50
mul ab
mov 30h,a
mov a,b
mov 31h,a
mov a,43h ;(cout.p.c-count.rem)*50
clr c ;:50h,51h
subb a,42h
mov b,#64h
mul ab
mov 50h,a
mov 51h,b
mov 58h,43h
mov 59h,#00h
MOV R0,#50H
MOV R1,#58H
MOV R3,#02H
LCALL NIDV2 ;(cout.p.c-count.rem)*50/cout.p.c
mov a,50h ;(cout.p.c-count.rem)*50/cout.p.c+
(trd*50):50,51h
add a,30h
mov 50h,a
mov a,51h
addc a,31h
mov 51h,a
mov 58h,#0ah
mov 59h,#00h
MOV R0,#50H
MOV R1,#58H
MOV R3,#02H
LCALL NIDV2
mov flgt,#00h
mov wtl,50h
mov wth,51h
mov 30h,50h
mov 31h,51h
mov r0,#30h
mov r1,#50h
mov r7,#02h
lcall nibtd
mov 3ah,50h
mov a,51h
anl a,#0fh
orl a,#0c0h
mov 3bh,a
lcall fwyg
lcall xszc
mov r7,#05h
lcall yszc3
ret
rst: clr p3.5
mov err,#00h
mov r6,#0c8h ;ys:800us
lcall ysdc1
setb p3.5
mov r6,#0eh ;ys:56us
lcall ysdc1
mov r6,#0ffh
rst2: nop
jnb p3.5,rst1
nop
djnz r6,rst2
mov err,#7fh ;ct.err
rst1: nop
ret
wrt: rrc a ;bit0
clr p3.5
mov r6,#06h
wrt0: djnz r6,wrt0 ;0:15us
nop
mov p3.5,c ;wr:bit0
mov r6,#16h ;keep:45us
wrt00: djnz r6,wrt00
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt1: djnz r6,wrt1 ;0:15us
nop
mov p3.5,c ;wr:bit1
mov r6,#16h ;keep:45us
wrt10: djnz r6,wrt10
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt2: djnz r6,wrt2 ;0:15us
nop
mov p3.5,c ;bit2
mov r6,#16h ;keep:45us
wrt20: djnz r6,wrt20
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt3: djnz r6,wrt3 ;0:15us
nop
mov p3.5,c ;wr:bit3
mov r6,#16h ;keep:45us
wrt30: djnz r6,wrt30
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt4: djnz r6,wrt4 ;0:15us
nop
mov p3.5,c ;bit4
mov r6,#16h ;keep:45us
wrt40: djnz r6,wrt40
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt5: djnz r6,wrt5 ;0:15us
nop
mov p3.5,c ;bit5
mov r6,#16h ;keep:45us
wrt50: djnz r6,wrt50
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt6: djnz r6,wrt6 ;0:15us
nop
mov p3.5,c ;wr:bit6
mov r6,#16h ;keep:45us
wrt60: djnz r6,wrt60
setb p3.5
rrc a
clr p3.5
mov r6,#06h
wrt7: djnz r6,wrt7 ;0:15us
nop
mov p3.5,c ;wr:bit7
mov r6,#16h ;keep:45us
wrt70: djnz r6,wrt70
setb p3.5
ret
read: clr p3.5 ;0:1us
nop
setb p3.5 ;1
mov r6,#04h ;keep:10us
read0: djnz r6,read0
nop
mov c,p3.5 ;rd:bit0
rrc a
mov r6,#0ah
lcall ysdc1 ;ys45us
nop
clr p3.5
nop
setb p3.5
mov r6,#04h
read1: djnz r6,read1
nop
mov c,p3.5 ;rd:bit1
rrc a
mov r6,#0ah
lcall ysdc1
clr p3.5
nop
setb p3.5
mov r6,#04h
read2: djnz r6,read2
nop
mov c,p3.5 ;rd:bit2
rrc a
mov r6,#0ah
lcall ysdc1 ;ys45us
clr p3.5
nop
setb p3.5
mov r6,#04h
read3: djnz r6,read3
nop
mov c,p3.5 ;rd:bit3
rrc a
mov r6,#0ah
lcall ysdc1
clr p3.5
nop
setb p3.5
mov r6,#04h
read4: djnz r6,read4
nop
mov c,p3.5 ;rd:bit4
rrc a
mov r6,#0ah
lcall ysdc1
clr p3.5
nop
setb p3.5
mov r6,#04h
read5: djnz r6,read5
nop
mov c,p3.5 ;rd:bit5
rrc a
mov r6,#0ah
lcall ysdc1
clr p3.5
nop
setb p3.5
mov r6,#04h
read6: djnz r6,read6
nop
mov c,p3.5 ;rd:bit6
rrc a
mov r6,#0ah
lcall ysdc1
clr p3.5
nop
setb p3.5
mov r6,#04h
read7: djnz r6,read7
nop
mov c,p3.5 ;rd:bit7
rrc a
mov r6,#0ah
lcall ysdc1
ret
回 [electricalchen] [13次] 01-5-24 上午 09:30:04
我也在写这个程序呢。不过已经完成了。
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2001
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -