AVR驱动TFT内含颜色设置教案资料.docx
- 文档编号:6307099
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:13
- 大小:105.30KB
AVR驱动TFT内含颜色设置教案资料.docx
《AVR驱动TFT内含颜色设置教案资料.docx》由会员分享,可在线阅读,更多相关《AVR驱动TFT内含颜色设置教案资料.docx(13页珍藏版)》请在冰豆网上搜索。
AVR驱动TFT内含颜色设置教案资料
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);
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);
}
return1;
}
/************************************/*lcd.h************************************/
/*********************包含文件*************************/
#include
#include
#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);// }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AVR 驱动 TFT 内含 颜色 设置 教案 资料