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

📄 lcd_sw.h

📁 MTK平台的多种LCD驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
			{\
		  		SET_LCD_CMD_PARAMETER(0,LCD_DATA, (_data));\
				LCD_SEND_DMA_CMD(1);\
			}
			#else/* LCD 8 bit mode */	
			#define LCD_DataWrite_S6D0123(_data) \
			{\
        			SET_LCD_CMD_PARAMETER(0,LCD_DATA,(_data & 0xFF00)>>8);\
        			SET_LCD_CMD_PARAMETER(1,LCD_DATA, (_data & 0xFF));\
				LCD_SEND_DMA_CMD(2);\
			}
			#endif

		
	#else/* else LCD_CMD_DMA_MODE */
	
		#ifdef LCD16BitMode	/*mao add*/
			#define LCD_CtrlWrite_S6D0123(_data) \
			{ \
				*(volatile kal_uint16 *)LCD_S6D0123_CTRL_ADDR = (_data ); \
				LCD_delay_S6D0123(); \
			}
		#else/* LCD 8 bit mode */
			#define LCD_CtrlWrite_S6D0123(_data) \
			{ \
				*(volatile kal_uint8 *)LCD_S6D0123_CTRL_ADDR = ((_data & 0xFF00) >>8);\
				*(volatile kal_uint8 *)LCD_S6D0123_CTRL_ADDR = (_data & 0xFF); \
				LCD_delay_S6D0123(); \
			}
		#endif

	#ifdef LCD16BitMode	/*mao add*/
		#define LCD_DataWrite_S6D0123(_data) \
			{\
				*(volatile kal_uint16 *)LCD_S6D0123_DATA_ADDR = (_data); \
				LCD_delay_S6D0123(); \
			}
	#else/* LCD 8 bit mode */
			#define LCD_DataWrite_S6D0123(_data) \
			{\
				*(volatile kal_uint8 *)LCD_S6D0123_DATA_ADDR = ((_data & 0xFF00) >>8); \
				*(volatile kal_uint8 *)LCD_S6D0123_DATA_ADDR = (_data & 0xFF); \
				LCD_delay_S6D0123(); \
			}
	#endif
	#endif /* LCD_CMD_DMA_MODE */
	
	
	
	
	
	
	
	 #ifdef LCD16BitMode	/*mao add*/
		#define LCD_RAMWrite_S6D0123(_data)\
		{\
			*((volatile kal_uint16 *) LCD_S6D0123_DATA_ADDR) = (_data);\
			LCD_delay_S6D0123(); \
		}
	#else/* LCD 8 bit mode */
	#define LCD_RAMWrite_S6D0123(_data)\
			{\
				*((volatile unsigned char *) LCD_S6D0123_DATA_ADDR) = ((_data & 0xFF00) >>8);\
				*((volatile unsigned char *) LCD_S6D0123_DATA_ADDR) = (_data & 0xFF);\
				LCD_delay_S6D0123(); \
	    }
	#endif

		
	

#endif  //#if (defined(MT6218B) || defined(MT6219)

#endif //#if (defined (__GD85_1_TCL_DRV_LCD_S6D0123_HITACHI__))











/*************************************************************/
/* Epson Main D15G17E, 64k Color, 128x128 Parallel           */
/*************************************************************/

#if ( (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_1__)) || (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_2__)))
/* EPSON D15G17E ***********************************************************/
/* 128x128(65K), Parallel i/o, COG Type                                    */
/***************************************************************************/

#if ((defined(MT6208)) || (defined(MT6218)) ||(defined(MT6205B))||(defined(MT6218B))|| (defined(MT6217)))//20050413 yguangyong added 6217 option

   #ifdef MCU_13M
      #define LCD_delay_D15G17E()
   #endif	/* MCU_13M */
   
   #ifdef MCU_26M
      #define LCD_delay_D15G17E()\
         {\
         	kal_uint16  _stat;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         }
   #endif	/* MCU_26M */
   
   #ifdef MCU_39M
      #define LCD_delay_D15G17E()\
         {\
         	kal_uint16  _stat;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         }
   #endif	/* MCU_39M */

   #ifdef MCU_52M
      #define LCD_delay_D15G17E()\
         {\
         	kal_uint16  _stat;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         	_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         }
      #ifdef DUAL_LCD
			#define LCD_delay_ST7565() \
			{\
				kal_uint16  _stat;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
			}
      #endif   
   #endif	/* MCU_52M */

#endif	/* MT6208 */

