📄 xianshi.lst
字号:
C51 COMPILER V8.09 XIANSHI 11/28/2004 02:12:31 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE XIANSHI
OBJECT MODULE PLACED IN xianshi.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE xianshi.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "reg51.h"
2 typedef unsigned char uchar;
3 typedef unsigned int uint;
4 sbit DQ=P0^0;
5 sbit P0_1=P0^1;
6 uchar data0,sign;
7
8 void delay(int delay_time)
9 {int i=0;
10 1 for(;i<delay_time;i++);
11 1 }
12
13 uchar IC_reset(void)
14 {
15 1 uchar presence;
16 1 DQ=0;
17 1 delay(29);
18 1 DQ=1;
19 1 delay(3);
20 1 presence=DQ;
21 1 delay(25);
22 1 return(presence);
23 1 }
24
25 uchar read_bit(void)
26 {
27 1 uchar i;
28 1 DQ=0;
29 1 DQ=1;
30 1 for(i=0;i<3;i++);
31 1 return(DQ);
32 1 }
33
34 void write_bit(char bitval)
35 {
36 1 DQ=0;
37 1 if(bitval==1) DQ=1;
38 1 delay(5);
39 1 DQ=1;
40 1 }
41
42 uchar read_byte(void)
43 {
44 1 uchar i;
45 1 uchar value=0;
46 1 for(i=0;i<8;i++)
47 1 {
48 2 if(read_bit()) value|=0x01<<i;
49 2 delay(6);
50 2 }
51 1 return value;
52 1 }
53
54 void write_byte(char val)
55 {
C51 COMPILER V8.09 XIANSHI 11/28/2004 02:12:31 PAGE 2
56 1 uchar i;
57 1 uchar temp;
58 1 for(i=0;i<8;i++)
59 1 {
60 2 temp=val>>i;
61 2 temp&=0x01;
62 2 write_bit(temp);
63 2 }
64 1 delay(5);
65 1 }
66
67 void IC_start(void)
68 {
69 1 IC_reset();
70 1 write_byte(0xcc);
71 1 write_byte(0x44);
72 1 }
73
74 void read_temp(void)
75 {
76 1
77 1 IC_reset();
78 1 write_byte(0xcc);
79 1 write_byte(0xbe);
80 1 data0=read_byte();
81 1 sign=read_byte();
82 1
83 1 }
84
85
86 main()
87 {uchar data0,temp,temp2,temdec; uchar bai,shi,ge,ge1,shi1,bai1,qian1;
88 1 uchar display[]={0xc0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x98};
89 1
90 1 while(1)
91 1 {
92 2 IC_start();
93 2 read_temp();
94 2 temp=sign;
95 2 temp&=0xf0;
96 2 if( temp==0x00)
97 2 {
98 3 temp=data0>>4;
99 3 temp2= sign<<4;
100 3 temp=temp | temp2;
101 3 temdec=(data0 &0x0f)*625;
102 3 }
103 2 if (temp >=20)
104 2 P0_1=0;
105 2 else P0_1=1;
106 2
107 2 bai=temp/100;
108 2 shi=temp%100/10;
109 2 ge=temp%100%10;
110 2 ge1=temdec/1000;
111 2 shi1=temdec%1000/100;
112 2 bai1=temdec%1000%100/10;
113 2 qian1=temdec%1000%100%10;
114 2
115 2 P1=0xfe;
116 2 P2=display[bai];
117 2 delay(10);
C51 COMPILER V8.09 XIANSHI 11/28/2004 02:12:31 PAGE 3
118 2
119 2 P1=0xfd;
120 2 P2=display[shi];
121 2 delay(10);
122 2
123 2 P1=0xfb;
124 2 P2=display[ge];
125 2 delay(10);
126 2
127 2 P1=0xf7;
128 2 P2=0x7f;
129 2 delay(10);
130 2
131 2 P1=0xef;
132 2 P2=display[ge1];
133 2 delay(10);
134 2
135 2
136 2 P1=0xdf;
137 2 P2=display[shi1];
138 2 delay(10);
139 2
140 2 P1=0xbf;
141 2 P2=display[bai1];
142 2 delay(10);
143 2
144 2 P1=0x7f;
145 2 P2=display[qian1];
146 2 delay(10);
147 2
148 2 }
149 1
150 1 }
151
152
153
154
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 501 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 18
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -