⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 80c552

📁 里面包括很多的驱动程序的
💻
字号:
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 + -