📄 ds18b20.lst
字号:
C51 COMPILER V7.50 DS18B20 03/30/2009 21:38:03 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN ds18b20.OBJ
COMPILER INVOKED BY: D:\学习软件\keil\C51\BIN\C51.EXE ds18b20.c BROWSE DEBUG OBJECTEXTEND LISTINCLUDE PREPRINT
line level source
1 #include<ds18b20.h>
1 =1 #include<reg52.h>
1 =2 /*--------------------------------------------------------------------------
2 =2 REG52.H
3 =2
4 =2 Header file for generic 80C52 and 80C32 microcontroller.
5 =2 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =2 All rights reserved.
7 =2 --------------------------------------------------------------------------*/
8 =2
9 =2 #ifndef __REG52_H__
10 =2 #define __REG52_H__
11 =2
12 =2 /* BYTE Registers */
13 =2 sfr P0 = 0x80;
14 =2 sfr P1 = 0x90;
15 =2 sfr P2 = 0xA0;
16 =2 sfr P3 = 0xB0;
17 =2 sfr PSW = 0xD0;
18 =2 sfr ACC = 0xE0;
19 =2 sfr B = 0xF0;
20 =2 sfr SP = 0x81;
21 =2 sfr DPL = 0x82;
22 =2 sfr DPH = 0x83;
23 =2 sfr PCON = 0x87;
24 =2 sfr TCON = 0x88;
25 =2 sfr TMOD = 0x89;
26 =2 sfr TL0 = 0x8A;
27 =2 sfr TL1 = 0x8B;
28 =2 sfr TH0 = 0x8C;
29 =2 sfr TH1 = 0x8D;
30 =2 sfr IE = 0xA8;
31 =2 sfr IP = 0xB8;
32 =2 sfr SCON = 0x98;
33 =2 sfr SBUF = 0x99;
34 =2
35 =2 /* 8052 Extensions */
36 =2 sfr T2CON = 0xC8;
37 =2 sfr RCAP2L = 0xCA;
38 =2 sfr RCAP2H = 0xCB;
39 =2 sfr TL2 = 0xCC;
40 =2 sfr TH2 = 0xCD;
41 =2
42 =2
43 =2 /* BIT Registers */
44 =2 /* PSW */
45 =2 sbit CY = PSW^7;
46 =2 sbit AC = PSW^6;
47 =2 sbit F0 = PSW^5;
48 =2 sbit RS1 = PSW^4;
49 =2 sbit RS0 = PSW^3;
50 =2 sbit OV = PSW^2;
51 =2 sbit P = PSW^0; //8052 only
52 =2
53 =2 /* TCON */
C51 COMPILER V7.50 DS18B20 03/30/2009 21:38:03 PAGE 2
54 =2 sbit TF1 = TCON^7;
55 =2 sbit TR1 = TCON^6;
56 =2 sbit TF0 = TCON^5;
57 =2 sbit TR0 = TCON^4;
58 =2 sbit IE1 = TCON^3;
59 =2 sbit IT1 = TCON^2;
60 =2 sbit IE0 = TCON^1;
61 =2 sbit IT0 = TCON^0;
62 =2
63 =2 /* IE */
64 =2 sbit EA = IE^7;
65 =2 sbit ET2 = IE^5; //8052 only
66 =2 sbit ES = IE^4;
67 =2 sbit ET1 = IE^3;
68 =2 sbit EX1 = IE^2;
69 =2 sbit ET0 = IE^1;
70 =2 sbit EX0 = IE^0;
71 =2
72 =2 /* IP */
73 =2 sbit PT2 = IP^5;
74 =2 sbit PS = IP^4;
75 =2 sbit PT1 = IP^3;
76 =2 sbit PX1 = IP^2;
77 =2 sbit PT0 = IP^1;
78 =2 sbit PX0 = IP^0;
79 =2
80 =2 /* P3 */
81 =2 sbit RD = P3^7;
82 =2 sbit WR = P3^6;
83 =2 sbit T1 = P3^5;
84 =2 sbit T0 = P3^4;
85 =2 sbit INT1 = P3^3;
86 =2 sbit INT0 = P3^2;
87 =2 sbit TXD = P3^1;
88 =2 sbit RXD = P3^0;
89 =2
90 =2 /* SCON */
91 =2 sbit SM0 = SCON^7;
92 =2 sbit SM1 = SCON^6;
93 =2 sbit SM2 = SCON^5;
94 =2 sbit REN = SCON^4;
95 =2 sbit TB8 = SCON^3;
96 =2 sbit RB8 = SCON^2;
97 =2 sbit TI = SCON^1;
98 =2 sbit RI = SCON^0;
99 =2
100 =2 /* P1 */
101 =2 sbit T2EX = P1^1; // 8052 only
102 =2 sbit T2 = P1^0; // 8052 only
103 =2
104 =2 /* T2CON */
105 =2 sbit TF2 = T2CON^7;
106 =2 sbit EXF2 = T2CON^6;
107 =2 sbit RCLK = T2CON^5;
108 =2 sbit TCLK = T2CON^4;
109 =2 sbit EXEN2 = T2CON^3;
110 =2 sbit TR2 = T2CON^2;
111 =2 sbit C_T2 = T2CON^1;
112 =2 sbit CP_RL2 = T2CON^0;
113 =2
114 =2 #endif
2 =1 #include<absacc.h>
C51 COMPILER V7.50 DS18B20 03/30/2009 21:38:03 PAGE 3
1 =2 /*--------------------------------------------------------------------------
2 =2 ABSACC.H
3 =2
4 =2 Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
5 =2 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =2 All rights reserved.
7 =2 --------------------------------------------------------------------------*/
8 =2
9 =2 #ifndef __ABSACC_H__
10 =2 #define __ABSACC_H__
11 =2
12 =2 #define CBYTE ((unsigned char volatile code *) 0)
13 =2 #define DBYTE ((unsigned char volatile data *) 0)
14 =2 #define PBYTE ((unsigned char volatile pdata *) 0)
15 =2 #define XBYTE ((unsigned char volatile xdata *) 0)
16 =2
17 =2 #define CWORD ((unsigned int volatile code *) 0)
18 =2 #define DWORD ((unsigned int volatile data *) 0)
19 =2 #define PWORD ((unsigned int volatile pdata *) 0)
20 =2 #define XWORD ((unsigned int volatile xdata *) 0)
21 =2
22 =2
23 =2 #ifdef __CX51__
=2 #define FVAR(object, addr) (*((object volatile far *) (addr)))
=2 #define FARRAY(object, base) ((object volatile far *) (base))
=2 #define FCVAR(object, addr) (*((object const far *) (addr)))
=2 #define FCARRAY(object, base) ((object const far *) (base))
=2 #else
29 =2 #define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L)))
30 =2 #define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L)))
31 =2 #define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L))
32 =2 #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
33 =2 #endif
34 =2
35 =2 #endif
3 =1 sbit DQ = P1^0;
4 =1 void delay(int us);//
5 =1 bit reset18b20(void);
6 =1 bit readbit18b20(void);
7 =1 unsigned char readbyte18b20(void);
8 =1 void writebit18b20(bit databit);
9 =1 void writebyte18b20(unsigned char databyte);
2
3 void delay(unsigned char us)//6*us+2+2+2
4 {
*** WARNING C235 IN LINE 4 OF DS18B20.C: parameter 1: different types
5 1 unsigned char k;
6 1 for(k=0;k<us;k++)
7 1 ;
8 1 }
9
10 bit reset18b20(void)
11 {
12 1 unsigned char i;
13 1 bit exsit;
14 1 DQ=0;
15 1 for(i=0;i<100;i++)
16 1 ;
17 1 //delay(60);
18 1 DQ=1;
19 1 for(i=0;i<12;i++)
20 1 ;
C51 COMPILER V7.50 DS18B20 03/30/2009 21:38:03 PAGE 4
21 1 //delay(6);
22 1 exsit=DQ;
23 1 for(i=0;i<70;i++)
24 1 ;
25 1 // delay(20);
26 1 return(exsit);
27 1 }
28 bit readbit18b20(void)
29 {
30 1 char i;
31 1 DQ=0;
32 1 DQ=1;
33 1 for(i=0;i<3;i++)
34 1 ;
35 1 return(DQ);
36 1 }
37 unsigned char readbyte18b20(void)
38 {
39 1 unsigned char i,value=0,j;
40 1 for(i=0;i<8;i++)
41 1 { value>>=1;
42 2 if(readbit18b20())
43 2 value|=0x80;
44 2 else
45 2 value&=0x7f;
46 2 // if(i<7)
47 2
48 2 for(j=0;j<5;j++)
49 2 ;
50 2 //
51 2 }
52 1 // delay(5);
53 1 return(value);
54 1 }
55
56 void writebit18b20(bit databit)
57 {
58 1 unsigned char j;
59 1 DQ=0;
60 1 for(j=0;j<1;j++)
61 1 ;
62 1 if(databit==1)
63 1 DQ=1;
64 1 for(j=0;j<12;j++)
65 1 ;
66 1 //delay(9);
67 1 DQ=1;
68 1 }
69 void writebyte18b20(unsigned char databyte)
70 {
71 1 unsigned char i,j,temp=0;
72 1 for(i=0;i<8;i++)
73 1 {
74 2 temp=databyte>>i;
75 2 if(temp&0x01)
76 2 writebit18b20(1);
77 2 else
78 2 writebit18b20(0);
79 2
80 2 }
81 1 for(j=0;j<20;j++)
82 1 ;
C51 COMPILER V7.50 DS18B20 03/30/2009 21:38:03 PAGE 5
83 1 //delay(24);
84 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 147 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -