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

📄 iic.lst

📁 myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频参数的调节
💻 LST
📖 第 1 页 / 共 5 页
字号:
  67      =2  enum OSDPageItem{
  68      =2  HPositionItem,
  69      =2  VPositionItem,
  70      =2  //LanguageItem,
  71      =2  MaxOSDPageItem
  72      =2  };
  73      =2  
  74      =2  enum MiscPageItem{
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 12  

  75      =2  //VsignalPosition,
  76      =2  //HsignalPosition,
  77      =2  //PWM,
  78      =2  CommonPulse,
  79      =2  YGain,
  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
 136      =2  #define SecondPageXStart (MainPageXStart+1) 	//column start
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 13  

 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;
 198      =2  
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 14  

 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"
  13      =1  //#include "variable.h"
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 15  

   2          #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);
   3          
   4          BIT bNoAck;
   5          BYTE IIC_Timer;
   6          BYTE EEP_Wait;
   7          
   8          void Short_Delay(BYTE Time)
   9          { 
  10   1      	while(Time --);
  11   1      }
  12          
  13          void DoWait(WORD Time)             // delay   1ms
  14          {
  15   1      	BYTE   Counter;
  16   1         
  17   1      	for(; Time > 0;   Time --)
  18   1      	{
  19   2      		Counter   = 250;
  20   2      		while(--Counter);
  21   2      
  22   2      		Counter   = 250;
  23   2      		while(--Counter);
  24   2      	}
  25   1      }
  26          //-----------------------------------------------------
  27          void DELAY10ms(WORD delay )
  28          {
  29   1      WORD i,j,k;
  30   1      	for(i=0;i<delay;i++)
  31   1      		for(j=0;j<40;j++)
  32   1      			for(k=0;k<250;k++)
  33   1      				_nop_();
  34   1      }
  35          //-----------------------------------------------------
  36          
  37          #ifdef IIC_HW_2526
  38          //--------------------------------------------------------
  39          void Initial_I2C(void)
  40          {
  41   1      	EEP_Wait = 0;
  42   1      
  43   1      	byMTV_IIC_CTR = 0x0;				  // STOP
  44   1      	byMTV_IIC_CTR = 0x2;				  // STOP
  45   1      }
  46          
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 16  

  47          //--------------------------------------------------------
  48          // Wait for MBUFL flag and clear it, return 1 if time out
  49          //--------------------------------------------------------
  50          void Wait_IIC_Ack(void)
  51          {
  52   1      	Short_Delay(10);
  53   1      	IIC_Timer = 1;
  54   1      
  55   1      	while(IIC_Timer > 0 && (byMTV_IIC_INTFLG & 0x1) == 0);
  56   1      
  57   1      	if ((byMTV_IIC_STUS1 & 0x01 ) == 0)
  58   1      		bNoAck = 0;
  59   1      	else
  60   1      		bNoAck = 1; 
  61   1      
  62   1      /*
  63   1      // test if normal, return nack
  64   1      	if (byMTV_IIC_STUS1 & 0x02)
  65   1      		bNoAck = 0;
  66   1      	else
  67   1      		bNoAck = 1; 
  68   1      //	
  69   1      */
  70   1      	byMTV_IIC_INTFLG = 0;
  71   1      }
  72          //--------------------------------------------------------
  73          void IIC_WriteByte(BYTE id,BYTE addr,BYTE senddata)
  74          {
  75   1      	BYTE count = 0;
  76   1      
  77   1      do
  78   1      {
  79   2      	count++;
  80   2      	
  81   2      // Stop
  82   2      	byMTV_IIC_CTR = 0x00;
  83   2      	byMTV_IIC_CTR = 0x02;
  84   2      Short_Delay(20);
  85   2      
  86   2      	byMTV_IIC_INTFLG = 0x00;	
  87   2      
  88   2      // Slave ID	
  89   2      	byMTV_IIC_MBUF = id; 
  90   2      
  91   2      // Start
  92   2      	byMTV_IIC_CTR = 0x00;
  93   2      	byMTV_IIC_CTR = 0x01;
  94   2      
  95   2      	Wait_IIC_Ack();
  96   2      
  97   2      if (bNoAck)
  98   2      	continue;
  99   2      
 100   2      // Address
 101   2      	byMTV_IIC_MBUF = addr;
 102   2      
 103   2      	Wait_IIC_Ack();
 104   2      
 105   2      if (bNoAck)
 106   2      	continue;
 107   2      
 108   2      // data
C51 COMPILER V6.10  IIC                                                                    12/02/2004 10:58:52 PAGE 17  

 109   2      		byMTV_IIC_MBUF = senddata;
 110   2      		
 111   2      		Wait_IIC_Ack();
 112   2      
 113   2      if (bNoAck)
 114   2      	continue;
 115   2      
 116   2      // Stop
 117   2      	byMTV_IIC_CTR = 0x00;
 118   2      	byMTV_IIC_CTR = 0x02; 
 119   2      }
 120   1      while(bNoAck && count < IICRetry);
 121   1      
 122   1      }
 123          
 124          //--------------------------------------------------------
 125          //	IIC write address
 126          //--------------------------------------------------------

⌨️ 快捷键说明

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