📄 xd_v30.lst
字号:
C51 COMPILER V7.06 XD_V30 09/17/2007 10:01:04 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE XD_V30
OBJECT MODULE PLACED IN .\XD_V30.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\XD_dep\XD_V30.c BROWSE DEBUG OBJECTEXTEND PRINT(.\XD_V30.lst) OBJECT(.\X
-D_V30.obj)
stmt level source
1
2 //*****************************************
3 // 单片机实验主函数
4 // 2007。5。16
5 //*****************************************
6
7 #include<V30_pin.h> //引脚定义
*** WARNING C318 IN LINE 7 OF ..\XD_dep\XD_V30.c: can't open file 'V30_pin.h'
8 #include<V30_func.h> //常用函数
*** WARNING C318 IN LINE 8 OF ..\XD_dep\XD_V30.c: can't open file 'V30_func.h'
9 #include<DS18B20.h> //温湿度传感器DS18B20与CPU通信函数定义
*** WARNING C318 IN LINE 9 OF ..\XD_dep\XD_V30.c: can't open file 'DS18B20.h'
10
11
12
13 #define PI 3.1415926
14
15 #define H_0xaa 0xaa
16 #define H_0x55 0x55
17
18
19
20
21 void tst_sin (void) // sin(x)波形
22 {
23 1 float x;
24 1 float y;
25 1 unsigned int j;
26 1 for (x = 0; x < (2 * PI); x += 0.005)
27 1 {
28 2 y =500*sin (x);
*** WARNING C206 IN LINE 28 OF ..\XD_DEP\XD_V30.C: 'sin': missing function-prototype
*** ERROR C267 IN LINE 28 OF ..\XD_DEP\XD_V30.C: 'sin': requires ANSI-style prototype
29 2 y=500.00-y;
30 2 j=y;
31 2 DA_display(j);
32 2 //printf ("SIN(%f) = %f\n", x, y);
33 2 }
34 1
35 1 }
36
37 void tst_sin_d (void) // sin(x)波形
38 {
39 1 float x;
40 1 float y;
41 1 unsigned int j;
42 1 for (x = 0; x < (2 * PI); x += 0.005)
43 1 {
44 2 y =500*sin (x);
45 2 y=500.00-y;
46 2 j=y;
47 2 DA_display_2(j);
48 2 //printf ("SIN(%f) = %f\n", x, y);
49 2 }
C51 COMPILER V7.06 XD_V30 09/17/2007 10:01:04 PAGE 2
50 1
51 1 }
52
53
54 //-------------------------主函数----------------------------
55 //
56 void main ()
57 {
58 1 U16 idata i,j,k;
59 1 U8 c;
60 1
61 1 AUXR=0x00; //使用内部的00-FF外部RAM 89C52RC
62 1 out_sbuf(); //串口初始化
63 1 out_t0(); //定时器初始化
64 1 k1=1;
65 1 k2=1;
66 1
67 1 while ((k1 !=0) && ( k2 != 0))
68 1 {
69 2 display_move_led();
70 2 speak_on(1000);
71 2 }
72 1 //ET0=1;
73 1 EA=1; //开中断
74 1
75 1 speak_on(900);
76 1 delay_k(1000);
77 1 key_k1k2:
78 1 ET0=1;
79 1 speak_on(900);
80 1 delay_l(80000);
81 1 c=0;
82 1 j=0;
83 1
84 1 #define CHUAN_F 0x02
85 1 #if(CHUAN_F == 0x01)
while (c != 0xaa)
{
c=gethex(); //串口读
sendchar(c); //串口写
}
#endif
92 1
93 1
94 1 while (1)
95 1 {
96 2 while(1)
97 2 {
98 3 display_numb=Read_Temperature(); //读取DS18B20温度值
99 3
100 3 while ( display_numb>70)
101 3 {
102 4 display_numb=Read_Temperature(); //读取DS18B20温度值
103 4
104 4 if (k1==0) goto to_k2;
105 4 if (k2==0) goto to_k1;
106 4 }
107 3 //display_int_numb(display_numb);
108 3 //tst_sin_d();
109 3 if (display_numb>30) speak_on(1000);
110 3
111 3
C51 COMPILER V7.06 XD_V30 09/17/2007 10:01:04 PAGE 3
112 3 if (k1==0) goto to_k2;
113 3 if (k2==0) goto to_k1;
114 3 //goto read_key;
115 3 #define SIN 2
116 3 #if(SIN==1)
ET0=0;
//tst_sin (); //D/A输出正玄波
tst_sin_d();
display_int_numb(display_numb);
#elif (SIN==2)
122 3 ET0=1;
123 3 tst_sin_d(); //D/A输出正玄波,并在T0中显示温度值
124 3 #else
DA_display(j++);
delay_l(4000);
if(j>=0x3ff) j=0;
#endif
129 3 }
130 2
131 2
132 2
133 2 to_k1:
134 2 ET0=0;
135 2 c=0;
136 2 for (i=1;i<20000;i++)
137 2 {
138 3 display(c,c++);
139 3 if (c>=10) c=0;
140 3 disp_led(0x55);
141 3 delay_k(30000);
142 3 disp_led(0xaa);
143 3 delay_k(30000);
144 3 if(k1==0) goto key_k1k2;
145 3 }
146 2
147 2 to_k2:
148 2 ET0=0;
149 2 c=0x55;
150 2 j=0;k=0;
151 2 for (i=0;i<20000;i++)
152 2 {
153 3
154 3 #define DS_F 0x02
155 3 #if(DS_F == 0x01)
display_int_numb(j); //BCD码显示
k++;
if (k>=8) {k=0;j++;}
if (j>=60) j=0;
//display(c&0x0f,c&0x03);
disp_led(c);
c=c>>1;
if (c==0) c=0xaa;
delay_k(20000);
#else
166 3 AD_display(); //A/D转换显示函数
167 3 #endif
168 3 if(k2==0) goto key_k1k2;
169 3 }
170 2
171 2 } //while (1)end
172 1
173 1 while(1);
C51 COMPILER V7.06 XD_V30 09/17/2007 10:01:04 PAGE 4
174 1 } //main_end
175
176
177
C51 COMPILATION COMPLETE. 4 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -