AVR驱动TFT内含颜色设置.docx
《AVR驱动TFT内含颜色设置.docx》由会员分享,可在线阅读,更多相关《AVR驱动TFT内含颜色设置.docx(10页珍藏版)》请在冰豆网上搜索。
AVR驱动TFT内含颜色设置
AVR128驱动2.4寸TFT(主控芯片ILI9325)
单片机2010-08-2903:
46:
53阅读139评论0 字号:
大中小 订阅
1、原理图:
AVR128与TFT最小系统原理图。
2、程序
/************************************/*lcd.c************************************/
#include"lcd.h"
intmain(void)
{
InitIO();/*IO口初始化*/
ILI9325_Initial();/*LCD初始化*/
ClearScreen(0xFFFF);/*清屏*/
//LCD_SetPos(0,0,239,319);
while
(1)
Pant(0xf800,0,240,0,40); //红色
Pant(0X07E0,0,240,40,80); //绿色
Pant(0x001f,0,240,80,120); //蓝色
Pant(0xf800,0,240,120,160);//红色
Pant(0X07E0,0,240,160,200);//绿色
Pant(0x001f,0,240,200,240);//蓝色
Pant(0xf800,0,240,240,280);//红色
Pant(0X07E0,0,240,280,320);//绿色
delayms(1000);
ClearScreen(0xFFFF);
Pant(0xf800,0,240,0,320);//红色
Pant(0X07E0,0,240,0,320);//绿色
Pant(0x001f,0,240,0,320);//蓝色
}
return1;
/************************************/*lcd.h************************************/
/*********************包含文件*************************/
#include
/*********************类型定义*************************/
typedefunsignedcharuint8;
typedefunsignedint uint16;
typedefunsignedlonguint32;
#defineWINDOW_XADDR_START 0x0050//HorizontalStartAddressSet
#defineWINDOW_XADDR_END 0x0051//HorizontalEndAddressSet
#defineWINDOW_YADDR_START 0x0052//VerticalStartAddressSet
#defineWINDOW_YADDR_END 0x0053//VerticalEndAddressSet
#defineGRAM_XADDR 0x0020//GRAMHorizontalAddressSet
#defineGRAM_YADDR 0x0021//GRAMVerticalAddressSet
#defineGRAMWR 0x0022//memorywrite
#define_nop_()asm("NOP")
#defineLCD_RS_DDR DDRG //数据/命令切换
#defineLCD_RS_PORTPORTG
#defineLCD_RS_BIT 2
#defineLCD_CS_DDR DDRG //片选
#defineLCD_CS_PORTPORTG
#defineLCD_CS_BIT 3
#defineLCD_WR_DDR DDRG //写控制
#defineLCD_WR_PORTPORTG
#defineLCD_WR_BIT 0
#defineLCD_RD_DDR DDRG //读控制
#defineLCD_RD_PORT PORTG
#defineLCD_RD_BIT 1
#defineLCD_RST_DDRDDRG //复位
#defineLCD_RST_PORTPORTG
#defineLCD_RST_BIT4
#defineLCD_CS_H LCD_CS_PORT|= 1<#defineLCD_CS_L LCD_CS_PORT&=~(1<#defineLCD_RS_H LCD_RS_PORT|= 1<#defineLCD_RS_L LCD_RS_PORT&=~(1< #defineLCD_RST_H LCD_RST_PORT|= 1<#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_CS_L LCD_CS_PORT&=~(1<#defineLCD_RS_H LCD_RS_PORT|= 1<#defineLCD_RS_L LCD_RS_PORT&=~(1< #defineLCD_RST_H LCD_RST_PORT|= 1<#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RS_H LCD_RS_PORT|= 1<#defineLCD_RS_L LCD_RS_PORT&=~(1< #defineLCD_RST_H LCD_RST_PORT|= 1<#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RS_L LCD_RS_PORT&=~(1< #defineLCD_RST_H LCD_RST_PORT|= 1<#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RST_H LCD_RST_PORT|= 1<#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RST_L LCD_RST_PORT&=~(1<#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_WR_H LCD_WR_PORT|= 1<#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_WR_L LCD_WR_PORT&=~(1<#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RD_H LCD_RD_PORT|= 1<#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineLCD_RD_L LCD_RD_PORT&=~(1<#defineComCtrl PORTG#defineComCtrlDDR DDRG#defineDataH PORTC#defineDataL PORTA#defineDataDDRH DDRC#defineDataDDRL DDRA/****************************************************************************作 者:jundg函数名:voidInitIO(void)函数功能:IO口初始化函数参数:无返回值:无********************************************************************************/voidInitIO(void){ ComCtrlDDR=0x1f; DataDDRH=0xff; DataDDRL=0xff; DataH=0xff; DataL=0xff; ComCtrl=0x1f;}/****************************************************************************作 者:jundg函数名:voiddelayms(unsignedintcount)函数功能:延时函数函数参数:时间值返回值:无********************************************************************************/voiddelayms(unsignedintcount){ inti,j; for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
#defineComCtrl PORTG
#defineComCtrlDDR DDRG
#defineDataH PORTC
#defineDataL PORTA
#defineDataDDRH DDRC
#defineDataDDRL DDRA
/****************************************************************************
作 者:
jundg
函数名:
voidInitIO(void)
函数功能:
IO口初始化
函数参数:
无
返回值:
********************************************************************************/
ComCtrlDDR=0x1f;
DataDDRH=0xff;
DataDDRL=0xff;
DataH=0xff;
DataL=0xff;
ComCtrl=0x1f;
voiddelayms(unsignedintcount)
延时函数
时间值
inti,j;
for(i=0;i { for(j=0;j<260;j++); } }/****************************************************************************作 者:jundg函数名:voidWrite_Cmd(unsignedcharDH,unsignedcharDL)函数功能:写命令函数参数:16bitCOM返回值:无********************************************************************************/voidWrite_Cmd(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_L; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:voidWrite_Data(unsignedcharDH,unsignedcharDL)函数功能:写数据函数参数:16bitDATA返回值:无********************************************************************************/voidWrite_Data(unsignedcharDH,unsignedcharDL){ LCD_CS_L; LCD_RS_H; DataH=DH; LCD_WR_L; LCD_WR_H; DataL=DL; LCD_WR_L; LCD_WR_H; LCD_CS_H;}/****************************************************************************作 者:jundg函数名:void Write_Cmd_Data(unsignedcharx,unsignedinty)函数功能:写命令、数据函数参数:8bitCOM、8bitDATA返回值:无********************************************************************************/void Write_Cmd_Data(unsignedcharx,unsignedinty){ unsignedcharm,n; m=y>>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n);}/****************************************************************************作 者:jundg函数名:staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ Write_Cmd_Data(WINDOW_XADDR_START,x0); Write_Cmd_Data(WINDOW_XADDR_END,x1); Write_Cmd_Data(WINDOW_YADDR_START,y0); Write_Cmd_Data(WINDOW_YADDR_END,y1); Write_Cmd_Data(GRAM_XADDR,x0); Write_Cmd_Data(GRAM_YADDR,y0); Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);}/****************************************************************************作 者:jundg函数名:voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)函数功能:设置显示区域并显示颜色函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点返回值:无********************************************************************************/voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1){ inti,j; LCD_SetPos(x0,x1,y0,y1); for(i=0;i<320;i++) { for(j=0;j<240;j++) { Write_Data(dcolor>>8,dcolor); } }}/****************************************************************************作 者:jundg函数名:voidClearScreen(unsignedintbColor)函数功能:清屏函数参数:bColor=0xffff清屏返回值:无********************************************************************************/voidClearScreen(unsignedintbColor){ unsignedinti,j; LCD_SetPos(0,240,0,320);//320x240 for(i=0;i<322;i++) { for(j=0;j<240;j++) Write_Data(bColor>>8,bColor); }}/****************************************************************************作 者:jundg函数名:voidILI9325_Initial(void)函数功能:LCD初始化函数参数:无返回值:无********************************************************************************/voidILI9325_Initial(void){ LCD_CS_H; delayms(5); LCD_RST_L; delayms(5); LCD_RST_H; delayms(5); delayms(50); Write_Cmd_Data(0x0001,0x0100); Write_Cmd_Data(0x0002,0x0700); Write_Cmd_Data(0x0003,0x1030); Write_Cmd_Data(0x0004,0x0000); Write_Cmd_Data(0x0008,0x0207); Write_Cmd_Data(0x0009,0x0000); Write_Cmd_Data(0x000A,0x0000); Write_Cmd_Data(0x000C,0x0000); Write_Cmd_Data(0x000D,0x0000); Write_Cmd_Data(0x000F,0x0000);//poweronsequenceVGHVGL Write_Cmd_Data(0x0010,0x0000); Write_Cmd_Data(0x0011,0x0007); Write_Cmd_Data(0x0012,0x0000); Write_Cmd_Data(0x0013,0x0000);//vgh Write_Cmd_Data(0x0010,0x1290); Write_Cmd_Data(0x0011,0x0227); //delayms(100); //vregiout Write_Cmd_Data(0x0012,0x001d);//0x001b //delayms(100); //vomamplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vomH Write_Cmd_Data(0x0029,0x0018); Write_Cmd_Data(0x002B,0x000D);//gamma Write_Cmd_Data(0x0030,0x0004); Write_Cmd_Data(0x0031,0x0307); Write_Cmd_Data(0x0032,0x0002);//0006 Write_Cmd_Data(0x0035,0x0206); Write_Cmd_Data(0x0036,0x0408); Write_Cmd_Data(0x0037,0x0507); Write_Cmd_Data(0x0038,0x0204);//0200 Write_Cmd_Data(0x0039,0x0707); Write_Cmd_Data(0x003C,0x0405);//0504 Write_Cmd_Data(0x003D,0x0F02); //ram Write_Cmd_Data(0x0050,0x0000); Write_Cmd_Data(0x0051,0x00EF); Write_Cmd_Data(0x0052,0x0000); Write_Cmd_Data(0x0053,0x013F); Write_Cmd_Data(0x0060,0xA700); Write_Cmd_Data(0x0061,0x0001); Write_Cmd_Data(0x006A,0x0000); // Write_Cmd_Data(0x0080,0x0000); Write_Cmd_Data(0x0081,0x0000); Write_Cmd_Data(0x0082,0x0000); Write_Cmd_Data(0x0083,0x0000); Write_Cmd_Data(0x0084,0x0000); Write_Cmd_Data(0x0085,0x0000); // Write_Cmd_Data(0x0090,0x0010); Write_Cmd_Data(0x0092,0x0600); Write_Cmd_Data(0x0093,0x0003); Write_Cmd_Data(0x0095,0x0110); Write_Cmd_Data(0x0097,0x0000); Write_Cmd_Data(0x0098,0x0000); Write_Cmd_Data(0x0007,0x0133);// Write_Cmd_Data(0x0022);// }
for(j=0;j<260;j++);
voidWrite_Cmd(unsignedcharDH,unsignedcharDL)
写命令
16bitCOM
LCD_CS_L;
LCD_RS_L;
DataH=DH;
LCD_WR_L;
LCD_WR_H;
DataL=DL;
LCD_CS_H;
voidWrite_Data(unsignedcharDH,unsignedcharDL)
写数据
16bitDATA
LCD_RS_H;
void Write_Cmd_Data(unsignedcharx,unsignedinty)
写命令、数据
8bitCOM、8bitDATA
unsignedcharm,n;
m=y>>8;
n=y;
Write_Cmd(0x00,x);
Write_Data(m,n);
staticvoidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)
设置显示区域
x0行起始点,x1行结束点,y0列起始点,y1列结束点
Write_Cmd_Data(WINDOW_XADDR_START,x0);
Write_Cmd_Data(WINDOW_XADDR_END,x1);
Write_Cmd_Data(WINDOW_YADDR_START,y0);
Write_Cmd_Data(WINDOW_YADDR_END,y1);
Write_Cmd_Data(GRAM_XADDR,x0);
Write_Cmd_Data(GRAM_YADDR,y0);
Write_Cmd(0x00,0x22);//LCD_WriteCMD(GRAMWR);
voidPant(intdcolor,unsignedintx0,unsignedintx1,unsignedinty0,unsignedinty1)
设置显示区域并显示颜色
dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点
LCD_SetPos(x0,x1,y0,y1);
for(i=0;i<320;i++)
for(j=0;j<240;j++)
Write_Data(dcolor>>8,dcolor);
voidClearScreen(unsignedintbColor)
清屏
bColor=0xffff清屏
unsignedinti,j;
LCD_SetPos(0,240,0,320);//320x240
for(i=0;i<322;i++)
Write_Data(bColor>>8,bColor);
voidILI9325_Initial(void)
LCD初始化
delayms(5);
LCD_RST_L;
LCD_RST_H;
delayms(50);
Write_Cmd_Data(0x0001,0x0100);
Write_Cmd_Data(0x0002,0x0700);
Write_Cmd_Data(0x0003,0x1030);
Write_Cmd_Data(0x0004,0x0000);
Write_Cmd_Data(0x0008,0x0207);
Write_Cmd_Data(0x0009,0x0000);
Write_Cmd_Data(0x000A,0x0000);
Write_Cmd_Data(0x000C,0x0000);
Write_Cmd_Data(0x000D,0x0000);
Write_Cmd_Data(0x000F,0x0000);
//poweronsequenceVGHVGL
Write_Cmd_Data(0x0010,0x0000);
Write_Cmd_Data(0x0011,0x0007);
Write_Cmd_Data(0x0012,0x0000);
Write_Cmd_Data(0x0013,0x0000);
//vgh
Write_Cmd_Data(0x0010,0x1290);
Write_Cmd_Data(0x0011,0x0227);
//delayms(100);
//vregiout
Write_Cmd_Data(0x0012,0x001d);//0x001b
//vomamplitude
Write_Cmd_Data(0x0013,0x1500);
//vomH
Write_Cmd_Data(0x0029,0x0018);
Write_Cmd_Data(0x002B,0x000D);
//gamma
Write_Cmd_Data(0x0030,0x0004);
Write_Cmd_Data(0x0031,0x0307);
Write_Cmd_Data(0x0032,0x0002);//0006
Write_Cmd_Data(0x0035,0x0206);
Write_Cmd_Data(0x0036,0x0408);
Write_Cmd_Data(0x0037,0x0507);
Write_Cmd_Data(0x0038,0x0204);//0200
Write_Cmd_Data(0x0039,0x0707);
Write_Cmd_Data(0x003C,0x0405);//0504
Write_Cmd_Data(0x003D,0x0F02);
//ram
Write_Cmd_Data(0x0050,0x0000);
Write_Cmd_Data(0x0051,0x00EF);
Write_Cmd_Data(0x0052,0x0000);
Write_Cmd_Data(0x0053,0x013F);
Write_Cmd_Data(0x0060,0xA700);
Write_Cmd_Data(0x0061,0x0001);
Write_Cmd_Data(0x006A,0x0000);
//
Write_Cmd_Data(0x0080,0x0000);
Write_Cmd_Data(0x0081,0x0000);
Write_Cmd_Data(0x0082,0x0000);
Write_Cmd_Data(0x0083,0x0000);
Write_Cmd_Data(0x0084,0x0000);
Write_Cmd_Data(0x0085,0x0000);
Write_Cmd_Data(0x0090,0x0010);
Write_Cmd_Data(0x0092,0x0600);
Write_Cmd_Data(0x0093,0x0003);
Write_Cmd_Data(0x0095,0x0110);
Write_Cmd_Data(0x0097,0x0000);
Write_Cmd_Data(0x0098,0x0000);
Write_Cmd_Data(0x0007,0x0133);
// Write_Cmd_Data(0x0022);//
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1