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

📄 wsd.ls1

📁 湿度采集模块
💻 LS1
📖 第 1 页 / 共 5 页
字号:
0009 C3              448             CLR     C
000A ED              449             MOV     A,R5
000B 9F              450             SUBB    A,R7
000C EC              451             MOV     A,R4
000D 9E              452             SUBB    A,R6
000E 5007            453             JNC     ?C0004
0010 0D              454             INC     R5
A51 MACRO ASSEMBLER  WSD                                                                  10/19/2004 21:04:51 PAGE     8

0011 BD0001          455             CJNE    R5,#00H,?C0097
0014 0C              456             INC     R4
0015                 457     ?C0097:
0015 80F2            458             SJMP    ?C0001
                     459     ; }
                     460                             ; SOURCE LINE # 61
0017                 461     ?C0004:
0017 22              462             RET     
                     463     ; END OF _delay1
                     464     
                     465     ; //****************************/
                     466     ; void d595(uchar temp)
                     467     
----                 468             RSEG  ?PR?_d595?WSD
0000                 469     _d595:
                     470             USING   0
                     471                             ; SOURCE LINE # 63
                     472     ;---- Variable 'temp?142' assigned to Register 'R7' ----
                     473     ; {
                     474                             ; SOURCE LINE # 64
                     475     ; uchar j;
                     476     ; for (j=0;j<8;j++)
                     477                             ; SOURCE LINE # 66
                     478     ;---- Variable 'j?143' assigned to Register 'R6' ----
0000 E4              479             CLR     A
0001 FE              480             MOV     R6,A
0002                 481     ?C0005:
                     482     ;    {
                     483                             ; SOURCE LINE # 67
                     484     ;      temp=temp>>1; 
                     485                             ; SOURCE LINE # 68
0002 EF              486             MOV     A,R7
0003 C3              487             CLR     C
0004 13              488             RRC     A
0005 FF              489             MOV     R7,A
                     490     ;        SER=CY; 
                     491                             ; SOURCE LINE # 69
0006 92A5            492             MOV     SER,C
                     493     ;        SRCLK=1; SRCLK=0;
                     494                             ; SOURCE LINE # 70
0008 D2A7            495             SETB    SRCLK
000A C2A7            496             CLR     SRCLK
                     497     ;    }
                     498                             ; SOURCE LINE # 71
000C 0E              499             INC     R6
000D BE08F2          500             CJNE    R6,#08H,?C0005
0010                 501     ?C0006:
                     502     ;  RCLK1=0; RCLK1=1;
                     503                             ; SOURCE LINE # 72
0010 C2A6            504             CLR     RCLK1
0012 D2A6            505             SETB    RCLK1
                     506     ; }
                     507                             ; SOURCE LINE # 73
0014 22              508             RET     
                     509     ; END OF _d595
                     510     
                     511     ; /*-------------------------------*/
                     512     ; uint cjtemp(void)
                     513     
----                 514             RSEG  ?PR?cjtemp?WSD
0000                 515     cjtemp:
                     516             USING   0
                     517                             ; SOURCE LINE # 75
                     518     ; {uint z; 
                     519                             ; SOURCE LINE # 76
                     520     ; #pragma asm
A51 MACRO ASSEMBLER  WSD                                                                  10/19/2004 21:04:51 PAGE     9

                     521     ; GET_TEMP:
0000                 522               GET_TEMP:
                     523     ;         //CLR EA                ;使用ds1820一定要禁止任何中断产生
                     524               
                     525     ;         ACALL INT            ;调用初使化子程序
0000 1100     F      526               ACALL INT            ;调用初使化子程序
                     527     ;         MOV A,#0CCH
0002 74CC            528               MOV A,#0CCH
                     529     ;         ACALL WRITE     ;送入跳过ROM命令
0004 1100     F      530               ACALL WRITE     ;送入跳过ROM命令
                     531     ;         MOV A, #44H
0006 7444            532               MOV A, #44H
                     533     ;         ACALL WRITE     ;送入温度转换命令
0008 1100     F      534               ACALL WRITE     ;送入温度转换命令
                     535     ;         ACALL INT           ;温度转换完全,再次初使化ds1820
000A 1100     F      536               ACALL INT           ;温度转换完全,再次初使化ds1820
                     537     ;         MOV A,#0CCH
000C 74CC            538               MOV A,#0CCH
                     539     ;         ACALL WRITE     ;送入跳过ROM命令
000E 1100     F      540               ACALL WRITE     ;送入跳过ROM命令
                     541     ;         MOV A,#0BEH
0010 74BE            542               MOV A,#0BEH
                     543     ;         ACALL WRITE     ;送入读温度暂存器命令
0012 1100     F      544               ACALL WRITE     ;送入读温度暂存器命令
                     545     ;         ACALL READ
0014 1100     F      546               ACALL READ
                     547     ;         mov r7,a             ;读出温度值低字节存入R7
0016 FF              548               mov r7,a             ;读出温度值低字节存入R7
                     549     ;         ACALL READ
0017 1100     F      550               ACALL READ
                     551     ;         ;lr ACC.7
                     552               ;lr ACC.7
                     553     ;         mov r6,a             ;读出谩度值高字节存入R6
0019 FE              554               mov r6,a             ;读出谩度值高字节存入R6
                     555     ;         SETB EA
001A D2AF            556               SETB EA
                     557     ;      RET
001C 22              558               RET
                     559     ;   INT:   
001D                 560               INT:   
                     561     ;         CLR EA                  ;初始化ds1820子程序
001D C2AF            562               CLR EA                  ;初始化ds1820子程序
                     563     ;      L0:CLR ds1820           ;ds1820总线为低复位电平87460452
001F C2A0            564               L0:CLR ds1820           ;ds1820总线为低复位电平87460452
                     565     ;         MOV R2,#200
0021 7AC8            566               MOV R2,#200
                     567     ;      L1:CLR ds1820
0023 C2A0            568               L1:CLR ds1820
                     569     ;         DJNZ R2,L1           ;总线复位电平保持400us
0025 DAFC            570               DJNZ R2,L1           ;总线复位电平保持400us
                     571     ;         SETB ds1820             ;释放ds1820总线
0027 D2A0            572               SETB ds1820             ;释放ds1820总线
                     573     ;         MOV R2,#30
0029 7A1E            574               MOV R2,#30
                     575     ;      L4:DJNZ R2,L4         ;释放ds1820总线保持60us
002B DAFE            576               L4:DJNZ R2,L4         ;释放ds1820总线保持60us
                     577     ;         CLR C                    ;清存在信号(存在C=0,不存在C=1)
002D C3              578               CLR C                    ;清存在信号(存在C=0,不存在C=1)
                     579     ;         ORL C,ds1820
002E 72A0            580               ORL C,ds1820
                     581     ;         ;JC L0
                     582               ;JC L0
                     583     ;         MOV R6,#80
0030 7E50            584               MOV R6,#80
                     585     ;      L5:ORL C,ds1820
0032 72A0            586               L5:ORL C,ds1820
A51 MACRO ASSEMBLER  WSD                                                                  10/19/2004 21:04:51 PAGE    10

                     587     ;         JC L3
0034 4002            588               JC L3
                     589     ;         DJNZ R6,L5
0036 DEFA            590               DJNZ R6,L5
                     591     ;         ;AJMP L0
                     592               ;AJMP L0
                     593     ;      L3:MOV R2,#240
0038 7AF0            594               L3:MOV R2,#240
                     595     ;      L2:DJNZ R2,L2    
003A DAFE            596               L2:DJNZ R2,L2    
                     597     ;         SETB EA
003C D2AF            598               SETB EA
                     599     ;      RET
003E 22              600               RET
                     601     ; WRITE:                         ;向ds1820写操作命令子程序
003F                 602               WRITE:                         ;向ds1820写操作命令子程序
                     603     ;         CLR EA
003F C2AF            604               CLR EA
                     605     ;         MOV R3,#8           ;写入ds1820的bit数,一个字节8个bit
0041 7B08            606               MOV R3,#8           ;写入ds1820的bit数,一个字节8个bit
                     607     ;     WR1:SETB ds1820
0043 D2A0            608               WR1:SETB ds1820
                     609     ;         MOV R4,#8
0045 7C08            610               MOV R4,#8
                     611     ;         RRC A                     ;把一个字节data(A)分成8个bit环移给 C
0047 13              612               RRC A                     ;把一个字节data(A)分成8个bit环移给 C
                     613     ;         CLR ds1820                 ;开始写入ds1820总线要处于复位(低)状态
0048 C2A0            614               CLR ds1820                 ;开始写入ds1820总线要处于复位(低)状态
                     615     ;     WR2:DJNZ R4,WR2     ;ds1820总线复位保持16us
004A DCFE            616               WR2:DJNZ R4,WR2     ;ds1820总线复位保持16us
                     617     ;         MOV ds1820,C               ;写入一个bit
004C 92A0            618               MOV ds1820,C               ;写入一个bit
                     619     ;         MOV R4,#20
004E 7C14            620               MOV R4,#20
                     621     ;     WR3:DJNZ R4,WR3     ;等待40us
0050 DCFE            622               WR3:DJNZ R4,WR3     ;等待40us
                     623     ;         DJNZ R3,WR1          ;写入下一个bit 
0052 DBEF            624               DJNZ R3,WR1          ;写入下一个bit 
                     625     ;         SETB ds1820                ;重新释放ds1820总线
0054 D2A0            626               SETB ds1820                ;重新释放ds1820总线
                     627     ;               SETB EA
0056 D2AF            628               SETB EA
                     629     ;      RET
0058 22              630               RET
                     631     ; READ:
0059                 632               READ:
                     633     ;         CLR EA
0059 C2AF            634               CLR EA
                     635     ;         MOV R6,#8            ;连续读8个bit
005B 7E08            636               MOV R6,#8            ;连续读8个bit
                     637     ;     RE1:CLR ds1820           ;读前总线保持为低
005D C2A0            638               RE1:CLR ds1820           ;读前总线保持为低
                     639     ;         MOV R4,#4
005F 7C04            640               MOV R4,#4
                     641     ;         NOP
0061 00              642               NOP
                     643     ;         SETB ds1820             ;开始读,总线释放
0062 D2A0            644               SETB ds1820             ;开始读,总线释放
                     645     ;     RE2:DJNZ R4,RE2     ;持续8us
0064 DCFE            646               RE2:DJNZ R4,RE2     ;持续8us
                     647     ;         MOV C,ds1820           ;从ds1820总线读得一个bit
0066 A2A0            648               MOV C,ds1820           ;从ds1820总线读得一个bit
                     649     ;         RRC A                    ;把读得的位值环移给 A
0068 13              650               RRC A                    ;把读得的位值环移给 A
                     651     ;         MOV R5,#30
0069 7D1E            652               MOV R5,#30
A51 MACRO ASSEMBLER  WSD                                                                  10/19/2004 21:04:51 PAGE    11

                     653     ;     RE3:DJNZ R5,RE3     ;持续60us
006B DDFE            654               RE3:DJNZ R5,RE3     ;持续60us
                     655     ;         DJNZ R6,RE1         ;读下一个bit
006D DEEE            656               DJNZ R6,RE1         ;读下一个bit
                     657     ;         SETB ds1820              ;重新释放ds1820总线
006F D2A0            658               SETB ds1820              ;重新释放ds1820总线
                     659     ;               SETB EA
0071 D2AF            660               SETB EA
                     661     ;      RET          
0073 22              662               RET          
                     663     ; #pragma endasm
                     664     ; 
                     665     ; return z;
                     666                             ; SOURCE LINE # 151
0074 AE00     F      667             MOV     R6,z?244
0076 AF00     F      668             MOV     R7,z?244+01H
                     669     ; }
                     670                             ; SOURCE LINE # 152
0078                 671     ?C0009:
0078 22              672             RET     
                     673     ; END OF cjtemp

⌨️ 快捷键说明

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