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是不显示当前 }
2022-05-23 17:39:17 17KB TFT LCD 9320
1
很有用的LQ043Y1DX01 TFT LCD手册。
2022-05-21 14:42:33 1.62MB TFT LCD
1
开源测试代码: 51,arduino和STM32开发程序示例 图片取模软件 文字取模软件
2022-05-19 16:52:28 122.07MB stm32 arm 嵌入式硬件 单片机
1
STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码。优化后速度大概为每秒20-30帧左右。
2022-05-17 21:37:00 3.5MB stm32 arm 嵌入式硬件 单片机
1
中文的文档解释,给英语不好的人带来了福音
2022-05-17 10:57:07 3.34MB ILI9341 TFT
1
基于stm32的TFT液晶屏显示
2022-05-15 22:10:13 1.54MB 液晶显示
1
TFT_2.2-inch 是一个 2.2 寸的 TFT LCD 模块,透过 SPI 传输资料,上面另外带有 SD 卡座,共享相同的 SPI。 *** 尚未测试 SD 卡,其他都可正常运作。 硬件资源: 控制器 : ILI9341 分辨率 : 320*240 其他外接 : SD ( SPI ) PCB 尺寸 : 67.82 * 40.89mm 设计软件 Altium Designer 14 ( PcbLib use AD PcbLib v1.0 ) 可能感兴趣的项目设计: 分享某宝购买 3.5寸ILI9487 液晶屏资料(附TFT V2.0模块资料包等) 2.2寸TFT LCD 模组实物截图: 附件资料截图:
2022-05-12 21:47:05 2.43MB ili9341 电路方案
1
51单片机驱动TFT1.8寸液晶,DS1302时钟模块,18B20温度传感器。程序清晰加上相关注释。
1
普通51单片机控制TFT彩屏显示汉字,该方法简单易学
2022-05-11 12:51:48 13KB 单片机 TFT
1
资源是有关1.44寸的TFT屏幕的操作代码,驱动芯片是ST7735S,使用的是非标准SPI协议;
2022-05-10 12:14:40 3.12MB TFT屏 1.44寸
1