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

📄 wsd1.ls1

📁 湿度采集模块
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     668     ;         MOV R4,#8
0045 7C08            669               MOV R4,#8
                     670     ;         RRC A                     ;把一个字节data(A)分成8个bit环移给 C
0047 13              671               RRC A                     ;把一个字节data(A)分成8个bit环移给 C
                     672     ;         CLR ds1820                 ;开始写入ds1820总线要处于复位(低)状态
0048 C2B4            673               CLR ds1820                 ;开始写入ds1820总线要处于复位(低)状态
                     674     ;     WR2:DJNZ R4,WR2     ;ds1820总线复位保持16us
004A DCFE            675               WR2:DJNZ R4,WR2     ;ds1820总线复位保持16us
                     676     ;         MOV ds1820,C               ;写入一个bit
004C 92B4            677               MOV ds1820,C               ;写入一个bit
                     678     ;         MOV R4,#20
004E 7C14            679               MOV R4,#20
                     680     ;     WR3:DJNZ R4,WR3     ;等待40us
0050 DCFE            681               WR3:DJNZ R4,WR3     ;等待40us
                     682     ;         DJNZ R3,WR1          ;写入下一个bit 
0052 DBEF            683               DJNZ R3,WR1          ;写入下一个bit 
                     684     ;         SETB ds1820                ;重新释放ds1820总线
0054 D2B4            685               SETB ds1820                ;重新释放ds1820总线
                     686     ;               SETB EA
0056 D2AF            687               SETB EA
                     688     ;      RET
0058 22              689               RET
                     690     ; READ:
0059                 691               READ:
                     692     ;         CLR EA
0059 C2AF            693               CLR EA
                     694     ;         MOV R6,#8            ;连续读8个bit
005B 7E08            695               MOV R6,#8            ;连续读8个bit
                     696     ;     RE1:CLR ds1820           ;读前总线保持为低
005D C2B4            697               RE1:CLR ds1820           ;读前总线保持为低
                     698     ;         MOV R4,#4
005F 7C04            699               MOV R4,#4
                     700     ;         NOP
0061 00              701               NOP
                     702     ;         SETB ds1820             ;开始读,总线释放
0062 D2B4            703               SETB ds1820             ;开始读,总线释放
                     704     ;     RE2:DJNZ R4,RE2     ;持续8us
0064 DCFE            705               RE2:DJNZ R4,RE2     ;持续8us
                     706     ;         MOV C,ds1820           ;从ds1820总线读得一个bit
0066 A2B4            707               MOV C,ds1820           ;从ds1820总线读得一个bit
                     708     ;         RRC A                    ;把读得的位值环移给 A
0068 13              709               RRC A                    ;把读得的位值环移给 A
                     710     ;         MOV R5,#30
0069 7D1E            711               MOV R5,#30
                     712     ;     RE3:DJNZ R5,RE3     ;持续60us
006B DDFE            713               RE3:DJNZ R5,RE3     ;持续60us
                     714     ;         DJNZ R6,RE1         ;读下一个bit
006D DEEE            715               DJNZ R6,RE1         ;读下一个bit
                     716     ;         SETB ds1820              ;重新释放ds1820总线
006F D2B4            717               SETB ds1820              ;重新释放ds1820总线
                     718     ;               SETB EA
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE    12

0071 D2AF            719               SETB EA
                     720     ;      RET          
0073 22              721               RET          
                     722     ; #pragma endasm
                     723     ; 
                     724     ; return z;
                     725                             ; SOURCE LINE # 184
0074 AE00     F      726             MOV     R6,z?245
0076 AF00     F      727             MOV     R7,z?245+01H
                     728     ; }
                     729                             ; SOURCE LINE # 185
0078                 730     ?C0011:
0078 22              731             RET     
                     732     ; END OF cjtemp
                     733     
                     734     ; //--------------------------------
                     735     ; uint wdcl(void)
                     736     
