📄 lcd.lst
字号:
C51 COMPILER V7.08 LCD 06/20/2008 14:10:17 PAGE 20
1170 2 {
1171 3 bCS1=1;
1172 3 bCS3=1;
1173 3 bCS2=0;
1174 3 }
1175 2 }
1176 1 else
1177 1 {
1178 2 bCS3=1;
1179 2 bCS2=1;
1180 2 bCS1=0;
1181 2 }
1182 1 x=x % 128;
1183 1 lcd_busy();
1184 1
1185 1 bRWE=1;
1186 1
1187 1 bDI=0;
1188 1 bRW=0;
1189 1 Lcd_Bus=0x40|x;
1190 1
1191 1 nc(2);
1192 1 bRWE=0;
1193 1 nc(2);
1194 1
1195 1 lcd_busy();
1196 1
1197 1 bRWE=1;
1198 1 bDI=0;
1199 1 bRW=0;
1200 1 nc(2);
1201 1
1202 1 Lcd_Bus=0xb8|y;
1203 1
1204 1
1205 1 bRWE=0;
1206 1 nc(2);
1207 1
1208 1 Lcd_Bus=0xFF;
1209 1 nc(2);
1210 1
1211 1 }
1212 void lw(unsigned char x,unsigned char y,unsigned char dd)
1213 {
1214 1 set_xy(x,y);
1215 1 lcd_busy();
1216 1 bDI=1;
1217 1 bRW=0;
1218 1 Lcd_Bus=dd;
1219 1 bRWE=1;
1220 1 bRWE=0;
1221 1 Lcd_Bus=0xff;
1222 1 }
1223 void da(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
1224 {
1225 1 unsigned char i,dd;
1226 1 n-=32;
1227 1 if (n>128)
1228 1 n=0;
1229 1 if (fb)
1230 1 dd=255;
1231 1 else
C51 COMPILER V7.08 LCD 06/20/2008 14:10:17 PAGE 21
1232 1 dd=0;
1233 1 lw(x*8,y,dd);
1234 1 lw(x*8,y+1,dd);
1235 1 for (i=0;i<7;i++)
1236 1 {
1237 2 dd=asc[i+n*16];
1238 2 if (fb)
1239 2 dd=255-dd;
1240 2 lw(x*8+i+1,y,dd);
1241 2 dd=asc[i+n*16+8];
1242 2 if (fb)
1243 2 dd=255-dd;
1244 2 lw(x*8+i+1,y+1,dd);
1245 2 }
1246 1 }
1247 void display_hz(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
1248 {
1249 1 unsigned char i,dd;
1250 1 for (i=0;i<16;i++)
1251 1 {
1252 2 dd=Test_hz_Status[n][i];
1253 2 if (fb)
1254 2 dd=255-dd;
1255 2 lw(x*8+i,y,dd);
1256 2 dd=Test_hz_Status[n][i+16];
1257 2 if (fb)
1258 2 dd=255-dd;
1259 2 lw(x*8+i,y+1,dd);
1260 2 }
1261 1 }
1262 void display_string_hz(unsigned char x,unsigned char y,unsigned char c_Start,unsigned char c_Stop ,unsigne
-d char fb)
1263 {
1264 1 unsigned char i;
1265 1 unsigned char j;
1266 1
1267 1 j=0;
1268 1 for (i=c_Start;i<=c_Stop;i++)
1269 1 {
1270 2 display_hz(x+j,y,i,fb);
1271 2 j+=2;
1272 2 }
1273 1 }
1274 void dh(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
1275 {
1276 1 unsigned char i,dd;
1277 1 for (i=0;i<16;i++)
1278 1 {
1279 2 dd=hz[n][i];
1280 2 if (fb)
1281 2 dd=255-dd;
1282 2 lw(x*8+i,y,dd);
1283 2 dd=hz[n][i+16];
1284 2 if (fb)
1285 2 dd=255-dd;
1286 2 lw(x*8+i,y+1,dd);
1287 2 dd=hz[n][i+32];
1288 2 if (fb)
1289 2 dd=255-dd;
1290 2 lw(x*8+i,y+2,dd);
1291 2 dd=hz[n][i+48];
1292 2 if (fb)
C51 COMPILER V7.08 LCD 06/20/2008 14:10:17 PAGE 22
1293 2 dd=255-dd;
1294 2 lw(x*8+i,y+3,dd);
1295 2 }
1296 1 }
1297 //显示字符,fb==1:反白显示
1298 void da_big(unsigned char x,unsigned char y,unsigned char n,unsigned char fb)
1299 {
1300 1 unsigned char i,dd;
1301 1 n-=32;
1302 1 if (n>128)
1303 1 n=0;
1304 1 if (fb)
1305 1 dd=255;
1306 1 else
1307 1 dd=0;
1308 1 lw(x*8,y,dd);
1309 1 lw(x*8,y+1,dd);
1310 1 lw((x+1)*8,y,dd);
1311 1 lw((x+1)*8,y+1,dd);
1312 1 for (i=0;i<7;i++)
1313 1 {
1314 2 dd=asc[i+n*16];
1315 2 if (fb)
1316 2 dd=255-dd;
1317 2 lw(x*16+i+1,y,dd);
1318 2 dd=asc[i+n*16+8];
1319 2 if (fb)
1320 2 dd=255-dd;
1321 2 lw(x*16+i+1,y+1,dd);
1322 2 }
1323 1
1324 1 }
1325
1326 void int_init(void)//MCU INT INIT
1327 {
1328 1 IT0=1;
1329 1 EX0=1;
1330 1 EA=1;
1331 1 }
1332
1333 //***************************MCU PROT INIT***************************
1334 void port_init(void)//MCU PROT INIT
1335 {
1336 1 P0=0xFF;
1337 1 P1=0xFF;
1338 1 P2=0xFF;
1339 1 P3=0xFF;
1340 1 }
1341 //***************************MCU PROT INIT***************************
1342 //MCU INI INIT STOP
1343 //==================================================================================================
1344 void incept_int0(void) interrupt 0 using 0
1345 {
1346 1 BYTE bSel;
1347 1 BYTE bStep;
1348 1 WORD iStep;
1349 1 BYTE i;
1350 1 BYTE iRow;
1351 1 BYTE iCol;
1352 1
1353 1 BYTE *iDisplay;
1354 1
C51 COMPILER V7.08 LCD 06/20/2008 14:10:17 PAGE 23
1355 1 BYTE iDisplay_data[24];
1356 1
1357 1 bSel=P3 & 0x38;
1358 1 bStep=Step_Bus;
1359 1
1360 1 switch(bSel)
1361 1 {
1362 2 case 0x00://P33:L P34:L P35:L
1363 2 {
1364 3 iStep=bStep;
1365 3 if(bStep9==1)
1366 3 iStep+=512;
1367 3 if((bStep8==1)&(iStep<512))
1368 3 iStep+=256;
1369 3
1370 3 P3=0x0F;
1371 3
1372 3 iDisplay=Test_content[iStep];
1373 3 display_string(0,4,24,0,iDisplay);
1374 3 P3=0xFF;
1375 3 }
1376 2 break;
1377 2 case 0x08://P33:H P34:L P35:L
1378 2 //Select Product
1379 2 {
1380 3 bStep=bStep & 0x0F;
1381 3 P3=0x0F;
1382 3 //Clr_Screen(0xFF);
1383 3 if(bStep<9)
1384 3 {
1385 4 for(i=0;i<9;i++)
1386 4 {
1387 5 iRow=(i/3)*2;
1388 5 iCol=(i%3)*8;
1389 5 iDisplay=product_select_name[i];
1390 5 if(i==bStep)
1391 5 display_string(iCol,iRow,8,1,iDisplay);
1392 5 else
1393 5 display_string(iCol,iRow,8,0,iDisplay);
1394 5 }
1395 4 for(i=0;i<24;i++)
1396 4 iDisplay_data[i]=' ';
1397 4 for(i=9;i<11;i++)
1398 4 {
1399 5 iRow=(i/3)*2;
1400 5 iCol=(i%3)*8;
1401 5 display_string(iCol,iRow,8,0,iDisplay_data);
1402 5 }
1403 4
1404 4 }
1405 3 else
1406 3 {
1407 4 for(i=9;i<Max_Product;i++)
1408 4 {
1409 5 iRow=i % 9;
1410 5 iRow=(iRow/3)*2;
1411 5 iCol=i % 9;
1412 5 iCol=(iCol%3)*8;
1413 5 iDisplay=product_select_name[i];
1414 5 if(i==bStep)
1415 5 display_string(iCol,iRow,8,1,iDisplay);
1416 5 else
C51 COMPILER V7.08 LCD 06/20/2008 14:10:17 PAGE 24
1417 5 display_string(iCol,iRow,8,0,iDisplay);
1418 5 }
1419 4 for(i=0;i<24;i++)
1420 4 iDisplay_data[i]=' ';
1421 4
1422 4 for(i=Max_Product % 9;i<11;i++)
1423 4 {
1424 5 iRow=(i/3)*2;
1425 5 iCol=(i%3)*8;
1426 5 display_string(iCol,iRow,8,0,iDisplay_data);
1427 5 }
1428 4
1429 4 }
1430 3
1431 3 display_string_hz(16,6,6,9,1);
1432 3 P3=0xFF;
1433 3 }
1434 2 break;
1435 2 case 0x18:
1436 2 {
1437 3 P3=0x0F;
1438 3
1439 3 bSel=bStep & 0x03;
1440 3
1441 3 if(bSel==1)
1442 3 {
1443 4 Clr_x_y_Screen(16,0,8,0xFF);
1444 4 Clr_x_y_Screen(16,1,8,0xFF);
1445 4 Clr_x_y_Screen(16,2,8,0xFF);
1446 4 Clr_x_y_Screen(16,3,8,0xFF);
1447 4 dh(18,0,0,1);
1448 4 dh(20,0,1,1);
1449 4 }
1450 3 else
1451 3 {
1452 4 Clr_x_y_Screen(16,0,8,0xFF);
1453 4 Clr_x_y_Screen(16,1,8,0xFF);
1454 4 Clr_x_y_Screen(16,2,8,0xFF);
1455 4 Clr_x_y_Screen(16,3,8,0xFF);
1456 4 dh(18,0,2,1);
1457 4 dh(20,0,3,1);
1458 4 }
1459 3 P3=0xFF;
1460 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -