⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ra8806.lst

📁 Radio公司的最新控制器RA8806只要一条命令就可以实现硬件上90度的滚屏效果
💻 LST
📖 第 1 页 / 共 5 页
字号:
1174          //==============================================================================
1175          void LCD_Bold(void)
1176          {
1177   1              uchar temp;
1178   1              
1179   1              LCD_CmdWrite(WCCR);
1180   1              temp = LCD_DataRead();
1181   1              temp |= cSetb4;
1182   1              LCD_CmdWrite(WCCR);
1183   1              LCD_DataWrite(temp);
1184   1      }
1185          
1186          void LCD_NoBold(void)
1187          {
1188   1              uchar temp;
1189   1              
1190   1              LCD_CmdWrite(WCCR);
1191   1              temp = LCD_DataRead();
1192   1              temp &= cClrb4;
1193   1              LCD_CmdWrite(WCCR);
1194   1              LCD_DataWrite(temp);
1195   1      }
1196          
1197          //==============================================================================
1198          //Subroutine:   Inv
1199          //Function:
1200          //==============================================================================
1201          void LCD_Inv(void)
1202          {
1203   1              uchar temp;
1204   1              
1205   1              LCD_CmdWrite(WCCR);
1206   1              temp = LCD_DataRead();
1207   1              temp |= cSetb5;                         //@@@@@@@@@@@@@@
1208   1              LCD_CmdWrite(WCCR);
1209   1              LCD_DataWrite(temp);
1210   1      }
1211          
1212          void LCD_NoInv(void)
1213          {
1214   1              uchar temp;
1215   1      
1216   1              LCD_CmdWrite(WCCR);
1217   1              temp = LCD_DataRead();
1218   1              temp &= cClrb5;                         //@@@@@@@@@@@@@@
1219   1              LCD_CmdWrite(WCCR);
1220   1              LCD_DataWrite(temp);
1221   1      }
1222          
1223          //==============================================================================
1224          //Subroutine:   GInv
1225          //Function:
1226          //==============================================================================
1227          void LCD_GInv(void)
1228          {
1229   1              uchar temp;
1230   1      
1231   1              LCD_CmdWrite(WLCR);     
1232   1              temp = LCD_DataRead();
1233   1              temp |= cSetb0;
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 21  

1234   1              LCD_CmdWrite(WLCR);
1235   1              LCD_DataWrite(temp);
1236   1      }
1237          
1238          void LCD_NoGInv(void)
1239          {
1240   1              uchar temp;
1241   1              
1242   1              LCD_CmdWrite(WLCR);
1243   1              temp = LCD_DataRead();
1244   1              temp &= cClrb0;
1245   1              LCD_CmdWrite(WLCR);
1246   1              LCD_DataWrite(temp);
1247   1      }
1248          
1249          //==============================================================================
1250          //Subroutine:   Set_Bit_Order
1251          //Function:
1252          //==============================================================================
1253          void Set_Bit_Order(void)
1254          {
1255   1              uchar temp;
1256   1      
1257   1              LCD_CmdWrite(ADSR);     
1258   1              temp = LCD_DataRead();
1259   1              temp |= cSetb3;
1260   1              LCD_CmdWrite(ADSR);
1261   1              LCD_DataWrite(temp);
1262   1      }
1263          
1264          void Clr_Bit_Order(void)
1265          {
1266   1              uchar temp;
1267   1      
1268   1              LCD_CmdWrite(ADSR);     
1269   1              temp = LCD_DataRead();
1270   1              temp &= cClrb3;
1271   1              LCD_CmdWrite(ADSR);
1272   1              LCD_DataWrite(temp);
1273   1      }
1274          //==============================================================================
1275          //Subroutine:   Show Hex
1276          //Function:             
1277          //==============================================================================
1278          void Print_Hex(uchar buf)
1279          {
1280   1              uchar temp;
1281   1              temp=buf;
1282   1              temp = (temp >>4) & 0x0F;
1283   1              if(temp < 0x0A)
1284   1              {
1285   2                      temp |= 0x30;
1286   2              }
1287   1              else temp = temp + 0x37;
1288   1              LCD_DataWrite(temp);
1289   1              Delay1ms(1);
1290   1      
1291   1              temp=buf;
1292   1              temp = temp & 0x0F;
1293   1              if(temp < 0x0A)
1294   1              {
1295   2                      temp |= 0x30;
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 22  

1296   2              }
1297   1              else temp = temp + 0x37;
1298   1              LCD_DataWrite(temp);
1299   1              Delay1ms(1);
1300   1      }
1301          //==============================================================================
1302          //Subroutine:   Fill_PNTR_to_DPRAM
1303          //Function:
1304          //==============================================================================
1305          void Fill_PNTR_to_DPRAM(void)
1306          {
1307   1              uchar temp;
1308   1              
1309   1              LCD_CmdWrite(FNCR);     
1310   1              temp = LCD_DataRead();
1311   1              temp |= cSetb3;
1312   1              LCD_CmdWrite(FNCR);
1313   1              LCD_DataWrite(temp);
1314   1      
1315   1              do{
1316   2                      Delay2us(1);
1317   2              }while(LCD_CmdRead() & 0x80);
1318   1      
1319   1      }
1320          
1321          //==============================================================================
1322          //Subroutine:   Enable_KeyScan_INT
1323          //Function:
1324          //==============================================================================
1325          void Enable_KeyScan_INT(void)
1326          {
1327   1              uchar temp;
1328   1      
1329   1              LCD_CmdWrite(INTR);     
1330   1              temp = LCD_DataRead();
1331   1              temp |= cSetb3;
1332   1              LCD_CmdWrite(INTR);
1333   1              LCD_DataWrite(temp);
1334   1      }
1335          
1336          //==============================================================================
1337          //Subroutine:   Enable_KeyScan
1338          //Function:
1339          //==============================================================================
1340          void Enable_KeyScan(void)
1341          {
1342   1              uchar temp;
1343   1      
1344   1              LCD_CmdWrite(KSCR1);    
1345   1              temp = LCD_DataRead();
1346   1              temp |= cSetb7;
1347   1              LCD_CmdWrite(KSCR1);
1348   1              LCD_DataWrite(temp);
1349   1      }
1350          
1351          //==============================================================================
1352          //Subroutine:   Enable_KeyScan
1353          //Function:
1354          //==============================================================================
1355          void Disable_KeyScan(void)
1356          {
1357   1              uchar temp;
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 23  

1358   1      
1359   1              LCD_CmdWrite(KSCR1);    
1360   1              temp = LCD_DataRead();
1361   1              temp &= cClrb7;
1362   1              LCD_CmdWrite(KSCR1);
1363   1              LCD_DataWrite(temp);
1364   1      }
1365          
1366          //==============================================================================
1367          //Subroutine:   Enable_KeyScan_WakeUp
1368          //Function:
1369          //==============================================================================
1370          void Enable_KeyScan_WakeUp(void)
1371          {
1372   1              uchar temp;
1373   1      
1374   1              LCD_CmdWrite(KSCR2);    
1375   1              temp = LCD_DataRead();
1376   1              temp |= cSetb7;
1377   1              LCD_CmdWrite(KSCR2);
1378   1              LCD_DataWrite(temp);
1379   1      }
1380          
1381          //==============================================================================
1382          //Subroutine:   Disable_KeyScan_WakeUp
1383          //Function:
1384          //==============================================================================
1385          void Disable_KeyScan_WakeUp(void)
1386          {
1387   1              uchar temp;
1388   1      
1389   1              LCD_CmdWrite(KSCR2);    
1390   1              temp = LCD_DataRead();
1391   1              temp &= cClrb7;
1392   1              LCD_CmdWrite(KSCR2);
1393   1              LCD_DataWrite(temp);
1394   1      }
1395          
1396          //==============================================================================
1397          //Subroutine:   Clr_KeyScan_INT_Flag
1398          //Function:
1399          //==============================================================================
1400          void Clr_KeyScan_INT_Flag(void)
1401          {
1402   1              uchar temp;
1403   1      
1404   1              LCD_CmdWrite(INTR);     
1405   1              temp = LCD_DataRead();
1406   1              temp = temp & 0xfd;
1407   1              LCD_CmdWrite(INTR);
1408   1              LCD_DataWrite(temp);
1409   1      }
1410          
1411          //==============================================================================
1412          //Subroutine:   Clr_Wakeup_INT_Flag
1413          //Function:
1414          //==============================================================================
1415          void Clr_Wakeup_INT_Flag(void)
1416          {
1417   1              uchar temp;
1418   1      
1419   1              LCD_CmdWrite(INTR);     
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 24  

1420   1              temp = LCD_DataRead();
1421   1              temp = temp & 0xfb;
1422   1              LCD_CmdWrite(INTR);
1423   1              LCD_DataWrite(temp);
1424   1      }
1425          
1426          //==============================================================================
1427          //Subroutine:   Get_Key
1428          //Function:
1429          //==============================================================================
1430          uchar Get_Key(void)
1431          {
1432   1              uchar temp;
1433   1      
1434   1              LCD_CmdWrite(INTR);     
1435   1              temp = LCD_DataRead();
1436   1              temp = temp & 0x02;
1437   1              if(temp == 0) 
1438   1                      return 0;
1439   1              else              
1440   1                      return 1;
1441   1      }
1442          
1443          
1444          
1445          //==============================================================================
1446          //Subroutine:   Blk
1447          //Function:
1448          //==============================================================================
1449          void LCD_Blk(void)
1450          {
1451   1              uchar temp;
1452   1              
1453   1              LCD_CmdWrite(WLCR);
1454   1              temp = LCD_DataRead();
1455   1              temp |= cSetb1;
1456   1              LCD_CmdWrite(WLCR);
1457   1              LCD_DataWrite(temp);
1458   1      }
1459          
1460          void LCD_NoBlk(void)
1461          {
1462   1              uchar temp;
1463   1              
1464   1              LCD_CmdWrite(WLCR);
1465   1              temp = LCD_DataRead();
1466   1              temp &= cClrb1;
1467   1              LCD_CmdWri

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -