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

📄 wsd1.ls1

📁 湿度采集模块
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     444     ;           6899,6887,6875,6863,6851,6839,6827,6815,6803,6791,
                     445     ;           6775,6763,6751,6739,6727,6715,6703,6691,6679,6667,
                     446     ;           6648,6636,6624,6612,6600,6588,6576,6564,6552,6540,
                     447     ;           6507,6495,6483,6471,6469,6447,6435,6423,6411,6409,
                     448     ;                 6381,6369,6357,6345,6333,6321,6309,6297,6285,6273,
                     449     ;           6238,6226,6214,6202,6190,6178,6166,6154,6142,6130,
                     450     ;           6068,6056,6044,6032,6020,6018,6006,5994,5982,5970,
                     451     ;                 };
                     452     ;                 /*
                     453     ;               {
                     454     ;        5970,5982,5994,6006,6018,6020,6032,6044,6056,6068,
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE     8

                     455     ;                6130,6142,6154,6166,6178,6190,6202,6214,6226,6238,
                     456     ;                6273,6285,6297,6309,6321,6333,6345,6357,6369,6381,
                     457     ;                6409,6411,6423,6435,6447,6469,6471,6483,6495,6507,
                     458     ;                6540,6552,6564,6576,6588,6600,6612,6624,6636,6648,
                     459     ;                6667,6679,6691,6703,6715,6727,6739,6751,6763,6775,
                     460     ;                6791,6803,6815,6827,6839,6851,6863,6875,6887,6899,
                     461     ;                6913,6925,6937,6949,6961,6973,6985,6997,7009,7021,
                     462     ;                7035,7047,7059,7071,7083,7095,7117,7129,7141,7153,
                     463     ;                7159,7171,7183,7195,7207,7219,7221,7233,7245,7285,
                     464     ;               };
                     465     ;               */
                     466     ; //-----------------------------
                     467     ; void delay1(uint ms)
                     468     
----                 469             RSEG  ?PR?_delay1?WSD1
0000                 470     L?0098:
                     471             USING   0
0000                 472     L?0099:
0000 900000   F      473             MOV     DPTR,#DAT1
0003 93              474             MOVC    A,@A+DPTR
0004 FF              475             MOV     R7,A
0005 120000   F      476             LCALL   _d595
0008                 477     L?0100:
0008 C296            478             CLR     SRCLK
000A D296            479             SETB    SRCLK
000C 7F1E            480             MOV     R7,#01EH
000E 7E00            481             MOV     R6,#00H
0010                 482     _delay1:
                     483             USING   0
                     484                             ; SOURCE LINE # 88
                     485     ;---- Variable 'ms?040' assigned to Register 'R6/R7' ----
                     486     ; {
                     487                             ; SOURCE LINE # 89
                     488     ; uint i;
                     489     ; for(i=0;i<ms;i++);            //Feed the dog
                     490                             ; SOURCE LINE # 91
                     491     ;---- Variable 'i?041' assigned to Register 'R4/R5' ----
0010 E4              492             CLR     A
0011 FD              493             MOV     R5,A
0012 FC              494             MOV     R4,A
0013                 495     ?C0001:
0013 C3              496             CLR     C
0014 ED              497             MOV     A,R5
0015 9F              498             SUBB    A,R7
0016 EC              499             MOV     A,R4
0017 9E              500             SUBB    A,R6
0018 5007            501             JNC     ?C0004
001A 0D              502             INC     R5
001B BD0001          503             CJNE    R5,#00H,?C0097
001E 0C              504             INC     R4
001F                 505     ?C0097:
001F 80F2            506             SJMP    ?C0001
                     507     ; }
                     508                             ; SOURCE LINE # 92
0021                 509     ?C0004:
0021 22              510             RET     
                     511     ; END OF _delay1
                     512     
                     513     ; //*******************************************
                     514     ; void d595(uchar x)
                     515     
----                 516             RSEG  ?PR?_d595?WSD1
0000                 517     L?0101:
                     518             USING   0
0000 E4              519             CLR     A
0001 93              520             MOVC    A,@A+DPTR
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE     9

0002 FF              521             MOV     R7,A
0003                 522     _d595:
                     523             USING   0
                     524                             ; SOURCE LINE # 94
                     525     ;---- Variable 'x?142' assigned to Register 'R7' ----
                     526     ; {
                     527                             ; SOURCE LINE # 95
                     528     ; uchar temp,j;
                     529     ;      temp=x; 
                     530                             ; SOURCE LINE # 97
                     531     ;---- Variable 'temp?143' assigned to Register 'R7' ----
                     532     ;        if(db==1)
                     533                             ; SOURCE LINE # 98
0003 300006   F      534             JNB     db?,?C0005
                     535     ;        {
                     536                             ; SOURCE LINE # 99
                     537     ;        if(db1==1){temp=temp|4;}
                     538                             ; SOURCE LINE # 100
0006 300003   F      539             JNB     db1,?C0005
0009 430704          540             ORL     AR7,#04H
                     541     ;        }
                     542                             ; SOURCE LINE # 101
000C                 543     ?C0005:
                     544     ; for (j=0;j<8;j++){
                     545                             ; SOURCE LINE # 102
                     546     ;---- Variable 'j?144' assigned to Register 'R6' ----
000C E4              547             CLR     A
000D FE              548             MOV     R6,A
000E                 549     ?C0007:
                     550     ;      temp=temp>>1; SER=CY; CLK=1; CLK=0;
                     551                             ; SOURCE LINE # 103
000E EF              552             MOV     A,R7
000F C3              553             CLR     C
0010 13              554             RRC     A
0011 FF              555             MOV     R7,A
0012 9294            556             MOV     SER,C
0014 D295            557             SETB    CLK
0016 C295            558             CLR     CLK
                     559     ;       }
                     560                             ; SOURCE LINE # 104
0018 0E              561             INC     R6
0019 BE08F2          562             CJNE    R6,#08H,?C0007
                     563     ; }
                     564                             ; SOURCE LINE # 105
