📄 succeed.lst
字号:
C51 COMPILER V6.12 SUCCEED 04/28/2009 23:07:23 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE SUCCEED
OBJECT MODULE PLACED IN succeed.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE .\sucess\succeed.c DEBUG OBJECTEXTEND PRINT(.\succeed.lst) OBJECT(succeed.o
-bj)
stmt level source
1 #include<reg52.h>
2 #include<stdio.h>
3 #include<intrins.h>
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 sbit dula=P2^6;
9 sbit wela=P2^7;
10 sbit dq=P2^2;
11 sbit feng=P2^3;
12
13 uint c1_temper,c2_temper;
14 float f1_temper,f2_temper;
15
16 uint L_temper;
17 uint H_temper;
18
19 uchar iccode[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
20 ,0x00,0x00,0x00,0x00};
21
22 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,
23 0xBf,0x86,0xDb,0xCf,0xE6, 0xEd,0xEd,0x87,0xFf,0xEf};
24
25 void delay_ms(uint z);
26 void delay_us();
27 void dq_reset();
28 void write_cmd(uchar z);
29 uchar read_temper();
30 uint get_temper();
31 uchar read_bit();
32 void get_firstid();
33 void get_seconedid();
34 void write_date(uchar z);
35 uchar read_date();
36 void write_bit(uchar dd);
37 void convert();
38 void deal_temper();
39 void deal_ds1();
40 void deal_ds2();
41 void display_temper(uint wengdu,uchar fc);
42 void init1();
43 void init2();
44 void warn_temper(uchar dj);
45 /*******************delaytime********************/
46
47 void delay_ms(uint z)//毫秒级的延迟
48 {
49 1 uint x,y;
50 1 for(x=z;x>0;x--)
51 1 for(y=110;y>0;y--);
52 1 }
53
54 void delay_us()//延时微秒
C51 COMPILER V6.12 SUCCEED 04/28/2009 23:07:23 PAGE 2
55 {
56 1 _nop_();
57 1 }
58 /********************dqreset**************************/
59
60 void dq_reset()//复位
61 {
62 1 uchar t;
63 1
64 1 dq=0;
65 1 for(t=250;t>0;t--);
66 1 dq=1;
67 1 for(t=100;t>0;t--);
68 1 }
69
70 /***********************temper*********************/
71
72 uchar read_temper()//读温度
73 {
74 1 uchar i;
75 1 uchar temp;
76 1 uchar dd;
77 1
78 1 temp=0x00;
79 1 for(i=0;i<8;i++)
80 1 {
81 2 temp=_cror_(temp,1);
82 2
83 2 dd=read_bit();
84 2 if(dd==1)
85 2 {
86 3 temp=temp|0x80;
87 3 }
88 2 else
89 2 {
90 3 temp=temp|0x00;
91 3 }
92 2 }
93 1 return(temp);
94 1 }
95
96 uint get_temper()//get centigrad for the ram
97 {
98 1
99 1 uchar LSB_temper;
100 1 uchar MSB_temper;
101 1 uint c_temper=0;
102 1 float f_temper=0;
103 1
104 1 //dq_reset();
105 1 //write_cmd(0xcc);
106 1 //write_cmd(0xcc);
107 1 write_cmd(0xbe);
108 1
109 1 LSB_temper=read_temper();
110 1 MSB_temper=read_temper();
111 1
112 1 c_temper=MSB_temper;
113 1 c_temper=c_temper<<8;
114 1 c_temper=c_temper|LSB_temper;
115 1 f_temper=c_temper*0.0625;
116 1 c_temper=f_temper*10+0.5;
C51 COMPILER V6.12 SUCCEED 04/28/2009 23:07:23 PAGE 3
117 1
118 1 return c_temper;
119 1 }
120
121 void write_cmd(uchar z)//写命令
122 {
123 1 uchar i,t;
124 1 uchar temper;
125 1 uchar cmd=z;
126 1
127 1 for(i=0;i<8;i++)
128 1 {
129 2 temper=cmd&0x01;
130 2 if(temper)
131 2 {
132 3 dq=0;
133 3 delay_us();
134 3 delay_us();
135 3 dq=1;
136 3 for(t=30;t>0;t--);
137 3 }
138 2 else
139 2 {
140 3 dq=0;
141 3 for(t=50;t>0;t--);
142 3 dq=1;
143 3 delay_us(); delay_us();
144 3 }
145 2 cmd=_cror_(cmd,1);
146 2 }
147 1
148 1 }
149
150 /************************writeorreadbit********************************/
151
152 uchar read_bit()
153 {
154 1 uchar dd;
155 1 uchar t;
156 1
157 1 dq=0;
158 1 delay_us();
159 1 dq=1;
160 1 for(t=2;t>0;t--);
161 1 dd=dq;//get the signal
162 1 for(t=20;t>0;t--);
163 1 return(dd);
164 1 }
165
166 void write_bit(uchar dd)
167 {
168 1 uchar t;
169 1
170 1 if(dd==1)
171 1 {
172 2 dq=0;
173 2 delay_us();
174 2 dq=1;
175 2 for(t=30;t>0;t--);
176 2 }
177 1 else
178 1 {
C51 COMPILER V6.12 SUCCEED 04/28/2009 23:07:23 PAGE 4
179 2 dq=0;
180 2 for(t=20;t>0;t--);
181 2 dq=1;
182 2 delay_us();
183 2 delay_us();
184 2 }
185 1 }
186
187 /*************************getid*************************/
188
189 void get_firstid()
190 {
191 1 uchar t;
192 1 uchar w=0;
193 1 uchar d1,d2;
194 1
195 1 dq_reset();
196 1 write_cmd(0xf0);
197 1
198 1 for(t=0;t<64;t++)
199 1 {
200 2 d1=read_bit();
201 2 d2=read_bit();
202 2 if((t>0)&&(t%8==0)) ++w;
203 2 iccode[w]=_cror_(iccode[w],1);
204 2
205 2 if( (d1==1) && (d2==0) )
206 2 {
207 3 iccode[w]=(iccode[w])|0x80;
208 3 write_bit(1);
209 3 }
210 2 else if( (d1==0) && (d2==1))
211 2 {
212 3 iccode[w]=(iccode[w])|0x00;
213 3 write_bit(0);
214 3 }
215 2 else if( (d1==0) && (d2==0) )
216 2 {
217 3 iccode[w]=(iccode[w])|0x00;
218 3 write_bit(0);
219 3 }
220 2 }
221 1 }
222
223 void get_seconedid()
224 {
225 1 uchar t;
226 1 uchar w=8;
227 1 uchar d1,d2;
228 1
229 1 dq_reset();
230 1 write_cmd(0xf0);
231 1
232 1 for(t=0;t<64;t++)
233 1 {
234 2 d1=read_bit();
235 2 d2=read_bit();
236 2 if( (t>0) && (t%8==0) ) ++w;
237 2 iccode[w]=_cror_(iccode[w],1);
238 2
239 2 if( (d1==1) && (d2==0) )
240 2 {
C51 COMPILER V6.12 SUCCEED 04/28/2009 23:07:23 PAGE 5
241 3 write_bit(1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -