shtxx_self.lst
来自「这是单片机驱动温湿度传感器SHT11温湿度传感器的源代码」· LST 代码 · 共 1,493 行 · 第 1/5 页
LST
1,493 行
1149 1 {
1150 1 i = ISendStr_16(0xa0,v,3*v);
1151 1 }
1152 1 lcd_wrd(0x30+(uchar)i);
1153 1 }
1154 1 */
1155 1
1156 1 // read rom set address
1157 1 /*
1158 1 lcd_add(3,1);
1159 1 for(v=0x0000;v<8;v++)
1160 1 {
1161 1 i = IRcvStr_16(0xa0,v);
1162 1 // lcd_wrc(0x88+2*v);
1163 1 lcd_dis_num(i);
1164 1 }
1165 1 */
1166 1
1167 1 // set_time(30,13,21,1,12,3,7); //时钟设置sec, min, hr, dy, dt, mn, yr
1168 1
C51 COMPILER V7.07 SHTXX_SELF 06/14/2007 21:21:35 PAGE 20
1169 1
1170 1 //ad中断相关
1171 1 /*
1172 1 // IE = IE&0X81; //1000 0001
1173 1 EA = 0;
1174 1 EX0 = 1;
1175 1 // TCON
1176 1 IT0 = 1;
1177 1 */
1178 1 /*
1179 1 lcd_add(4,1);
1180 1 lcd_dis_num_1(12589);
1181 1 lcd_add(4,2);
1182 1 lcd_dis_num_2(12589);
1183 1 lcd_add(4,4);
1184 1 lcd_dis_num_3(12589);
1185 1 */
1186 1
1187 1 while(1)
1188 1 {
1189 2
1190 2 // cal_temp_humi();
1191 2 cal_basic(); ////计算温度和湿度年月日
1192 2 lcd_add(1,1);
1193 2 lcd_dis_num_2(20);
1194 2 lcd_dis_num_2((uint)b_data.year);
1195 2 lcd_dis_ch(0xc4,0xea); //uchar h,uchar l);
1196 2 lcd_wrd(0x20);
1197 2 lcd_wrd(0x20);
1198 2 lcd_add(1,5);
1199 2 lcd_dis_num_2((uint)b_data.month);
1200 2 lcd_dis_ch(0xd4,0xc2);
1201 2 lcd_add(1,7);
1202 2 lcd_dis_num_2((uint)b_data.date);
1203 2 lcd_dis_ch(0xc8,0xd5);
1204 2 lcd_add(2,1);
1205 2 lcd_dis_ch(0xd0,0xc7);
1206 2 lcd_dis_ch(0xc6,0xda);
1207 2
1208 2 lcd_dis_num_2((uint)b_data.day);
1209 2 lcd_add(2,5);
1210 2 lcd_dis_num_2((uint)b_data.hour);
1211 2 lcd_wrd(0x3a);
1212 2 // lcd_add(2,6);
1213 2 lcd_dis_num_2((uint)b_data.minute);
1214 2 lcd_wrd(0x3a);
1215 2 // lcd_add(2,8);
1216 2 lcd_dis_num_2((uint)b_data.second);
1217 2 lcd_add(3,1);
1218 2 lcd_dis_ch(0xca,0xaa);
1219 2 lcd_dis_ch(0xb6,0xc8);
1220 2 lcd_wrd(0x3a);
1221 2 lcd_add(3,4);
1222 2 lcd_dis_num_2((uint)b_data.humi);
1223 2 // lcd_wrd(0x25);
1224 2 lcd_dis_ch(0xa3,0xa5);
1225 2 lcd_add(3,7);
1226 2 lcd_dis_ch(0xc7,0xeb);
1227 2 lcd_dis_ch(0xb0,0xb4);
1228 2 lcd_add(4,1);
1229 2 lcd_dis_ch(0xce,0xc2);
1230 2 lcd_dis_ch(0xb6,0xc8);
C51 COMPILER V7.07 SHTXX_SELF 06/14/2007 21:21:35 PAGE 21
1231 2 lcd_wrd(0x3a);
1232 2 lcd_add(4,4);
1233 2 lcd_dis_num_2((uint)b_data.temp);
1234 2 lcd_dis_ch(0xa1,0xe6);
1235 2 lcd_add(4,7);
1236 2 lcd_dis_ch(0xc8,0xa1);
1237 2 lcd_dis_ch(0xcf,0xfa);
1238 2
1239 2
1240 2 // ldelay(200);
1241 2 ldelay(200);
1242 2
1243 2
1244 2
1245 2 // lcd_dis_time(); //时钟显示函数
1246 2 //测试n次
1247 2 // i = ad_ce_n();
1248 2 // ldelay(80);
1249 2
1250 2 /*
1251 2 //ad测试
1252 2 dat_ad = ad_ce();
1253 2 lcd_en();
1254 2 lcd_add(2,1);
1255 2 lcd_dis_num(dat_ad);
1256 2 dat_ad_xian = (float)(dat_ad*1.28/2.048);
1257 2 lcd_dis_num((uint)dat_ad_xian);
1258 2 ldelay(80);
1259 2
1260 2
1261 2 /*
1262 2 //ad读
1263 2 if(sta == 0)
1264 2 {
1265 2 P0 = 0XFF;
1266 2 delay(50);
1267 2
1268 2 if(sta == 0)
1269 2 {
1270 2 // P0 = 0XFF;
1271 2 lben = 0;
1272 2 hben = 1;
1273 2 ad_en();
1274 2 _nop_();
1275 2 i = P0;
1276 2 ce = 1;
1277 2 _nop_();
1278 2
1279 2 hben = 0;
1280 2 lben = 1;
1281 2 ad_en();
1282 2 _nop_();
1283 2 v = P0&0x0f;
1284 2
1285 2 lcd_en();
1286 2 lcd_add(2,1);
1287 2 lcd_dis_num(v);
1288 2 lcd_dis_num(i);
1289 2
1290 2
1291 2 dat_ad = v*256+i;
1292 2 lcd_dis_num(dat_ad);
C51 COMPILER V7.07 SHTXX_SELF 06/14/2007 21:21:35 PAGE 22
1293 2
1294 2 dat_ad_xian = (float)(dat_ad*1.28/2.048);
1295 2 // dat_ad_xian = (float)(dat_ad/2.048);
1296 2
1297 2 lcd_dis_num((uint)dat_ad_xian);
1298 2
1299 2 // v = P0&0X30;
1300 2 // v = v>>4;
1301 2 // lcd_dis_num(v);
1302 2
1303 2 ldelay(80);
1304 2 }
1305 2
1306 2 }
1307 2 //ad读结束
1308 2 */
1309 2
1310 2 /* keydata = key_data();
1311 2 lcd_add(4,7);
1312 2 switch(keydata)
1313 2 {
1314 2 case 0:
1315 2 {
1316 2 v = 3;
1317 2 lcd_dis_num(v);
1318 2 break;
1319 2 }
1320 2 case 1:
1321 2 {
1322 2 v = 4;
1323 2 lcd_dis_num(v);
1324 2 break;
1325 2 }
1326 2 case 2:
1327 2 {
1328 2 v = 5;
1329 2 lcd_dis_num(v);
1330 2 break;
1331 2 }
1332 2 case 3:
1333 2 {
1334 2 v = 6;
1335 2 lcd_dis_num(v);
1336 2 break;
1337 2 }
1338 2 case 4:
1339 2 {
1340 2 v = 2;
1341 2 lcd_dis_num(v);
1342 2 break;
1343 2 }
1344 2 case 5:
1345 2 {
1346 2 v = 7;
1347 2 lcd_dis_num(v);
1348 2 break;
1349 2 }
1350 2 case 6:
1351 2 {
1352 2 v = 8;
1353 2 lcd_dis_num(v);
1354 2 break;
C51 COMPILER V7.07 SHTXX_SELF 06/14/2007 21:21:35 PAGE 23
1355 2 }
1356 2 case 7:
1357 2 {
1358 2 v = 9;
1359 2 lcd_dis_num(v);
1360 2 break;
1361 2 }
1362 2 case 8:
1363 2 {
1364 2 v = 1;
1365 2 lcd_dis_num(v);
1366 2 break;
1367 2 }
1368 2 case 9:
1369 2 {
1370 2 v = 10;
1371 2 lcd_dis_num(v);
1372 2 break;
1373 2 }
1374 2 case 10:
1375 2 {
1376 2 v = 11;
1377 2 lcd_dis_num(v);
1378 2 break;
1379 2 }
1380 2 case 11:
1381 2 {
1382 2 v = 12;
1383 2 lcd_dis_num(v);
1384 2 break;
1385 2 }
1386 2 case 12:
1387 2 {
1388 2 v = 0;
1389 2 lcd_dis_num(v);
1390 2 break;
1391 2 }
1392 2 case 13:
1393 2 {
1394 2 v = 13;
1395 2 lcd_dis_num(v);
1396 2 break;
1397 2 }
1398 2 case 14:
1399 2 {
1400 2 v = 14;
1401 2 lcd_dis_num(v);
1402 2 break;
1403 2 }
1404 2 case 15:
1405 2 {
1406 2 v = 15;
1407 2 lcd_dis_num(v);
1408 2 break;
1409 2 }
1410 2 default:
1411 2 {
1412 2 v = 16;
1413 2 lcd_dis_num(v);
1414 2 break;
1415 2 }
1416 2 }
C51 COMPILER V7.07 SHTXX_SELF 06/14/2007 21:21:35 PAGE 24
1417 2 */
1418 2 }
1419 1
1420 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3849 ----
CONSTANT SIZE = 24 ----
XDATA SIZE = ---- ----
PDATA SIZE = 20 152
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?