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

📄 stest.ls1

📁 我自己写的ds1820b温度测量程序
💻 LS1
📖 第 1 页 / 共 2 页
字号:
                     215     
                     216     
001D 0A              217             DB      00AH
001E 00       F      218             DB      disbuf
001F 00              219             DB      000H
0020 00000000        220             DB  000H,000H,000H,000H,000H,000H,000H,000H,000H
0024 00000000                
0028 00                      
                     221     
                     222     
0029 01              223             DB      001H
002A 00       F      224             DB      trance
002B 00              225             DB      000H
                     226     
002C 01              227             DB      001H
002D 00       F      228             DB      recived
002E 00              229             DB      000H
                     230     
002F 01              231             DB      001H
0030 00       F      232             DB      comno
0031 00              233             DB      000H
                     234     
                     235     ; #include <AT89X51.h>
                     236     ; #include <intrins.h>
                     237     ; 
                     238     ; 
                     239     ; #define TMPort P1_7
                     240     ; 
                     241     ; unsigned char MYWD[7]={0,0,0,0,0,'`','C'},DS1820ERR[]="NO DS1820!",TMCL[]={"TMCL"};
                     242     ; unsigned char disbuf[10]={0};
                     243     ; unsigned char trance=0,recived=0,comno=0,comzf;//发送状态、接受命令字符序号、接收的字符
                     244     ; 
                     245     ; unsigned int t;
                     246     ; bit DS1820ON,readtm;//DS1820响应、是否接收测温命令。
                     247     ; 
A51 MACRO ASSEMBLER  STEST                                                                05/05/2004 02:05:29 PAGE     5

                     248     ; void initUart(void)//波特率9600,24M时钟
                     249     
----                 250             RSEG  ?PR?initUart?STEST
0000                 251     initUart:
                     252                             ; SOURCE LINE # 14
                     253     ; {
                     254                             ; SOURCE LINE # 15
                     255     ;  TMOD|=0x20;
                     256                             ; SOURCE LINE # 16
0000 438920          257             ORL     TMOD,#020H
                     258     ;  SCON=0x50;
                     259                             ; SOURCE LINE # 17
0003 759850          260             MOV     SCON,#050H
                     261     ;  PCON|=0x80;
                     262                             ; SOURCE LINE # 18
0006 438780          263             ORL     PCON,#080H
                     264     ;  TH1=0xf3;
                     265                             ; SOURCE LINE # 19
0009 758DF3          266             MOV     TH1,#0F3H
                     267     ;  TL1=0xf3;
                     268                             ; SOURCE LINE # 20
000C 758BF3          269             MOV     TL1,#0F3H
                     270     ;  TR1=1;
                     271                             ; SOURCE LINE # 21
000F D28E            272             SETB    TR1
                     273     ;  ES=1;
                     274                             ; SOURCE LINE # 22
0011 D2AC            275             SETB    ES
                     276     ; }
                     277                             ; SOURCE LINE # 23
0013 22              278             RET     
                     279     ; END OF initUart
                     280     
----                 281     CSEG    AT      00023H
0023 020000   F      282             LJMP    uart
                     283     
                     284     ; 
                     285     ; 
                     286     ; void uart(void) interrupt 4
                     287     
----                 288             RSEG  ?PR?uart?STEST
                     289             USING   0
0000                 290     uart:
                     291                             ; SOURCE LINE # 26
                     292     ; {
                     293     ; unsigned char m=0; 
                     294                             ; SOURCE LINE # 28
0000 750000   F      295             MOV     m?140,#00H
                     296     ; if(RI)
                     297                             ; SOURCE LINE # 29
0003 309809          298             JNB     RI,?C0002
                     299     ;       {comzf=SBUF;RI=0;recived=1;}
                     300                             ; SOURCE LINE # 30
0006 859900   F      301             MOV     comzf,SBUF
0009 C298            302             CLR     RI
000B 750001   F      303             MOV     recived,#01H
000E 32              304             RETI    
000F                 305     ?C0002:
                     306     ; else
                     307     ;     {TI=0;trance=1;}    
                     308                             ; SOURCE LINE # 32
000F C299            309             CLR     TI
0011 750001   F      310             MOV     trance,#01H
                     311     ; }
                     312                             ; SOURCE LINE # 33
0014                 313     ?C0004:
A51 MACRO ASSEMBLER  STEST                                                                05/05/2004 02:05:29 PAGE     6

0014 32              314             RETI    
                     315     ; END OF uart
                     316     
                     317     ; 
                     318     ; 
                     319     ; void Delay_110(void)  //延时110微秒,24M晶振
                     320     
----                 321             RSEG  ?PR?Delay_110?STEST
0000                 322     Delay_110:
                     323                             ; SOURCE LINE # 36
                     324     ; {EA=0;
                     325                             ; SOURCE LINE # 37
0000 C2AF            326             CLR     EA
                     327     ; #pragma asm
                     328     ;       MOV R0,#34H
0002 7834            329               MOV R0,#34H
                     330     ;       MOV R1,#02H
0004 7902            331               MOV R1,#02H
                     332     ;       TSR2:
0006                 333               TSR2:
                     334     ;       DJNZ R0,TSR2
0006 D8FE            335               DJNZ R0,TSR2
                     336     ;       MOV R0,#34H
0008 7834            337               MOV R0,#34H
                     338     ;       DJNZ R1,TSR2
000A D9FA            339               DJNZ R1,TSR2
                     340     ; #pragma endasm
                     341     ; EA=1;}
                     342                             ; SOURCE LINE # 46
000C D2AF            343             SETB    EA
000E 22              344             RET     
                     345     ; END OF Delay_110
                     346     
                     347     ; 
                     348     ; void Delay_510(void)  //延时510微秒,24M晶振
                     349     
----                 350             RSEG  ?PR?Delay_510?STEST
0000                 351     Delay_510:
                     352                             ; SOURCE LINE # 48
                     353     ; {EA=0;
                     354                             ; SOURCE LINE # 49
0000 C2AF            355             CLR     EA
                     356     ; #pragma asm
                     357     ;     nop
0002 00              358               nop
                     359     ;       nop
0003 00              360               nop
                     361     ;       MOV R0,#7DH
0004 787D            362               MOV R0,#7DH
                     363     ;       MOV R1,#04H
0006 7904            364               MOV R1,#04H
                     365     ;       TSR1:
0008                 366               TSR1:
                     367     ;       DJNZ R0,TSR1
0008 D8FE            368               DJNZ R0,TSR1
                     369     ;       MOV R0,#7DH
000A 787D            370               MOV R0,#7DH
                     371     ;       DJNZ R1,TSR1
000C D9FA            372               DJNZ R1,TSR1
                     373     ; #pragma endasm
                     374     ; EA=1;}
                     375                             ; SOURCE LINE # 60
000E D2AF            376             SETB    EA
0010 22              377             RET     
                     378     ; END OF Delay_510
                     379     
A51 MACRO ASSEMBLER  STEST                                                                05/05/2004 02:05:29 PAGE     7

                     380     ; 
                     381     ; void InitDS1820(void)         //初始化DS1820
                     382     
----                 383             RSEG  ?PR?InitDS1820?STEST
0000                 384     InitDS1820:
                     385                             ; SOURCE LINE # 62
                     386     ; {  EA=0;
                     387                             ; SOURCE LINE # 63
0000 C2AF            388             CLR     EA
                     389     ;       TMPort = 1;             //拉高TMPort
                     390                             ; SOURCE LINE # 64
0002 D297            391             SETB    P1_7
                     392     ;       _nop_();//保持一个周期
                     393                             ; SOURCE LINE # 65
0004 00              394             NOP     
                     395     ;     _nop_();
                     396                             ; SOURCE LINE # 66
0005 00              397             NOP     
                     398     ;       TMPort = 0;             //拉低TMPort
                     399                             ; SOURCE LINE # 67
0006 C297            400             CLR     P1_7
                     401     ;     Delay_510();  //延时  DS1820复位时间要500us的低电平
                     402                             ; SOURCE LINE # 68
0008 120000   F      403             LCALL   Delay_510
                     404     ;     TMPort = 1;   //拉高TMPort
                     405                             ; SOURCE LINE # 69
000B D297            406             SETB    P1_7
                     407     ;       Delay_110();  //延时110us 等碊S1820回应
                     408                             ; SOURCE LINE # 70
000D 120000   F      409             LCALL   Delay_110
                     410     ;   if (!TMPort)  //回应信号为低电平
                     411                             ; SOURCE LINE # 71
0010 209704          412             JB      P1_7,?C0007
                     413     ;     {DS1820ON=1;}
                     414                             ; SOURCE LINE # 72
0013 D200     F      415             SETB    DS1820ON
0015 8002            416             SJMP    ?C0008
0017                 417     ?C0007:
                     418     ;   else
                     419     ;     {DS1820ON=0;}
                     420                             ; SOURCE LINE # 74
0017 C200     F      421             CLR     DS1820ON
0019                 422     ?C0008:
                     423     ;   Delay_110();  //延时
                     424                             ; SOURCE LINE # 75
0019 120000   F      425             LCALL   Delay_110
                     426     ;   Delay_110();
                     427                             ; SOURCE LINE # 76
001C 120000   F      428             LCALL   Delay_110
                     429     ;   TMPort=1;   //拉高TMPort
                     430                             ; SOURCE LINE # 77
001F D297            431             SETB    P1_7
                     432     ; EA=1;
                     433                             ; SOURCE LINE # 78
0021 D2AF            434             SETB    EA
                     435     ; }
                     436                             ; SOURCE LINE # 79
0023 22              437             RET     
                     438     ; END OF InitDS1820
                     439     
                     440     ; 
                     441     ; 
                     442     ; void ds1820command(unsigned char a) //写ds1820命令函省

⌨️ 快捷键说明

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