📄 7290_2.lst
字号:
C51 COMPILER V7.09 7290_2 08/25/2004 15:37:04 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE 7290_2
OBJECT MODULE PLACED IN 7290_2.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE 7290_2.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <math.h>
3 #include <stdio.h>
4 #include <absacc.h>
5 #include <intrins.h>
6 #include <string.h>
7 #include <stdlib.h>
8 #define True 1
9 #define False 0
10 #define Ctop_temper 75
11 #define Cbottom_temper 18
12 #define Ftop_temper 167
13 #define Fbottom_temper 64
14 #define Hot_time 30
15 #define Pre_time 10
16 /**********************************/
17 #define Slv7290 0x70
18 #define CmdBuf0 0x07
19 #define CmdBuf1 0x08
20 #define Dpram 0x10
21 /**********************************/
22 typedef unsigned char uchar;
23 typedef unsigned int uint;
24 sfr WDTRST = 0xA6;
25 sbit Temper_add = P1^0; // P0^0;
26 sbit Temper_subb = P3^5; // P0^1;
27 sbit Time_add = P0^3; // P0^2 ;
28 sbit Time_subb = P2^3; // P0^3;
29 sbit Lamp_onoff = P3^6; // P0^4;
30 sbit Lamp = P3^4; // P0^5;
31 sbit Setup_lamp = P2^6; // P0^6;
32 sbit setup_led = P2^6; // P0^6;
33 sbit Precontract_lamp = P2^7; // P0^7;
34
35 sbit set_key = P0^4; // P2^0;
36 sbit Off_power = P2^2; // P2^1;
37 sbit Choose_cf = P2^1; // P2^2;
38 sbit Hot_up = P1^1; // P2^3;
39 /**************** DS18B20 ********************/
40 sbit TMDAT = P1^2; // P2^4;
41 /**************** Max7219 ********************/
42 sbit SCL = P0^0; // P2^5;
43 sbit SDA = P0^1; // P2^6;
44 /*********************************************/
45 sbit Speak = P1^3; // P1^0;
46 sbit Precontract = P2^0; // P1^1;
47 sbit Open_power = P0^2; // P1^2;
48 sbit LED = P3^7; // P1^3;
49 sbit Power_led = P3^0;
50 /* 定义调用子程序 */
51 void temperature(bit C_f);
52 bit tmreset(void);
53 uchar readbyte(void);
54 void delay3(uint Tm_count);
55 void writebyte(uchar dat);
C51 COMPILER V7.09 7290_2 08/25/2004 15:37:04 PAGE 2
56 uchar read_temper(bit C_F);
57 void tmstart(void);
58 void disp(uchar y3,bit id);
59
60 void sound(bit f,uchar i);
61 void delay(uchar i);
62 void Watch(void);
63 uchar Zlg_read(uchar i);
64 void Zlg_write(uchar *p);
65 void Zlg_writebyte(uchar address,uchar i);
66 void shift8(uchar a);
67 void start(void);
68 void stop(void);
69 void SendByte(uchar c);
70 void delay_nop(void);
71 void ack(void);
72 void no_ack(void);
73
74 uchar TH0_T,TL0_T;
75 bit run;
76 uint V_ml;
77 uchar bdata AD;
78 sbit AD_0=AD^0;
79 sbit AD_1=AD^1;
80 sbit AD_7=AD^7;
81 bit YesNo_ack;
82 uchar now_temper = 20;
83 uchar sys_1 ;
84 uchar sys_2 ;
85 uchar WriteBuf[3];
86 /*********************/
87 /* 演示主程序 */
88 /*********************/
89
90 void main()
91 { uchar now_time , now_time2,count,Led_count;
92 1 uchar system_count,top,bottom,Over_count;
93 1 uchar *p;
94 1 uint data1;
95 1 bit CF; /* 0=C,1=F */
96 1 bit Set_flag,set_flag2,Over;
97 1 uchar set_time = 0; /* work 时间 */
98 1 uchar set_time2 = 0;/* no work */
99 1 uchar set_temper = 42;
100 1 YesNo_ack = False ;
101 1 top = Ctop_temper;
102 1 bottom = Cbottom_temper;
103 1 V_ml = 0;
104 1 TH1 = 0xFA;
105 1 TL1 = 0xFa;
106 1 TH0_T = 0;
107 1 TL0_T = 0;
108 1 CF = False;
109 1 delay3(800);
110 1 ES = True;
111 1 run = True;
112 1 Set_flag = False;
113 1 set_flag2 = True;
114 1 now_time = 0;
115 1 now_time2 = 0;
116 1 system_count = 0;
117 1 count = 0;
C51 COMPILER V7.09 7290_2 08/25/2004 15:37:04 PAGE 3
118 1 Led_count = 0;
119 1 Over_count = 0;
120 1 LED = False;
121 1 Over = False;
122 1 Precontract_lamp = True;
123 1 Watch();
124 1 p = WriteBuf;
125 1 WriteBuf[0] = 0x0d;
126 1 WriteBuf[1] = 5;
127 1 WriteBuf[2] = 0;
128 1 Zlg_write(p);
129 1 if ( sys_1==0x33 && sys_2==0x51 ) goto Power;
130 1 sys_1 = 0x33;
131 1 sys_2 = 0x51;
132 1
133 1 /*****************************/
134 1 while (Open_power)
135 1 {
136 2 Watch();
137 2 V_ml = 0;
138 2 TR0 = 0;
139 2 delay3(10);
140 2
141 2 };
142 1 while (!Open_power) { Watch(); };
143 1 Power:
144 1 sound(False,1);
145 1 set_flag2 = True;
146 1 LED = True;
147 1 Power_led = False;
148 1
149 1 /*****************************/
150 1
151 1 while (1)
152 1 {
153 2 Watch();
154 2 SCON = 0x50;
155 2 TMOD = 0x21; //TR1 = 1;
156 2 EA = 1;
157 2 ET0 = 1;
158 2 if (set_flag2)
159 2 {
160 3 Led_count++;
161 3 }
162 2 if (Led_count >= 130)
163 2 {
164 3 LED = False;
165 3 Led_count = 0;
166 3 set_flag2 = False;
167 3 if (Set_flag)
168 3 {
169 4 Set_flag = 0;
170 4 Precontract_lamp = True;
171 4 Setup_lamp = True;
172 4 system_count = 0;
173 4 }
174 3
175 3 }
176 2 if (Lamp_onoff == False) /* 开关灯控制 */
177 2 {
178 3 Lamp =~ Lamp; delay3(10);
179 3 do { Watch(); }
C51 COMPILER V7.09 7290_2 08/25/2004 15:37:04 PAGE 4
180 3 while (!Lamp_onoff);
181 3 sound(False,1);
182 3 Led_count = 0;
183 3 LED = True;
184 3 set_flag2 = True;
185 3 }
186 2 if (Off_power == False) /* 开关控制 */
187 2 {
188 3 off: delay3(10);
189 3 now_time = 0;
190 3 now_time2 = 0;
191 3 set_time = 0;
192 3 set_time2 = 0;
193 3 system_count = 0;
194 3 count = 0;
195 3 Precontract_lamp = True;
196 3 Setup_lamp = True;
197 3 Hot_up = True;
198 3 LED = False;
199 3 Power_led = True;
200 3 do { Watch(); }
201 3 while (!Off_power);
202 3 sound(False,1);
203 3 p = WriteBuf;
204 3 WriteBuf[0] = 0x10;
205 3 WriteBuf[1] = 0;
206 3 WriteBuf[2] = 0;
207 3 Zlg_write(p);
208 3 WriteBuf[0] = 0x12;
209 3 Zlg_write(p);
210 3 WriteBuf[0] = 0x14;
211 3 Zlg_write(p);
212 3 while (Open_power)
213 3 {
214 4
215 4
216 4 V_ml = 0;
217 4 TR0 = 0;
218 4 delay3(200);
219 4 Watch();
220 4 }
221 3 do { Watch(); }
222 3 while (!Open_power);
223 3 sound(False,1);
224 3 set_flag2 = True;
225 3 LED = True;
226 3 Power_led = False;
227 3 }
228 2 if (Choose_cf == False) /* 华氏与温度转换 */
229 2 {
230 3 CF = ~CF ;
231 3 delay3(10);
232 3 do { Watch(); }
233 3 while (!Choose_cf);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -