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

📄 eeprom.lst

📁 myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频参数的调节
💻 LST
📖 第 1 页 / 共 4 页
字号:
  80      =2  BlackLevel,
  81      =2  YaperGain,
  82      =2  RsubBri,
  83      =2  BsubBri,
  84      =2  WhitePeakLevel,
  85      =2  Gamma1,
  86      =2  Gamma2,
  87      =2  MaxMiscPageItem
  88      =2  };
  89      =2  
  90      =2  enum {
  91      =2  NOTHING,
  92      =2  BRIGHT_BRIGHTNESS,
  93      =2  BRIGHT_CONTRAST,
  94      =2  COLOR_HUE,
  95      =2  COLOR_SATURATION,
  96      =2  RunDimmer,
  97      =2  RunFormat,	//OSD_VPOS_U,
  98      =2  RunRecall,//OSD_LANGUAGE_U,
  99      =2  VIDEO_BRIGHTNESS,
 100      =2  VIDEO_CONTRAST,
 101      =2  VIDEO_HUE,
 102      =2  VIDEO_SATURATION,
 103      =2  VIDEO_Rotate
 104      =2  };
 105      =2  //----------------------
 106      =2  // osd page define
 107      =2  #define MainPageWinNo	3
 108      =2  #define MainPageColor Black
 109      =2  #define MainPageBarColor Cyan
 110      =2  #define MainPageItemLength 15
 111      =2  #define MainPageCharColor	Green //White
 112      =2  #define MainPageProcessColor	Red
 113      =2  #define MainPageExitColor		Cyan
 114      =2  //#define MainPageItemWidth MaxMainPageItem
 115      =2  #define MainPageBarLength MainPageItemLength
 116      =2  #define MainPageYStart	1	//row start
 117      =2  #define MainPageYEnd	10		//row end
 118      =2  #define MainPageXStart 0 	//column start
 119      =2  #define MainPageXEnd   15//cloumn end
 120      =2  
 121      =2  #define BackGroundWinNo	4
 122      =2  #define BackGroundColor	Magenta
 123      =2  #define BackGroundYStart	0
 124      =2  #define BackGroundYEnd	11
 125      =2  #define BackGroundXStart	0
 126      =2  #define BackGroundXEnd	16
 127      =2  /*
 128      =2  #define SecondPageWinNo 2
 129      =2  #define SecondPageColor Green
 130      =2  #define SecondPageBarColor Cyan
 131      =2  #define SecondPageItemLength MainPageItemLength
 132      =2  #define SecondPageItemWidth ? 
 133      =2  #define SecondPageBarLength SecondPageItemLength
 134      =2  #define SecondPageYStart (MainPageYStart+1)
 135      =2  #define SecondPageYEnd	 (MainPageYEnd+1)		//row end
C51 COMPILER V6.10  EEPROM                                                                 12/02/2004 10:58:51 PAGE 13  

 136      =2  #define SecondPageXStart (MainPageXStart+1) 	//column start
 137      =2  #define SecondPageXEnd   (MainPageXEnd+1)	//cloumn end
 138      =2  
 139      =2  #define ThirdPageWinNo	2
 140      =2  #define ThirdPageColor Cyan
 141      =2  #define ThirdPageBarColor Yellow
 142      =2  #define ThirdPageItemLength MainPageItemLength
 143      =2  #define ThirdPageItemWidth ?
 144      =2  #define ThirdPageBarLength ThirdPageItemLength
 145      =2  #define ThirdPageYStart (SecondPageYStart+1)
 146      =2  #define ThirdPageYEnd   (SecondPageYEnd+1)		//row end
 147      =2  #define ThirdPageXStart (SecondPageXStart+1) 	//column start
 148      =2  #define ThirdPageXEnd   (SecondPageXEnd+1)	//cloumn end
 149      =2  */
 150      =2  //--------------------------
 151      =2  #define EnableOSD()			(byM230_OSDCON = OSDConVal|OSDEN)
 152      =2  #define EnableOSDWinClr()	(byM230_OSDCON = OSDConVal|WENclr)
 153      =2  #define EnableOSDRAMClr()	(byM230_OSDCON = OSDConVal|RAMclr)
 154      =2  #define EnableOSDFBKGC()	(byM230_OSDCON = OSDConVal|FBKGC)
 155      =2  #define DisableOSD()			(byM230_OSDCON = OSDConVal&(~OSDEN))
 156      =2  #define DisableOSDWinClr()	(byM230_OSDCON = OSDConVal&(~WENclr))
 157      =2  #define DisableOSDRAMClr()	(byM230_OSDCON = OSDConVal&(~RAMclr))
 158      =2  #define DisableOSDFBKGC()	(byM230_OSDCON = OSDConVal&(~FBKGC))
 159      =2  
 160      =2  #define OSD_OFFTIME 10000
 161      =2  
 162      =2  #define sOSDAddrSt	0x90
 163      =2  #define sBrightAddrSt	0x93
 164      =2  #define sColorAddrSt	0x95
 165      =2  
 166      =2  
 167      =2  //-----------------------------------------------
 168      =2  struct sPROGRESS{
 169      =2          WORD  value;
 170      =2          WORD  min;
 171      =2          WORD  max;
 172      =2  };
 173      =2  //-----------------------------------------------
 174      =2  struct sMENUSTACK{
 175      =2          void (*MenuProcess)(void);
 176      =2          BYTE ItemIndex;
 177      =2  };
 178      =2  //--------------------------------------------
 179      =2  struct OSDData{
 180      =2  BYTE H_Pos;
 181      =2  BYTE V_Pos;
 182      =2  BYTE LANGUAGE;
 183      =2  };
 184      =2  //------------------------------------------------
 185      =2  
 186      =2  extern BIT bFactoryflag;
 187      =2  extern BIT bDEMOFlag;
 188      =2  extern BIT bMenuFlag;
 189      =2  extern WORD OsdTimer;
 190      =2  extern BYTE ItemIndex;
 191      =2  extern BYTE OSDStackPoint;
 192      =2  extern struct sPROGRESS ItemValue;
 193      =2  extern struct sMENUSTACK OSDStack[3];
 194      =2  extern struct OSDData sOSD;
 195      =2  extern void (*MenuProcess)(void);
 196      =2  extern BYTE CursorX,CursorY;
 197      =2  extern BYTE OSDConVal;
