首页 AVR128驱动2.4寸TFT(主控芯片ILI9325)

AVR128驱动2.4寸TFT(主控芯片ILI9325)

举报
开通vip

AVR128驱动2.4寸TFT(主控芯片ILI9325)AVR128驱动2.4寸TFT(主控芯片ILI9325) AVR128驱动2.4寸TFT(主控芯片ILI9325) 单片机 2010-08-29 03:46:53 阅读255 评论0 字号:大中小 订阅 1、原理图:AVR128与TFT最小系统原理图。 2、程序 /************************************/*lcd.c************************************/ #include "lcd.h" int main(void) { I...

AVR128驱动2.4寸TFT(主控芯片ILI9325)
AVR128驱动2.4寸TFT(主控芯片ILI9325) AVR128驱动2.4寸TFT(主控芯片ILI9325) 单片机 2010-08-29 03:46:53 阅读255 评论0 字号:大中小 订阅 1、原理图:AVR128与TFT最小系统原理图。 2、程序 /************************************/*lcd.c************************************/ #include "lcd.h" int main(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); delayms(1000); ClearScreen(0xFFFF); Pant(0xf800,0,240,0,320); //红色 delayms(1000); delayms(1000); ClearScreen(0xFFFF); Pant(0X07E0,0,240,0,320); //绿色 delayms(1000); delayms(1000); ClearScreen(0xFFFF); Pant(0x001f,0,240,0,320); //蓝色 delayms(1000); delayms(1000); ClearScreen(0xFFFF); } return 1; } /************************************/*lcd.h************************************/ /*********************包含文件*************************/ #include #include #include /*********************类型定义*************************/ typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; #define WINDOW_XADDR_START 0x0050 // Horizontal Start Address Set #define WINDOW_XADDR_END 0x0051 // Horizontal End Address Set #define WINDOW_YADDR_START 0x0052 // Vertical Start Address Set #define WINDOW_YADDR_END 0x0053 // Vertical End Address Set #define GRAM_XADDR 0x0020 // GRAM Horizontal Address Set #define GRAM_YADDR 0x0021 // GRAM Vertical Address Set #define GRAMWR 0x0022 // memory write #define _nop_() asm("NOP") #define LCD_RS_DDR DDRG //数据/命令切换 #define LCD_RS_PORT PORTG #define LCD_RS_BIT 2 #define LCD_CS_DDR DDRG //片选 #define LCD_CS_PORT PORTG #define LCD_CS_BIT 3 #define LCD_WR_DDR DDRG //写控制 #define LCD_WR_PORT PORTG #define LCD_WR_BIT 0 #define LCD_RD_DDR DDRG //读控制 #define LCD_RD_PORT PORTG #define LCD_RD_BIT 1 #define LCD_RST_DDR DDRG //复位 #define LCD_RST_PORT PORTG #define LCD_RST_BIT 4 #define LCD_CS_H LCD_CS_PORT |= 1<>8; n=y; Write_Cmd(0x00,x); Write_Data(m,n); } /**************************************************************************** 作 者:jundg 函数名:static void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) 函数功能:设置显示区域 函数参数:x0行起始点,x1行结束点,y0列起始点,y1列结束点 返回值:无 ********************************************************************************/ static void LCD_SetPos(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int 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); } /**************************************************************************** 作 者:jundg 函数名:void Pant(int dcolor,unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) 函数功能:设置显示区域并显示颜色 函数参数:dcolor颜色值,x0行起始点,x1行结束点,y0列起始点,y1列结束点 返回值:无 ********************************************************************************/ void Pant(int dcolor,unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) { int i,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 函数名:void ClearScreen(unsigned int bColor) 函数功能:清屏 函数参数:bColor=0xffff清屏 返回值:无 ********************************************************************************/ void ClearScreen(unsigned int bColor) { unsigned int i,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 函数名:void ILI9325_Initial(void) 函数功能:LCD初始化 函数参数:无 返回值:无 ********************************************************************************/ void ILI9325_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); //power on sequence VGHVGL 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); //vom amplitude Write_Cmd_Data(0x0013,0x1500); //delayms(100); //vom H 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);// }
本文档为【AVR128驱动2&#46;4寸TFT&#40;主控芯片ILI9325&#41;】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_036899
暂无简介~
格式:doc
大小:85KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-30
浏览量:15