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

📄 ms_func.lst

📁 MST720-DEMO程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 17  

 981   2                      MCUXFR_48_SSPI_TRIG=0xf9;
 982   2      
 983   2                      //  Write disable       : Reset write enable latch
 984   2                      MCUXFR_40_SSPI_WD0=0x04;  // Write disable 
 985   2                      MCUXFR_48_SSPI_TRIG=0xf8;
 986   2                      //sysWriteString("Save Flash Data finish.\x0d\x0a");
 987   2      
 988   2              }
 989   1              else if(i==0x05)//20050923
 990   1              {
 991   2                      // SAIFUN flash
 992   2                      // 20051207 seven
 993   2                      MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
 994   2                      MCUXFR_48_SSPI_TRIG=0xf8;
 995   2      
 996   2                      // Write Status 0x00
 997   2                      MCUXFR_40_SSPI_WD0=0x01;
 998   2                      MCUXFR_41_SSPI_WD1=0x00;
 999   2                      MCUXFR_48_SSPI_TRIG=0xF9;
1000   2      
1001   2                      // Write Enable WREN + Sector Erase
1002   2                      MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
1003   2                      MCUXFR_48_SSPI_TRIG=0xF8;
1004   2                      MCUXFR_40_SSPI_WD0=0x81; //  Sector Erase 0x00e000
1005   2                      MCUXFR_41_SSPI_WD1=0x00;
1006   2                      MCUXFR_42_SSPI_WD2=0xE0;
1007   2                      MCUXFR_43_SSPI_WD3=0x00;
1008   2                      MCUXFR_48_SSPI_TRIG=0xFb;
1009   2                      miscDelay1ms(6);
1010   2      
1011   2                      // WREN + Write Byte
1012   2                      for (i=0;i<sizeof(Display);i++)
1013   2                      {
1014   3                              MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
1015   3                              MCUXFR_48_SSPI_TRIG=0xF8;
1016   3                              MCUXFR_40_SSPI_WD0=0x02;  //FlashWriteByte  SST 
1017   3                              MCUXFR_41_SSPI_WD1=0x00;
1018   3                              MCUXFR_42_SSPI_WD2=0xE0;
1019   3                              MCUXFR_43_SSPI_WD3=i;
1020   3                              MCUXFR_44_SSPI_WD4=*(&Display.ucVersion+i);
1021   3                              MCUXFR_48_SSPI_TRIG=0xFC;
1022   3                              miscDelay1ms(10);
1023   3                      }
1024   2                      
1025   2                      //  Write Protect
1026   2                      MCUXFR_40_SSPI_WD0=0x01;
1027   2                      MCUXFR_41_SSPI_WD1=0x0C;
1028   2                      MCUXFR_48_SSPI_TRIG=0xF9;
1029   2              }
1030   1              else
1031   1              {
1032   2                      // SST flash
1033   2                      // 20051207 seven
1034   2                      MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
1035   2                      MCUXFR_48_SSPI_TRIG=0xc1;
1036   2      
1037   2                      // disable Write Protect
1038   2                      MCUXFR_40_SSPI_WD0=0x50;
1039   2                      MCUXFR_41_SSPI_WD1=0x01;
1040   2                      MCUXFR_42_SSPI_WD2=0x00;
1041   2                      MCUXFR_48_SSPI_TRIG=0xc8;
1042   2                      // Write Enable WREN + Sector Erase
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 18  

1043   2                      MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
1044   2                      MCUXFR_48_SSPI_TRIG=0xc1;
1045   2                      MCUXFR_40_SSPI_WD0=0x20; //  Sector Erase 0x00e000
1046   2                      MCUXFR_41_SSPI_WD1=0x00;
1047   2                      MCUXFR_42_SSPI_WD2=0xe0;
1048   2                      MCUXFR_43_SSPI_WD3=0x00;
1049   2                      MCUXFR_48_SSPI_TRIG=0xc4;
1050   2                      miscDelay1ms(25);  //from spec page 19
1051   2                      // WREN + Write Byte
1052   2                      for (i=0;i<sizeof(Display);i++)
1053   2                      {
1054   3                              MCUXFR_40_SSPI_WD0=0x06;  // Write Enable WREN
1055   3                              MCUXFR_48_SSPI_TRIG=0xc1;
1056   3                              MCUXFR_40_SSPI_WD0=0x02;  //FlashWriteByte  SST 
1057   3                              MCUXFR_41_SSPI_WD1=0x00;
1058   3                              MCUXFR_42_SSPI_WD2=0xe0;
1059   3                              MCUXFR_43_SSPI_WD3=i;
1060   3                              MCUXFR_44_SSPI_WD4=*(&Display.ucVersion+i);
1061   3                              MCUXFR_48_SSPI_TRIG=0xc5;
1062   3                              miscDelay1ms(5);
1063   3                      }
1064   2                      
1065   2                      // Enable Write Protect
1066   2                      MCUXFR_40_SSPI_WD0=0x50;
1067   2                      MCUXFR_41_SSPI_WD1=0x01;
1068   2                      MCUXFR_42_SSPI_WD2=0x0c;
1069   2                      MCUXFR_48_SSPI_TRIG=0xc8;
1070   2              
1071   2                      //sysWriteString("Save Flash Data finish.\x0d\x0a");
1072   2              
1073   2                  }
1074   1      }
1075          
1076          void mstLoadDisplayData(void)
1077          {
1078   1              BYTE CS,i;
1079   1              BYTE code *address;
1080   1              address = SFD_ADDRESS;
1081   1              
1082   1              //sysWriteString("Load Flash Data :");
1083   1              for (i=0 ; i< sizeof(Display); i++)
1084   1              {
1085   2                      *(&Display.ucVersion + i) = *(address+i);
1086   2                      //sysWriteHex(*(address+i), 1);
1087   2                      //sysWriteString(" ");
1088   2                      
1089   2              }
1090   1      
1091   1              //sysWriteString("Load Flash Data finish.\x0d\x0a");
1092   1              CS = 0;
1093   1              
1094   1              for (i=0 ; i < (sizeof(Display)-1) ; i++)
1095   1              {
1096   2                      CS += *(&Display.ucVersion + i);
1097   2              }
1098   1      
1099   1              if((Display.ucVersion != DEF_VERSION) || (Display.ucCheckSun != CS))
1100   1              {
1101   2                      Display.ucVersion = DEF_VERSION;
1102   2                      Display.ucSystemStauts = DEF_SYSTEM_STATUS;
1103   2                      Display.ucSourceSEL = DEF_SOURCE_SEL;
1104   2                      Display.ucPcContrast = DEF_CONTRAST;
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 19  

1105   2                      Display.ucVedioContrast = DEF_CONTRAST;
1106   2                      Display.ucBrightness = DEF_BRIGHTNESS;
1107   2                      Display.ucHue = DEF_HUE;
1108   2                      Display.ucSaturation = DEF_SATURATION;
1109   2                      Display.ucGamma = DEF_GAMMA;
1110   2                      Display.ucScalingMode= DEF_SCALING;
1111   2      #if USE_ALLMACEOSD
                              Display.ucDLTI = DEF_DLTI;
                              Display.ucDCTI = DEF_DCTI;
                              Display.ucBlackExtension = DEF_BLACK_EX;
                              Display.ucWhiteExtension = DEF_WHITE_EX;
                              Display.ucFavorColor = DEF_FAVOR_COLOR;
                              Display.ucSharpness = DEF_SHARPNESS;
              #else
1119   2                      Display.ucMACE = DEF_MACE;
1120   2      #endif  //USE_ALLMACEOSD
1121   2                      Display.ucLanguage = DEF_LANGUAGE;
1122   2                      Display.ucOSDTimer = DEF_OSD_TIMER;
1123   2                      Display.ucTransparency = DEF_TRANSPARENCY;
1124   2                      
1125   2                      Display.ucVgaRedGain = DEF_VGA_GAINR;
1126   2                      Display.ucVgaGreenGain = DEF_VGA_GAING;
1127   2                      Display.ucVgaBlueGain = DEF_VGA_GAINB;
1128   2      
1129   2                      Display.ucVgaRedOffset = DEF_VGA_OFFSETR;
1130   2                      Display.ucVgaGreenOffset = DEF_VGA_OFFSETG;
1131   2                      Display.ucVgaBlueOffset = DEF_VGA_OFFSETB;
1132   2      
1133   2                      Display.ucYPbPrPrGain = DEF_YPBPR_GAINPR;
1134   2                      Display.ucYPbPrYGain = DEF_YPBPR_GAINY;
1135   2                      Display.ucYPbPrPbGain = DEF_YPBPR_GAINPB;
1136   2      
1137   2                      Display.ucYPbPrPrOffset = DEF_YPBPR_OFFSETPR;
1138   2                      Display.ucYPbPrYOffset = DEF_YPBPR_OFFSETPY;
1139   2                      Display.ucYPbPrPbOffset = DEF_YPBPR_OFFSETPPB;
1140   2      
1141   2                      Display.ucVCOMdc = DEF_VCOM_DC;
1142   2                      Display.ucVCOMac = DEF_VCOM_AC;
1143   2      
1144   2                      Display.ucSSCStep = DEF_SSC_STEP0;
1145   2                      Display.ucSSCSpan = DEF_SSC_SPAN0;
1146   2                      
1147   2                      mstSaveDisplayData();   
1148   2      
1149   2              }
1150   1      
1151   1      }
1152          
1153          #else
              // Save data to EEPROM 24CXX (0x00 ~ 0xXX)
              void mstSaveDisplayData(void)
              {
                      BYTE ucByteCount,ucIndexAddr;
              
                      ucByteCount = sizeof(Display);
              
                      Display.ucCheckSun = 0;
                      
                      for (ucIndexAddr=0 ; ucIndexAddr < (sizeof(Display)-1) ; ucIndexAddr++)
                      {
                              Display.ucCheckSun += *(&Display.ucVersion + ucIndexAddr);
                      }
C51 COMPILER V7.50   MS_FUNC                                                               03/18/2008 22:29:09 PAGE 20  

                      
                      ucIndexAddr = 0;
                      
                      while (ucByteCount >= 1)
                      {
                              if (ucByteCount > 8)
                              {
                                      sysI2CWriteBytes(EEPROMID, ucIndexAddr, 8, (BYTE *)(&Display.ucVersion+ucIndexAddr));
                                      ucByteCount -= 8;
                              }
                              else
                              {
                                      sysI2CWriteBytes(EEPROMID, ucIndexAddr, ucByteCount, (BYTE *)(&Display.ucVersion+ucIndexAddr));
                                      ucByteCount = 0;
                              }
                              
                              miscDelay1ms(15);
                              ucIndexAddr += 8;
                      }
              }
              
              void mstLoadDisplayData(void)
              {
                      BYTE CS,i;
                      
                      sysI2CReadBytes(EEPROMID, 0x00, sizeof(Display), (BYTE *)(&Display.ucVersion));
              
                      CS = 0;
                      
                      for (i=0 ; i < (sizeof(Display)-1) ; i++)
                      {
                              CS += *(&Display.ucVersion + i);
                      }
              
                      if ((Display.ucVersion != DEF_VERSION) || (Display.ucCheckSun != CS))
                      {
                              Display.ucVersion = DEF_VERSION;
                              Display.ucSystemStauts = DEF_SYSTEM_STATUS;
                              Display.ucSourceSEL = DEF_SOURCE_SEL;
                              Display.ucPcContrast = DEF_CONTRAST;
                              Display.ucVedioContrast = DEF_CONTRAST;
                              Display.ucBrightness = DEF_BRIGHTNESS;
                              Display.ucHue = DEF_HUE;
                              Display.ucSaturation = DEF_SATURATION;
                              Display.ucGamma = DEF_GAMMA;
                              Display.ucScalingMode= DEF_SCALING;
              #if USE_ALLMACEOSD
                              Display.ucDLTI = DEF_DLTI;
                              Display.ucDCTI = DEF_DCTI;
                              Display.ucBlackExtension = DEF_BLACK_EX;
                              Display.ucWhiteExtension = DEF_WHITE_EX;
                              Display.ucFavorColor = DEF_FAVOR_COLOR;
                              Display.ucSharpness = DEF_SHARPNESS;
              #else
                              Display.ucMACE = DEF_MACE;
              #endif  //USE_ALLMACEOSD
              
                              Display.ucLanguage = DEF_LANGUAGE;
                            

⌨️ 快捷键说明

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