#if (defined(MT6205B) || defined(MT6218))

   #define LCD_CtrlWrite_D15G17E(_data)\
      {\
      	*(volatile kal_uint8 *)LCD_CTRLAddr = _data;\
      	LCD_delay_D15G17E();\
      }
      
   #define LCD_DataWrite_D15G17E(_data)\
      {\
      	*(volatile kal_uint8 *)LCD_DATAAddr = _data;\
      	LCD_delay_D15G17E();\
      }
      
   #if (defined(D15G17E_8BIT))
      #define LCD_RAMWrite_D15G17E(_data)\
         {\
         	*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) ((_data&0xFF00)>>8);\
         	*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) (_data&0xFF);\
         	LCD_delay_D15G17E();\
         }
   #else
      #define LCD_RAMWrite_D15G17E(_data)\
         {\
         	*(volatile kal_uint16  *)LCD_DATAAddr = _data;\
         	LCD_delay_D15G17E();\
         }
   #endif

#endif	/* (MT6205B, MT6218), (MT6218B,MT6219) */
#if (defined(MT6218B) || defined(MT6219)|| defined(MT6217)) //20050413 yguangyong added 6217 option

	#ifdef LCD_CMD_DMA_MODE
		#define LCD_SEND_DMA_CMD(n) \
		{\
			while (LCD_IS_RUNNING) {};\
			DISABLE_LCD_TRANSFER_COMPLETE_INT;\
			DISABLE_ALL_LCD_LAYER_WINDOW;\
			SET_LCD_ROI_CTRL_NUMBER_OF_CMD(n);\
			ENABLE_LCD_ROI_CTRL_CMD_FIRST;\
			SET_LCD_ROI_WINDOW_SIZE(0,0);\
			START_LCD_TRANSFER;\
		}

		#define LCD_CtrlWrite_D15G17E(_data) \
		{\
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,_data);\
			LCD_SEND_DMA_CMD(1);\
		}

		#define LCD_DataWrite_D15G17E(_data) \
		{\
			SET_LCD_CMD_PARAMETER(0,LCD_DATA,_data);\
			LCD_SEND_DMA_CMD(1);\
		}

		#define LCD_RAMWrite_D15G17E(_data)\
		{\
			*((volatile unsigned char *) LCD_D15G17E_DATA_ADDR) = (_data & 0xFF00) >>8;\
			*((volatile unsigned char *) LCD_D15G17E_DATA_ADDR) = (_data & 0xFF);\
	        }
	#else

		#define LCD_CtrlWrite_D15G17E(_data)  \
		{\
		        *(volatile kal_uint8 *)LCD_D15G17E_CTRL_ADDR = (_data);\
   	                LCD_delay_D15G17E();\
		}
		
		#define LCD_DataWrite_D15G17E(_data)  \
		{\
		        *(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data);\
		        LCD_delay_D15G17E();\
		}
		
	   #define LCD_RAMWrite_D15G17E(_data)  \
	       {\
		        *(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data & 0xFF00) >>8;\
		        LCD_delay_D15G17E();\
   	                *(volatile kal_uint8 *)LCD_D15G17E_DATA_ADDR = (_data & 0xFF);\
   	                LCD_delay_D15G17E();\
	       }
	#endif /* LCD_CMD_DMA_MODE */
#endif
#endif //#if ( (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_1__)) || (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_2__)))







#if (defined(__GD85_TCL_DRV_LCD_S6B33B0A_SAMSUNG__))
/***********************S6B33B0A********************************/
/*Wanxin, 64K Color LCD, Parallel Interface, Firefly development board*/


   #if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))|| (defined(MT6217)))//20050413 yguangyong added 6217 option
	#ifdef MCU_13M
      	  #define LCD_delay_S6B33B0A()
        #endif   /*MCU_13M*/

   #ifdef MCU_26M
    	#define LCD_delay_S6B33B0A() \
 	{\
	         kal_uint16  _stat;\
 	 _stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
 	 }
   #endif   /*MCU_26M*/

   #ifdef MCU_39M
 	#define LCD_delay_S6B33B0A() \
    	{\
       		kal_uint16  _stat;\
       		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
       		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
 	}
   #endif   /*MCU_39M*/

   #ifdef MCU_52M
 		#define LCD_delay_S6B33B0A() \
      		{\
         		kal_uint16  _stat;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
      		}
      #ifdef DUAL_LCD
			#define LCD_delay_ST7565() \
			{\
				kal_uint16  _stat;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
			}
      #endif   
   #endif   /*MCU_52M*/
#endif   /*MT6208*/

#ifdef MT6205B
   #ifdef MCU_13M
      #define LCD_delay_S6B33B0A()
   #endif   /*MCU_13M*/
   #ifdef MCU_26M
      #define LCD_delay_S6B33B0A()    \
      {\
         kal_uint16 _stat;\
         _stat = *(volatile kal_uint16 *)LCD_DUMMYADDR;\
      }
   #endif   /*MCU_26M*/
#endif   /*MT6205B*/

#if (defined(MT6205B) || defined(MT6218))

		#define LCD_CtrlWrite_S6B33B0A(_data)  \
		{\
			*(volatile kal_uint8 *)LCD_CTRLAddr = _data;\
  			LCD_delay_S6B33B0A();\
		}\

		#define LCD_DataWrite_S6B33B0A(_data)  \
		{\
			*(volatile kal_uint8 *)LCD_DATAAddr = _data;\
			LCD_delay_S6B33B0A();\
		}\
         //

                #define LCD_RAMWrite_S6B33B0A(_data)  \
		    {\
    			*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) ((_data&0xFF00)>>8);\
	    		*(volatile kal_uint8 *)LCD_DATAAddr = (kal_uint8) (_data&0xFF);\
		    	LCD_delay_S6B33B0A();\
		    }

#endif/*MT6205B,MT6218*/

#if (defined(MT6218B) || defined(MT6219)|| defined(MT6217)) //20050413 yguangyong added 6217 option

	#ifdef LCD_CMD_DMA_MODE
		#define LCD_SEND_DMA_CMD(n) \
		{\
			while (LCD_IS_RUNNING) {};\
			DISABLE_LCD_TRANSFER_COMPLETE_INT;\
			DISABLE_ALL_LCD_LAYER_WINDOW;\
			SET_LCD_ROI_CTRL_NUMBER_OF_CMD(n);\
			ENABLE_LCD_ROI_CTRL_CMD_FIRST;\
			SET_LCD_ROI_WINDOW_SIZE(0,0);\
			START_LCD_TRANSFER;\
		}

		#define LCD_CtrlWrite_S6B33B0A(_data) \
		{\
			SET_LCD_CMD_PARAMETER(0,LCD_CMD,_data);\
			LCD_SEND_DMA_CMD(1);\
		}

		#define LCD_DataWrite_S6B33B0A(_data) \
		{\
			SET_LCD_CMD_PARAMETER(0,LCD_DATA,_data);\
			LCD_SEND_DMA_CMD(1);\
		}

		#define LCD_RAMWrite_S6B33B0A(_data)\
		{\
			*((volatile unsigned char *) LCD_S6B33B0A_DATA_ADDR) = (_data & 0xFF00) >>8;\
			*((volatile unsigned char *) LCD_S6B33B0A_DATA_ADDR) = (_data & 0xFF);\
	        }
	#else

		#define LCD_CtrlWrite_S6B33B0A(_data)  \
		{\
   	            *(volatile kal_uint8 *)LCD_S6B33B0A_CTRL_ADDR = (_data & 0xFF);\
   	            LCD_delay_S6B33B0A();\
		}
		#define LCD_DataWrite_S6B33B0A(_data)  \
		{\
		        *(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF00) >>8;\
		        LCD_delay_S6B33B0A();\
   	                *(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF);\
 			    LCD_delay_S6B33B0A();\
		}
	    #define LCD_RAMWrite_S6B33B0A(_data)  \
	       {\
		        *(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF00) >>8;\
		        LCD_delay_S6B33B0A();\
   	            *(volatile kal_uint8 *)LCD_S6B33B0A_DATA_ADDR = (_data & 0xFF);\
   	            LCD_delay_S6B33B0A();\
	       }
	#endif /* LCD_CMD_DMA_MODE */
#endif
#endif //#if (defined(__GD85_TCL_DRV_LCD_S6B33B0A_SAMSUNG__))


/* BEGIN 2005-07-07 TCL-xjinming added for GD85-2 LCD_MAIN..... */
/* WINTEK S1D15G27  Or TRULY S1D15G27***************************************/
/* 128x128(65K), Parallel i/o, COG Type                                    */
/***************************************************************************/

#if (defined(__GD85_TCL_DRV_LCD_S1D15G27_WINTEK__) || defined(__GD85_TCL_DRV_LCD_S1D15G27_TRULY__))

#define LCD_CMD_DMA_MODE

   #if ( (defined(MT6208)) || (defined(MT6218)) ||(defined(MT6218B)) ||(defined(MT6219))|| (defined(MT6217)))//20050413 yguangyong added 6217 option
	#ifdef MCU_13M
      	  #define LCD_delay_S1D15G27()
        #endif   /*MCU_13M*/

   #ifdef MCU_26M
    	#define LCD_delay_S1D15G27() \
 	{\
	         kal_uint16  _stat;\
 	 _stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
 	 }
   #endif   /*MCU_26M*/

   #ifdef MCU_39M
 	#define LCD_delay_S1D15G27() \
    	{\
       		kal_uint16  _stat;\
       		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
       		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
 	}
   #endif   /*MCU_39M*/

   #ifdef MCU_52M
 		#define LCD_delay_S1D15G27() \
      		{\
         		kal_uint16  _stat;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
         		_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
      		}
      #ifdef DUAL_LCD
			#define LCD_delay_ST7565() \
			{\
				kal_uint16  _stat;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
				_stat = *(volatile kal_uint16  *)LCD_DUMMYADDR;\
			}
      #endif   
   #endif   /*MCU_52M*/
#endif   /*MT6208*/

⌨️ 快捷键说明

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