C51 COMPILER V6.10  EEPROM                                                                 12/02/2004 10:58:51 PAGE 14  

 198      =2  
 199      =2  extern void Disp_Nothing(void);
 200      =2  extern void OSDProc(void);
 201      =2  
 202      =2  extern void InitialOSD(void);
 203      =2  extern void InitialFlag(void);
 204      =2  
 205      =2  extern void OpenWindow(BYTE win_no, BYTE start_x, BYTE start_y, BYTE end_x, BYTE end_y, BYTE color);
 206      =2  extern void CloseWindow(BYTE win_no);
 207      =2  
 208      =2  //extern void Disp_Video_Entry(void);
 209      =2  extern void Disp_Demo(void);
 210      =2  extern void Disp_VideoMenu(void);
 211      =2  extern void Disp_PowerMenu(void);
 212      =2  
 213      =2  extern void gotoxy(BYTE x,BYTE y);
 214      =2  extern void SetDouble(void);
 215      =2  extern void PrintString(BYTE *chardata,BYTE number,BYTE color);
 216      =2  extern void PrintByteString(BYTE * databuf, BYTE number, BYTE color);
 217      =2  extern void ClearMenu(void);
 218      =2  
 219      =2  extern void PrintChar(WORD chardata,BYTE color);
 220      =2  extern void PrintValue(WORD value, BYTE color);
 221      =2  extern void Disp_VideoBright(void);
 222      =2  extern void Disp_VideoBrightness(void);
 223      =2  extern void Disp_Saturation(void);
 224      =2  extern void Disp_Hue(void);
 225      =2  extern void Disp_OSDHPosition(void);
 226      =2  extern void Disp_OSDVPosition(void);
 227      =2  extern void Execute_Rotate(void);
 228      =2  extern void Execute_Recall(void);
 229      =2  extern void Execute_Dimmer(void);
 230      =2  extern void Execute_Format(void);
 231      =2  
 232      =2  
 233      =2  
 234      =2  
 235      =2  extern void Disp_VideoContrast(void);
 236      =2  extern void Disp_VideoColor(void);
 237      =2  extern void Disp_OSDSetup(void);
 238      =2  extern void Disp_VideoMisc(void);
 239      =2  extern void Disp_Entry(void);
 240      =2  extern void Execute_Power(void);
 241      =2  extern void Execute_Source(void);
 242      =2  
 243      =2  
 244      =2  extern void Disp_VideoRecall(void);
 245      =2  extern void SetProgressData(BYTE progress_no);
 246      =2  extern void SaveProgressData(BYTE progress_no);
 247      =2  extern void Set_OSD_HPosition(void);
 248      =2  extern void Set_OSD_VPosition(void);
 249      =2  
 250      =2  
 251      =2  
 252      =2  
 253      =2  
 254      =2  
 255      =2  
 256      =2  
 257      =2  
  11      =1  //#include "menu.h"
  12      =1  //#include "ram.h"
C51 COMPILER V6.10  EEPROM                                                                 12/02/2004 10:58:51 PAGE 15  

  13      =1  //#include "variable.h"
   3          #include "intrins.h"
   1      =1  /*--------------------------------------------------------------------------
   2      =1  INTRINS.H
   3      =1  
   4      =1  Intrinsic functions for C51.
   5      =1  Copyright (c) 1988-2000 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  extern void          _nop_     (void);
  10      =1  extern bit           _testbit_ (bit);
  11      =1  extern unsigned char _cror_    (unsigned char, unsigned char);
  12      =1  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  13      =1  extern unsigned long _lror_    (unsigned long, unsigned char);
  14      =1  extern unsigned char _crol_    (unsigned char, unsigned char);
  15      =1  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  16      =1  extern unsigned long _lrol_    (unsigned long, unsigned char);
  17      =1  extern unsigned char _chkfloat_(float);
   4          #ifdef EE24C16
   5          #define EEPROM_PBYTE 16
   6          #endif
   7          #ifdef EE24C02
              #define EEPROM_PBYTE 8
              #endif
  10          
  11          #ifdef _JRCPIN_
  12          #define EEPROM_PTIME 15     // wait 7 ms
  13          #else
              #define EEPROM_PTIME 24     // wait 7 ms
              #endif
  16          
  17          
  18          #ifdef EE24C16
  19          void EEPROM_Write(WORD addr,BYTE *databuf,WORD number)
  20          {
  21   1      	BYTE id,temp;
  22   1      	union W_TEMP addr1;
  23   1      
  24   1      	addr1.valW = addr;
  25   1      	
  26   1      	while( number > 0)
  27   1      	{
  28   2      		id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
  29   2      		temp = EEPROM_PBYTE -(addr1.valB[1]&(EEPROM_PBYTE-1));
  30   2      		if( temp > number)
  31   2      			temp = number;
  32   2      
  33   2      
  34   2      		while(EEP_Wait > 0)
  35   2      			;
  36   2      
  37   2      #ifdef IIC_HW_2526
  38   2      		IIC_Write(id,addr1.valB[1],databuf,temp);
  39   2      #else
              		IICSW_Write(id,addr1.valB[1],databuf,temp);
              //IICSW_Write_EE(id,addr1.valB[1],databuf,temp);
              
              #endif
  44   2      		EEP_Wait = EEPROM_PTIME;
  45   2      	
  46   2      		number -= temp;
C51 COMPILER V6.10  EEPROM                                                                 12/02/2004 10:58:51 PAGE 16  

  47   2      		addr1.valW += temp;
  48   2      		databuf += temp;
  49   2      	}
  50   1      	
  51   1      }
  52          
  53          void EEPROM_Read(WORD addr,BYTE *databuf,WORD number)
  54          {
  55   1      	BYTE id;
  56   1      	union W_TEMP addr1;
  57   1      
  58   1      	addr1.valW = addr;
  59   1      	id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
  60   1      	while(EEP_Wait > 0)
  61   1      		;
  62   1      
  63   1      #ifdef IIC_HW_2526
  64   1      	IIC_Read(id,addr1.valB[1],databuf,number);
  65   1      #else
              	//IICSW_Read_EE(id,addr1.valB[1],databuf,number);
              	IICSW_Read(id,addr1.valB[1],databuf,number);
              #endif
  69   1      
  70   1      }
  71          #endif
  72          
  73          #ifdef EE24C02
              void EEPROM_Write(BYTE addr,BYTE *databuf,BYTE number)
              {
              	BYTE id,temp;
              	union W_TEMP addr1;
              
              	addr1.valW = addr;
              	while( number > 0)
              	{
              		//id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
              		id = I2C_EEP_ADDR;
              		temp = EEPROM_PBYTE -(addr1.valB[1]&(EEPROM_PBYTE-1));
              		if( temp > number)
              			temp = number;
              
              		while(EEP_Wait > 0)
              			;
              
              //		IICSW_Write_EE(id,addr1.valB[1],databuf,temp);
              		IICSW_Write(id,addr1.valB[1],databuf,temp);
              
              		EEP_Wait = EEPROM_PTIME;
              	
              		number -= temp;
              		addr1.valW += temp;
              		databuf += temp;
              	}
              }
              
              void EEPROM_Read(BYTE addr,BYTE *databuf,BYTE number)
              {
              	BYTE id;
              	union W_TEMP addr1;
              
              	addr1.valW = addr;
              	//id = I2C_EEP_ADDR + (addr1.valB[0] << 1);
C51 COMPILER V6.10  EEPROM                                                                 12/02/2004 10:58:51 PAGE 17  

              	id = I2C_EEP_ADDR;
              	while(EEP_Wait > 0)
              		;
              	IICSW_Read(id,addr1.valB[1],databuf,number);
              //	IICSW_Read_EE(id,addr1.valB[1],databuf,number);
              }
              
              #endif
 117          void InitialEEPROM(void)
 118          {
 119   1      	Initial_I2C();
 120   1      
 121   1      }
 122          #if 0
              void ReadParameter(void)
              {
              /*
              	if(NTSCFlag)	
              	{
              		EEPROM_Read(0x00,&sVideo.Brightness,4);	//ntsc f
              	}
              	else
              	{
              		EEPROM_Read(0x10,&sVideo.Brightness,4);	//pal f
              	}*/
              	
              	//EEPROM_Read(0x20,&sBright.Brightness,2);// user area
              	//EEPROM_Read(0x22,&sColor.Saturation,2); // user area
              	//EEPROM_Read(0x30,&sOSD.H_Pos,3);
              
              
              	sBright.Brightness=195;
              	sBright.Contrast=185;
              	sColor.Saturation=190;
              	sColor.Hue=190;
              
              	sOSD.H_Pos=15;
              	sOSD.V_Pos=5;
              	sOSD.LANGUAGE=0;
              
              	PWM_BRIT=sBright.Brightness;//=195;
              //	DELAY10ms(5);

⌨️ 快捷键说明

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