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

📄 sed15xx.c

📁 7565并口_EPSON_SED15xx 程序
💻 C
字号:
#include "types.h"
#include "messages.h"
#include "project.h"
#include "resource.h"
#include "sysresourceapi.h"
#include "displaydrv.h"
#include "..\displaydriver.h"
#include "SED15xx.h"
#include "regsgpio.h"
#pragma optimize 1


#if  FRAMEBUFFER_MEMORY_SPACE==TARGET_MEM_X
#define GetByteFromArray GetByteFromArrayInX
#else
#define GetByteFromArray GetByteFromArrayInY
#endif



_asmfunc GetByteFromArray(WORD iIndex, WORD *pBuffer);
WORD _reentrant DisplayGetContrast(void);
extern int LED_ON_NUM;
extern BOOL LED_USER_SET;



_reentrant void HALDisplaySendCommand(WORD wCommand)
{
    //set up the data to go out

    LCD_DC_GPDO = FALSE;        //This is a command
    _MultiNop();
    LCD_RDE_GPDO = TRUE;        
    _MultiNop();
    LCD_CS1_GPDO = FALSE;   
    _MultiNop();
    LCD_DATA_DO = wCommand;
    _MultiNop();
    LCD_CS1_GPDO = TRUE;
    _MultiNop();
    LCD_RDE_GPDO = FALSE;
    _MultiNop();
}

_reentrant void HALDisplaySendData(WORD wPage, WORD wColumn, WORD wCount, WORD wByteIndex,WORD* pBuffer, WORD wDisplayOperation)
{
    int i;
    WORD wByte;
    //set up the data to go out
    HALDisplaySendCommand(CMD_SET_LOWER_COLUMN_ADDRESS(wColumn));
    HALDisplaySendCommand(CMD_SET_HIGHER_COLUMN_ADDRESS(wColumn));
    HALDisplaySendCommand(CMD_SET_PAGE_ADDRESS(wPage));
    for(i=0;i<wCount;i++)
    {
        LCD_DC_GPDO = TRUE;        //THis is data
    _MultiNop();
        LCD_RDE_GPDO = TRUE;    
    _MultiNop();
        LCD_CS1_GPDO = FALSE;   
    _MultiNop();
        if(wDisplayOperation&DISPLAY_CLEAR)
        {
            wByte = 0;
        }
        else
        {
            wByte = GetByteFromArrayInY(wByteIndex++,pBuffer);
        }
        if(wDisplayOperation&DISPLAY_INVERT)
        {
            wByte = ~wByte;
        }
        LCD_DATA_DO = wByte&0xff;
    _MultiNop();
        _nop();
        _nop();
        LCD_CS1_GPDO = TRUE;
    _MultiNop();
        LCD_RDE_GPDO = FALSE;
    _MultiNop();
    }
}


_reentrant void HALDisplaySetContrast(INT  iContrast)
{
    //the incoming contrast will saturate against the lower and upper bounds

    if(iContrast < 0)
        g_iContrastPercentage = 0;
    else if(iContrast > 100)
        g_iContrastPercentage = 100;
    else
        g_iContrastPercentage = iContrast;

    //contrast is an 'extended' command...takes two command words to execute
    HALDisplaySendCommand(CMD_SET_CONTRAST);
    HALDisplaySendCommand(LCD_MIN_CONTRAST+ ((g_iContrastPercentage*(LCD_MAX_CONTRAST-LCD_MIN_CONTRAST))/100));

}
_reentrant void HALDisplayDecContrast(void)
{
#ifdef CONTRAST_CALIBRATION    
    HALDisplaySetContrast(g_iContrastPercentage-LCD_STEPSIZE_CONTRAST);
#else
    HALDisplaySetContrast(DisplayGetContrast()-LCD_STEPSIZE_CONTRAST);
#endif
}

_reentrant void HALDisplayIncContrast(void)
{
#ifdef CONTRAST_CALIBRATION    
    HALDisplaySetContrast(g_iContrastPercentage+LCD_STEPSIZE_CONTRAST);
#else
    HALDisplaySetContrast(DisplayGetContrast()+LCD_STEPSIZE_CONTRAST);
#endif
}


_reentrant void HALHandleMessage(Message *pMsg)
{
    switch(pMsg->m_wMessage)
    {
    case LCD_SET_CONTRAST:
        HALDisplaySetContrast(pMsg->m_wParams[0]);
        break;
    case LCD_INC_CONTRAST:
        HALDisplayIncContrast();
        break;
    case LCD_DEC_CONTRAST:
        HALDisplayDecContrast();
        break;
    default:
        break;
    }
}
//*w++这里是7彩控制
_reentrant void HAL7Color(INT Param1,int Param2)
{
  	   //Param1;
  	   if(!Param1)
	       {
	       LED_ON_NUM++;
	       if(LED_ON_NUM>6)  LED_ON_NUM=0;
	       }
	  if(Param2) 
	  {  
	   // BACKLIGHT_CONTROL_REGISTER = FALSE;//TRUE;   
	    
	    LED1_CONTROL_REGISTER = (LED_ON_NUM&0x01);//TRUE;//B兰
      	    _MultiNop();
	    LED2_CONTROL_REGISTER = ((LED_ON_NUM>>1)&0x01);//TRUE;//G绿
	    _MultiNop();
	    LED3_CONTROL_REGISTER = ((LED_ON_NUM>>2)&0x01);//TRUE;  //R红
	    

	    
	   // LED2_CONTROL_REGISTER = TRUE; //EL ON
	   // LCD_LED_DO = LED_ON_NUM;
	  }
	  else
	  {
	   // BACKLIGHT_CONTROL_REGISTER = TRUE;   
	    
	    LED1_CONTROL_REGISTER = FALSE;
      	    _MultiNop();
	    LED2_CONTROL_REGISTER = FALSE;
	    _MultiNop();
	    LED3_CONTROL_REGISTER = FALSE;
	    
	    //LED2_CONTROL_REGISTER = FALSE;  //EL OFF
	    //LCD_LED_DO = 7;
	  } 
	    
	    
}
/*  //w++
_reentrant void HAL7Color(INT Param1,int Param2)
{
  	   //Param1;
  	   if(!Param1)
	       {
	       LED_ON_NUM++;
	       if(LED_ON_NUM>6)  LED_ON_NUM=0;
	       }
	  if(Param2) 
	  {  
	    
	    LED1_CONTROL_REGISTER = FALSE;//TRUE;
      	    _MultiNop();

	  }
	  else
	  {
	    
	    LED1_CONTROL_REGISTER = TRUE;//TRUE;
      	    _MultiNop();

	  } 
}
*/

⌨️ 快捷键说明

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