001C                 565     ?C0010:
001C 22              566             RET     
                     567     ; END OF _d595
                     568     
                     569     ; /*-------------------------------*/
                     570     ; uint cjtemp(void)
                     571     
----                 572             RSEG  ?PR?cjtemp?WSD1
0000                 573     cjtemp:
                     574             USING   0
                     575                             ; SOURCE LINE # 107
                     576     ; {uint z; 
                     577                             ; SOURCE LINE # 108
                     578     ; 
                     579     ; #pragma asm
                     580     ; GET_TEMP:
0000                 581               GET_TEMP:
                     582     ;         //CLR EA                ;使用ds1820一定要禁止任何中断产生
                     583               
                     584     ;         ACALL INT            ;调用初使化子程序
0000 1100     F      585               ACALL INT            ;调用初使化子程序
                     586     ;         MOV A,#0CCH
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE    10

0002 74CC            587               MOV A,#0CCH
                     588     ;         ACALL WRITE     ;送入跳过ROM命令
0004 1100     F      589               ACALL WRITE     ;送入跳过ROM命令
                     590     ;         MOV A, #44H
0006 7444            591               MOV A, #44H
                     592     ;         ACALL WRITE     ;送入温度转换命令
0008 1100     F      593               ACALL WRITE     ;送入温度转换命令
                     594     ;         ACALL INT           ;温度转换完全,再次初使化ds1820
000A 1100     F      595               ACALL INT           ;温度转换完全,再次初使化ds1820
                     596     ;         MOV A,#0CCH
000C 74CC            597               MOV A,#0CCH
                     598     ;         ACALL WRITE     ;送入跳过ROM命令
000E 1100     F      599               ACALL WRITE     ;送入跳过ROM命令
                     600     ;         MOV A,#0BEH
0010 74BE            601               MOV A,#0BEH
                     602     ;         ACALL WRITE     ;送入读温度暂存器命令
0012 1100     F      603               ACALL WRITE     ;送入读温度暂存器命令
                     604     ;         ACALL READ
0014 1100     F      605               ACALL READ
                     606     ;         mov r7,a             ;读出温度值低字节存入R7
0016 FF              607               mov r7,a             ;读出温度值低字节存入R7
                     608     ;         ACALL READ
0017 1100     F      609               ACALL READ
                     610     ;         ;lr ACC.7
                     611               ;lr ACC.7
                     612     ;         mov r6,a             ;读出谩度值高字节存入R6
0019 FE              613               mov r6,a             ;读出谩度值高字节存入R6
                     614     ;         SETB EA
001A D2AF            615               SETB EA
                     616     ;      RET
001C 22              617               RET
                     618     ;   INT:   
001D                 619               INT:   
                     620     ;         CLR EA                  ;初始化ds1820子程序
001D C2AF            621               CLR EA                  ;初始化ds1820子程序
                     622     ;      L0:CLR ds1820           ;ds1820总线为低复位电平87460452
001F C2B4            623               L0:CLR ds1820           ;ds1820总线为低复位电平87460452
                     624     ;         MOV R2,#200
0021 7AC8            625               MOV R2,#200
                     626     ;      L1:CLR ds1820
0023 C2B4            627               L1:CLR ds1820
                     628     ;         DJNZ R2,L1           ;总线复位电平保持400us
0025 DAFC            629               DJNZ R2,L1           ;总线复位电平保持400us
                     630     ;         SETB ds1820             ;释放ds1820总线
0027 D2B4            631               SETB ds1820             ;释放ds1820总线
                     632     ;         MOV R2,#30
0029 7A1E            633               MOV R2,#30
                     634     ;      L4:DJNZ R2,L4         ;释放ds1820总线保持60us
002B DAFE            635               L4:DJNZ R2,L4         ;释放ds1820总线保持60us
                     636     ;         CLR C                    ;清存在信号(存在C=0,不存在C=1)
002D C3              637               CLR C                    ;清存在信号(存在C=0,不存在C=1)
                     638     ;         ORL C,ds1820
002E 72B4            639               ORL C,ds1820
                     640     ;         ;JC L0
                     641               ;JC L0
                     642     ;         MOV R6,#80
0030 7E50            643               MOV R6,#80
                     644     ;      L5:ORL C,ds1820
0032 72B4            645               L5:ORL C,ds1820
                     646     ;         JC L3
0034 4002            647               JC L3
                     648     ;         DJNZ R6,L5
0036 DEFA            649               DJNZ R6,L5
                     650     ;         ;AJMP L0
                     651               ;AJMP L0
                     652     ;      L3:MOV R2,#240
A51 MACRO ASSEMBLER  WSD1                                                                 11/03/2004 13:56:12 PAGE    11

0038 7AF0            653               L3:MOV R2,#240
                     654     ;      L2:DJNZ R2,L2    
003A DAFE            655               L2:DJNZ R2,L2    
                     656     ;         SETB EA
003C D2AF            657               SETB EA
                     658     ;      RET
003E 22              659               RET
                     660     ; WRITE:                         ;向ds1820写操作命令子程序
003F                 661               WRITE:                         ;向ds1820写操作命令子程序
                     662     ;         CLR EA
003F C2AF            663               CLR EA
                     664     ;         MOV R3,#8           ;写入ds1820的bit数,一个字节8个bit
0041 7B08            665               MOV R3,#8           ;写入ds1820的bit数,一个字节8个bit
                     666     ;     WR1:SETB ds1820
0043 D2B4            667               WR1:SETB ds1820

⌨️ 快捷键说明

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