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

📄 1

📁 RM51单片机实验板配套实验例程库
💻
📖 第 1 页 / 共 5 页
字号:
04FE DEFA            700                     DJNZ    R6,LOOP1820
0500 7E64            701                     MOV     R6, #064H               ; DELAY 200us
0502 DEFE            702                     DJNZ    R6, $                   ;
0504 80DE            703                     SJMP    INITDS1820              ;
0506 22              704                     RET                             ;
                     705     ;
0507 D293            706     INITDS1820OUT:  SETB    TEMPDIN                 ;
0509 22              707                     RET                             ;
                     708     ;
                     709     ;
                     710     ;**********************************************************
                     711     ;       读DS18B20的程序, 从DS18B20中读出一个字节的数据
                     712     ;**********************************************************
050A 7F08            713     READDS1820:     MOV     R7, #08H                ;
050C D293            714                     SETB    TEMPDIN                 ;
050E 00              715                     NOP                             ;
050F 00              716                     NOP                             ;
0510 C293            717     READDS1820LOOP: CLR     TEMPDIN                 ;
0512 00              718                     NOP                             ;
0513 00              719                     NOP                             ;
0514 00              720                     NOP                             ;
0515 D293            721                     SETB    TEMPDIN                 ;
0517 7E07            722                     MOV     R6, #07H                ; DELAY 15us
0519 DEFE            723                     DJNZ    R6, $                   ;
051B A293            724                     MOV     C, TEMPDIN              ;
051D 7E3C            725                     MOV     R6, #3CH                ; DELAY 120us
051F DEFE            726                     DJNZ    R6, $                   ;
0521 13              727                     RRC     A                       ;
0522 D293            728                     SETB    TEMPDIN                 ;
0524 DFEA            729                     DJNZ    R7, READDS1820LOOP      ;
0526 7E3C            730                     MOV     R6, #3CH                ; DELAY 120us
0528 DEFE            731                     DJNZ    R6, $                   ;
052A 22              732                     RET                             ;
                     733     ;
                     734     ;
                     735     ;**********************************************************
                     736     ;       写DS18B20的程序, 从DS18B20中写一个字节的数据
                     737     ;**********************************************************
052B 7F08            738     WRITEDS1820:    MOV     R7, #08H                ;
052D D293            739                     SETB    TEMPDIN                 ;
052F 00              740                     NOP                             ;
0530 00              741                     NOP                             ;
0531 C293            742     WRITEDS1820LOP: CLR     TEMPDIN                 ;
0533 7E07            743                     MOV     R6, #07H                ; DELAY 15us
0535 DEFE            744                     DJNZ    R6, $                   ;
0537 13              745                     RRC     A                       ;
0538 9293            746                     MOV     TEMPDIN, C              ;
053A 7E34            747                     MOV     R6, #34H                ; DELAY 104us
053C DEFE            748                     DJNZ    R6, $                   ;
053E D293            749                     SETB    TEMPDIN                 ;
0540 DFEF            750                     DJNZ    R7, WRITEDS1820LOP      ;
A51 MACRO ASSEMBLER  1302_12232F                                                          08/17/2005 07:55:12 PAGE    13

0542 22              751                     RET                             ;
                     752     ;
                     753     ;
                     754     ;**********************************************************
                     755     ;       READ TEMP
                     756     ;**********************************************************
0543 1204E4          757     READTEMP:       LCALL   INITDS1820              ;
0546 74CC            758                     MOV     A, #0CCH                ;
0548 12052B          759                     LCALL   WRITEDS1820             ; SKIP ROM
054B 7E34            760                     MOV     R6, #34H                ; DELAY 104us
054D DEFE            761                     DJNZ    R6, $                   ;
054F 7444            762                     MOV     A, #44H                 ;
0551 12052B          763                     LCALL   WRITEDS1820             ; START CONVERSION
0554 7E34            764                     MOV     R6, #34H                ; DELAY 104us
0556 DEFE            765                     DJNZ    R6, $           ;
0558 22              766                     RET                             ;
                     767     ;
0559 1204E4          768     READTEMP1:      LCALL   INITDS1820              ;
055C 74CC            769                     MOV     A, #0CCH                ;
055E 12052B          770                     LCALL   WRITEDS1820             ; SKIP ROM
0561 7E34            771                     MOV     R6, #34H                ; DELAY 104us
0563 DEFE            772                     DJNZ    R6, $                   ;
0565 74BE            773                     MOV     A, #0BEH                ;
0567 12052B          774                     LCALL   WRITEDS1820             ; SCRATCHPAD
056A 7E34            775                     MOV     R6, #34H                ; DELAY 104us
056C DEFE            776                     DJNZ    R6, $                   ;
056E 7D09            777                     MOV     R5, #09H                ;
0570 7830            778                     MOV     R0, #TEMPHEAD           ;
0572 75F000          779                     MOV     B,#00H
0575 12050A          780     READTEMP2:      LCALL   READDS1820              ;
0578 F6              781                     MOV     @R0, A                  ;
0579 08              782                     INC     R0                      ;
057A 120672          783     READTEMP21:     LCALL   CRC8CAL                 ;
057D DDF6            784                     DJNZ    R5, READTEMP2           ;
057F E5F0            785                     MOV     A, B                    ;
0581 7008            786                     JNZ     READTEMPOUT             ;
0583 E530            787                     MOV     A, TEMPHEAD + 0         ;
0585 F526            788                     MOV     TEMPL, A                ;
0587 E531            789                     MOV     A, TEMPHEAD + 1         ;
0589 F527            790                     MOV     TEMPH, A                ;
058B 22              791     READTEMPOUT:    RET                             ;
                     792     ;
                     793     ;
                     794     ;**********************************************************
                     795     ;       处理温度 BCD 码子程序
                     796     ;**********************************************************
058C E527            797     CONVTEMP:       MOV     A, TEMPH                ;
058E 5480            798                     ANL     A, #80H                 ;
0590 6014            799                     JZ      TEMPC1                  ;
0592 C3              800                     CLR     C                       ;
0593 E526            801                     MOV     A, TEMPL                ;
0595 F4              802                     CPL     A                       ;
0596 2401            803                     ADD     A, #01H                 ;
0598 F526            804                     MOV     TEMPL, A                ;
059A E527            805                     MOV     A, TEMPH                ; -
059C F4              806                     CPL     A                       ;
059D 3400            807                     ADDC    A, #00H                 ;
059F F527            808                     MOV     TEMPH, A                ; TEMPHC HI = 符号位
05A1 752810          809                     MOV     TEMPHC, #10H            ;
05A4 8003            810                     SJMP    TEMPC11                 ;
                     811     ;
05A6 75280F          812     TEMPC1:         MOV     TEMPHC, #0FH            ; +
05A9 E528            813     TEMPC11:        MOV     A,TEMPHC
05AB C4              814                     SWAP    A
05AC F528            815                     MOV     TEMPHC,A
05AE E526            816                     MOV     A, TEMPL                ;
A51 MACRO ASSEMBLER  1302_12232F                                                          08/17/2005 07:55:12 PAGE    14

05B0 540F            817                     ANL     A, #0FH                 ; 乘 0.0625
05B2 9005EA          818                     MOV     DPTR, #TEMPDOTTAB       ;
05B5 93              819                     MOVC    A, @A + DPTR            ;
05B6 F529            820                     MOV     TEMPLC, A               ; TEMPLC LOW = 小数部分 BCD
                     821     ;
05B8 E526            822                     MOV     A, TEMPL                ; 整数部分
05BA 54F0            823                     ANL     A, #0F0H                ;
05BC C4              824                     SWAP    A                       ;
05BD F526            825                     MOV     TEMPL, A                ;
05BF E527            826                     MOV     A, TEMPH                ;
05C1 540F            827                     ANL     A, #0FH                 ;
05C3 C4              828                     SWAP    A                       ;
05C4 4526            829                     ORL     A, TEMPL                ;
05C6 120664          830                     LCALL   HEX2BCD1                ;
05C9 F526            831                     MOV     TEMPL, A                ;
05CB 54F0            832                     ANL     A, #0F0H                ;
05CD C4              833                     SWAP    A                       ;
05CE 4528            834                     ORL     A, TEMPHC               ; TEMPHC LOW = 十位数 BCD
05D0 F528            835                     MOV     TEMPHC, A               ;
05D2 E526            836                     MOV     A, TEMPL                ;
05D4 540F            837                     ANL     A, #0FH                 ;
05D6 C4              838                     SWAP    A                       ; TEMPLC HI = 个位数 BCD
05D7 4529            839                     ORL     A, TEMPLC               ;
05D9 F529            840                     MOV     TEMPLC, A               ;
05DB EF              841                     MOV     A, R7                   ;
05DC 600B            842                     JZ      TEMPC12                 ;
05DE 540F            843                     ANL     A, #0FH                 ;
05E0 C4              844                     SWAP    A                       ;
05E1 FF              845                     MOV     R7, A                   ;
05E2 E528            846                     MOV     A, TEMPHC               ; TEMPHC HI = 百位数 BCD
05E4 540F            847                     ANL     A, #0FH                 ;
05E6 4F              848                     ORL     A, R7                   ;
05E7 F528            849                     MOV     TEMPHC, A               ;
05E9 22              850     TEMPC12:        RET                             ;
                     851     ;
                     852     ;**********************************************************
                     853     ;       小数部分码表
                     854     ;**********************************************************
05EA 00010102        855     TEMPDOTTAB:     DB      00H, 01H, 01H, 02H, 03H, 03H, 04H, 04H, 05H, 06H
05EE 03030404                
05F2 0506                    
                     856     ;
05F4 06070808        857                     DB      06H, 07H, 08H, 08H, 09H, 09H
05F8 0909                    
                     858     ;
05FA 22              859                     RET
                     860     ;
05FB                 861     TEMPP:
05FB 7490            862             MOV  A,#90H            ;第二行左第一个字开始
05FD 1203DC          863             LCALL WRITE_COM
0600 9004C8          864             MOV  DPTR,#CHINESE3     ;16*16点阵“温度-----”
0603 120468          865             LCALL WRITE_HZ
0606 22              866             RET
                     867     ;
                     868     ;**********************************************************
                     869     ;       温度值涮新子程序
                     870     ;**********************************************************
                     871     ;
0607 E529            872     DISPTEMP:       MOV     A, TEMPLC               ;
0609 540F            873                     ANL     A, #0FH                 ;
060B F566            874                     MOV     66H, A                  ;
060D E529            875                     MOV     A, TEMPLC               ;
060F C4              876                     SWAP    A                       ;
0610 540F            877                     ANL     A, #0FH                 ;
0612 F564            878                     MOV     64H, A                  ;
0614 E528            879                     MOV     A, TEMPHC               ;
A51 MACRO ASSEMBLER  1302_12232F                                                        

⌨️ 快捷键说明

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