📄 ds18b20.lst
字号:
C51 COMPILER V7.20 DS18B20 05/25/2009 23:45:22 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE DS18B20
OBJECT MODULE PLACED IN DS18B20.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE DS18B20.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "ds18b20.h"
2
3 uchar code Led_Show[]={0xC0,0xF9,0xA4,0xB0,
4 0x99,0x92,0x82,0xF8,
5 0x80,0x90,0x88,0x83,
6 0xC6,0xA1,0x86,0x8E,0x00
7 };
8 uchar temp[4]={1,0,0,0};
9
10
11
12 //延时X微秒
13 void Delay_Ms(uchar x)
14 {
15 1 uchar j;
16 1 while(x--)
17 1 {
18 2 for( j =0;j<50;j++ );
19 2 }
20 1 }
21
22
23 void delay_us(unsigned char us)
24 {
25 1 while(us--);
26 1 }
27
28 /*
29 uchar crc1820(uchar jj)
30 {
31 uchar ii,crc_data=0;
32
33 for(ii=0;ii<jj;ii++){
34 crc_data=crc_table[crc_data^temp_buff[ii]];
35 }
36 return(crc_data);
37 }
38 */
39
40 bit init_1820(void)
41 {
42 1 bit F18b20;
43 1 Bdq18B20=1;
44 1 _nop_();
45 1 Bdq18B20=0;
46 1 delay_us(80); //delay 480us
47 1 Bdq18B20=1;
48 1 delay_us(14); //delay 100us
49 1 if(Bdq18B20==0) F18b20=1;
50 1 else F18b20=0;
51 1 delay_us(20);
52 1 Bdq18B20=1;
53 1 return(F18b20);
54 1 }
55
C51 COMPILER V7.20 DS18B20 05/25/2009 23:45:22 PAGE 2
56 void write_1820(unsigned char wr)
57 {
58 1 unsigned char ii;
59 1 for (ii=0;ii<8;ii++)
60 1 {
61 2 Bdq18B20=0;
62 2 _nop_();
63 2 Bdq18B20=wr&1;
64 2 delay_us(5);//delay 45us
65 2 Bdq18B20=1;
66 2 wr>>=1;
67 2 }
68 1 }
69
70 unsigned char read_1820(void) //
71
72 {
73 1 unsigned char ii,uu=0;
74 1 for(ii=0;ii<8;ii++){
75 2 Bdq18B20=0;
76 2 uu>>=1;
77 2 Bdq18B20=1;
78 2 if(Bdq18B20==1) uu|=0x80;
79 2 delay_us(4);
80 2 }
81 1 return(uu);
82 1 }
83
84
85
86
87 void read_1820s(unsigned char jj) //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -