TFT LCD 9320 驱动

上传者: thx02334 | 上传时间: 2022-05-23 17:39:17 | 文件大小: 17KB | 文件类型: C
TFT LCD 2.4寸屏 驱动程序 //头文件配置: #include "stm32f10x_lib.h" #include "Lcdili9320.h" #include "Delay_nus.h" #include "Delay_nms.h" #include "spi_flash.h" //底层硬件相关配置----------------- //--------------------------------- /**************************************************************** 函数名:Lcd配置函数 功能:配置所有和Lcd相关的GPIO和时钟 引脚分配为: PE——16Bit数据总线 PD15——Lcd_rst PD14——Lcd_rs PD13——Lcd_wr PD12——Lcd_rd PD11——Lcd_cs PB10——Lcd_blaklight 背光靠场效应管驱动背光模块 *****************************************************************/ void Lcd_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; /*开启相应时钟 */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE, ENABLE); /*所有Lcd引脚配置为推挽输出*/ /*16位数据*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOE, &GPIO_InitStructure); /*控制脚*/ GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; GPIO_Init(GPIOD, &GPIO_InitStructure); /*背光控制*/ GPIO_InitStructure.GPIO_Pin =GPIO_Pin_5; GPIO_Init(GPIOB, &GPIO_InitStructure); } /************************************** 函数名:Lcd所有引脚变高 功能:与Lcd有关的所有引脚全部变高电平 入口参数:无 返回值:无 ***********************************/ void Lcd_AllPin_H(void) { GPIO_SetBits(GPIOE,GPIO_Pin_All);//16位数据线变高 GPIO_SetBits(GPIOD,GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//控制脚变高 } void Lcd_Data_All_L(void) { GPIO_ResetBits(GPIOE,GPIO_Pin_All); //16位数据线变高 } void Lcd_Rd_L(void) { GPIO_ResetBits(GPIOD,GPIO_Pin_12); } void Lcd_Rd_H(void) { GPIO_SetBits(GPIOD,GPIO_Pin_12); } void Lcd_Rst_L(void) { GPIO_ResetBits(GPIOD,GPIO_Pin_15); } void Lcd_Rst_H(void) { GPIO_SetBits(GPIOD,GPIO_Pin_15); } void Lcd_Cs_L(void) { GPIO_ResetBits(GPIOD,GPIO_Pin_11); } void Lcd_Cs_H(void) { GPIO_SetBits(GPIOD,GPIO_Pin_11); } void Lcd_Rs_L(void) { GPIO_ResetBits(GPIOD,GPIO_Pin_14); } void Lcd_Rs_H(void) { GPIO_SetBits(GPIOD,GPIO_Pin_14); } void Lcd_Wr_L(void) { GPIO_ResetBits(GPIOD,GPIO_Pin_13); } void Lcd_Wr_H(void) { GPIO_SetBits(GPIOD,GPIO_Pin_13); } //通用子程序--------------------- //------------------------------ /********************************************** 函数名:Lcd初始化函数 功能:初始化Lcd 入口参数:无 返回值:无 ***********************************************/ void Lcd_Init(void) { Lcd_Light_ON; Lcd_AllPin_H();//所有引脚变高 Lcd_Rst_H(); Delay_nms(1); Lcd_Rst_L(); Delay_nms(1);//10 Lcd_Rst_H(); Delay_nms(1);//50 //开始初始化 LCD_WR_REG(0x00e5,0x8000);//set the internal vcore voltage不知道干什么的????? LCD_WR_REG(0x0000,0x0001);//开启内部OSC Delay_nms(10);//延时10ms等待晶体稳定 LCD_WR_REG(0x0001,0x0100);//SS=1 S极输出移动方向S720到S1. SM=0 【GS=0】 G极扫描方向从上到下(详细DATASHEET) LCD_WR_REG(0x0002,0x0700);//B/C=1 EOR=1 set the line inversion?不知道干什么???? LCD_WR_REG(0x0003,0x1030);//TFM=0,TRI=0,SWAP=1,16位system interface 写GRAM时翻转RGB数据到BRG数据?翻转干什么????? //HWM=0,高速GRAM写操作禁止???????????????????高速写操作是否是激活RBG或其他动态画面显 //示模式??????? AM=0,ID[1.0]=11 AC由左到右又下到上自增 LCD_WR_REG(0x0004,0x0000);//比例缩放设置 LCD_WR_REG(0x0008,0x0202); LCD_WR_REG(0x0009,0x0000); LCD_WR_REG(0x000a,0x0000); LCD_WR_REG(0x000c,0x0001);//system接口 显示静止画面 LCD_WR_REG(0x000d,0x0000); LCD_WR_REG(0x000f,0x0000);//RBG 接口极性设置 DOTCLK ENABLE HSYNC??????????????????????????? LCD_WR_REG(0x0050,0x0000);//水平 GRAM起始位置 LCD_WR_REG(0x0051,0x00ef);//水平GRAM终止位置 LCD_WR_REG(0x0052,0x0000);//垂直GRAM起始位置 LCD_WR_REG(0x0053,0x013f);//垂直GRAM终止位置 LCD_WR_REG(0x0060,0x2700);//G扫描设置 从G1开始 LCD_WR_REG(0x0061,0x0001);//Enables the grayscale inversion of the image by setting REV=1.?????????????????????????????? LCD_WR_REG(0x006a,0x0000);//不使用卷曲功能 LCD_WR_REG(0x0080,0x0000); LCD_WR_REG(0x0081,0x0000); LCD_WR_REG(0x0082,0x0000); LCD_WR_REG(0x0083,0x0000); LCD_WR_REG(0x0084,0x0000); LCD_WR_REG(0x0085,0x0000); LCD_WR_REG(0x0090,0x0010); LCD_WR_REG(0x0092,0x0000); LCD_WR_REG(0x0093,0x0003); LCD_WR_REG(0x0095,0x0110); LCD_WR_REG(0x0097,0x0000); LCD_WR_REG(0x0098,0x0000); /*电源设置*/ LCD_WR_REG(0x0010,0x0000); LCD_WR_REG(0x0011,0x0000); LCD_WR_REG(0x0012,0x0000); LCD_WR_REG(0x0013,0x0000); Delay_nms(200); LCD_WR_REG(0x0010,0x17b0); LCD_WR_REG(0x0011,0x0137); Delay_nms(50); LCD_WR_REG(0x0012,0x0139); Delay_nms(50); LCD_WR_REG(0x0013,0x1700); LCD_WR_REG(0x0029,0x000c); Delay_nms(50); LCD_WR_REG(0x0020,0x0000);//GRAM水平起始位置 LCD_WR_REG(0x0021,0x0000);// LCD_WR_REG(0x0030,0x0000); LCD_WR_REG(0x0031,0x0507); LCD_WR_REG(0x0032,0x0104); LCD_WR_REG(0x0035,0x0105); LCD_WR_REG(0x0036,0x0404); LCD_WR_REG(0x0037,0x0603); LCD_WR_REG(0x0038,0x0004); LCD_WR_REG(0x0039,0x0007); LCD_WR_REG(0x003c,0x0501); LCD_WR_REG(0x003d,0x0404); //显示开启 LCD_WR_REG(0x0007,0x0073);//写入0173是显示当前GRAM内容 写入0073是不显示当前 }

文件下载

评论信息

  • zhishimengyichang :
    程序还行 不错
    2014-10-24
  • jiangbenrun :
    东西不错,就是我自己没用上
    2014-01-05
  • xu_0621 :
    应该可以作为参考用吧,运行不起来。
    2013-11-13
  • qq164335413 :
    手头无用的显示屏可以用来实验。
    2013-11-06
  • davidlong1019 :
    没有头文件,程序不完整
    2012-02-02

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明