----                 737             RSEG  ?PR?wdcl?WSD1
0000                 738     wdcl:
                     739             USING   0
                     740                             ; SOURCE LINE # 187
                     741     ; { 
                     742                             ; SOURCE LINE # 188
                     743     ; wdz=cjtemp();
                     744                             ; SOURCE LINE # 189
0000 120000   F      745             LCALL   cjtemp
0003 8E00     F      746             MOV     wdz,R6
0005 8F00     F      747             MOV     wdz+01H,R7
                     748     ; if((wdz>>15)==1)
                     749                             ; SOURCE LINE # 190
0007 E500     F      750             MOV     A,wdz
0009 C4              751             SWAP    A
000A 13              752             RRC     A
000B 13              753             RRC     A
000C 13              754             RRC     A
000D 5401            755             ANL     A,#01H
000F 6401            756             XRL     A,#01H
0011 7006            757             JNZ     ?C0012
                     758     ;   {wdz=~wdz;}
                     759                             ; SOURCE LINE # 191
0013 6300FF   F      760             XRL     wdz+01H,#0FFH
0016 6300FF   F      761             XRL     wdz,#0FFH
0019                 762     ?C0012:
                     763     ;   wdz=((0x0ff0&wdz)>>4)*10+((0x0f&wdz)*6/10);
                     764                             ; SOURCE LINE # 192
0019 7E00            765             MOV     R6,#00H
001B E500     F      766             MOV     A,wdz+01H
001D 540F            767             ANL     A,#0FH
001F FF              768             MOV     R7,A
0020 7C00            769             MOV     R4,#00H
0022 7D06            770             MOV     R5,#06H
0024 120000   F      771             LCALL   ?C?IMUL
0027 7D0A            772             MOV     R5,#0AH
0029 120000   F      773             LCALL   ?C?UIDIV
002C AA06            774             MOV     R2,AR6
002E AB07            775             MOV     R3,AR7
0030 E500     F      776             MOV     A,wdz
0032 540F            777             ANL     A,#0FH
0034 FE              778             MOV     R6,A
0035 E500     F      779             MOV     A,wdz+01H
0037 54F0            780             ANL     A,#0F0H
0039 FF              781             MOV     R7,A
003A EE              782             MOV     A,R6
003B C4              783             SWAP    A
003C F8              784             MOV     R0,A
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE    13

003D 54F0            785             ANL     A,#0F0H
003F C8              786             XCH     A,R0
0040 68              787             XRL     A,R0
0041 FE              788             MOV     R6,A
0042 EF              789             MOV     A,R7
0043 C4              790             SWAP    A
0044 540F            791             ANL     A,#0FH
0046 48              792             ORL     A,R0
0047 FF              793             MOV     R7,A
0048 7C00            794             MOV     R4,#00H
004A 7D0A            795             MOV     R5,#0AH
004C 120000   F      796             LCALL   ?C?IMUL
004F EF              797             MOV     A,R7
0050 2B              798             ADD     A,R3
0051 F500     F      799             MOV     wdz+01H,A
0053 EE              800             MOV     A,R6
0054 3A              801             ADDC    A,R2
0055 F500     F      802             MOV     wdz,A
                     803     ;   if(wdz>1260){wdz=0;}
                     804                             ; SOURCE LINE # 193
0057 D3              805             SETB    C
0058 E500     F      806             MOV     A,wdz+01H
005A 94EC            807             SUBB    A,#0ECH
005C E500     F      808             MOV     A,wdz
005E 9404            809             SUBB    A,#04H
0060 4005            810             JC      ?C0013
0062 E4              811             CLR     A
0063 F500     F      812             MOV     wdz,A
0065 F500     F      813             MOV     wdz+01H,A
0067                 814     ?C0013:
                     815     ; return wdz;
                     816                             ; SOURCE LINE # 194
0067 AE00     F      817             MOV     R6,wdz
0069 AF00     F      818             MOV     R7,wdz+01H
                     819     ; }
                     820                             ; SOURCE LINE # 195
006B                 821     ?C0014:
006B 22              822             RET     
                     823     ; END OF wdcl
                     824     
                     825     ; /*-------------------------------*/
                     826     ; uchar RDSDZ(void)
                     827     
----                 828             RSEG  ?PR?RDSDZ?WSD1
0000                 829     RDSDZ:
                     830             USING   0
                     831                             ; SOURCE LINE # 197
                     832     ; {uchar i=0,z=0;
                     833                             ; SOURCE LINE # 198
                     834     ;---- Variable 'i?446' assigned to Register 'R7' ----
0000 E4              835             CLR     A
0001 FF              836             MOV     R7,A
                     837     ;---- Variable 'z?447' assigned to Register 'R6' ----
0002 FE              838             MOV     R6,A
0003                 839     ?C0015:
                     840     ; static uchar a,S1,S2,S3;
                     841     ; while(z<100)
                     842                             ; SOURCE LINE # 200
0003 EE              843             MOV     A,R6
0004 C3              844             CLR     C
0005 9464            845             SUBB    A,#064H
0007 501F            846             JNC     ?C0016
                     847     ;  {
                     848                             ; SOURCE LINE # 201
                     849     ;  if(plz<SDTAB[i]){i++;}
                     850                             ; SOURCE LINE # 202
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE    14

0009 EF              851             MOV     A,R7
000A 25E0            852             ADD     A,ACC
000C 2400     F      853             ADD     A,#LOW (SDTAB)
000E F582            854             MOV     DPL,A
0010 E4              855             CLR     A
0011 3400     F      856             ADDC    A,#HIGH (SDTAB)
0013 F583            857             MOV     DPH,A
0015 D3              858             SETB    C
0016 7401            859             MOV     A,#01H
0018 93              860             MOVC    A,@A+DPTR
0019 9500     F      861             SUBB    A,plz+01H
001B E4              862             CLR     A
001C 93              863             MOVC    A,@A+DPTR
001D 9500     F      864             SUBB    A,plz
001F 4003            865             JC      ?C0017
0021 0F              866             INC     R7
0022 80DF            867             SJMP    ?C0015
0024                 868     ?C0017:
                     869     ;  else{z=101;}
                     870                             ; SOURCE LINE # 203
0024 7E65            871             MOV     R6,#065H
                     872     ;  }
                     873                             ; SOURCE LINE # 204
0026 80DB            874             SJMP    ?C0015
0028                 875     ?C0016:
                     876     ; /*
                     877     ; if(msn==50)
                     878     ; {
                     879     ; a++;
                     880     ; if(a>4){a=1;}
                     881     ; switch(a)
                     882     ;      {
                     883     ;       case 1: S1=i;     break;  // 
                     884     ;       case 2: S2=i;     break;  // 
                     885     ;         case 3: S3=i;     break;  // 
                     886     ;         default: 
                     887     ;       SOUT=((S1+S2+S3)/3);     
                     888     ;         break;  // 
                     889     ;      }
                     890     ; */
                     891     ; return i;
                     892                             ; SOURCE LINE # 220
                     893     ; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -