文章詳情

          5.7英寸TFT模塊的應用

          日期:2025-05-15 01:14
          瀏覽次數:1814
          摘要: 5.7英寸TFT模塊的應用 摘要:本文介紹介紹了清達光電HGF05731彩色TFT模塊的簡單應用,另外提供了基于STM單片機的軟件應用。 1,5.7英寸TFT模塊的應用——清達光電TFT模塊 HGF05731的特點 HGF05731是一款文字與圖形雙圖層顯示的液晶模組,可結合文字或2D圖形應用。 支持BIG5/GB/UNICODE等編碼;在圖形的使用上,支持一2D的BET引擎,此BET兼容于一般通用的2D BitBLT的功能,可用于處理大量圖形數據的轉換;除此還包括一些強大的圖形處理功能,如畫面旋轉功能、卷動功能、文字放大等等,并...

          5.7英寸TFT模塊的應用

          摘要:本文介紹介紹了清達光電HGF05731彩色TFT模塊的簡單應用,另外提供了基于STM單片機的軟件應用。


          1,5.7英寸TFT模塊的應用——清達光電TFT模塊 HGF05731的特點

          HGF05731是一款文字與圖形雙圖層顯示的液晶模組,可結合文字或2D圖形應用。 支持BIG5/GB/UNICODE等編碼;在圖形的使用上,支持一2D的BET引擎,此BET兼容于一般通用的2D BitBLT的功能,可用于處理大量圖形數據的轉換;除此還包括一些強大的圖形處理功能,如畫面旋轉功能、卷動功能、文字放大等等,并提升MCU軟件的執行效率。   此款產品主要特點如下: >  支持文字和繪圖兩種混合顯示模式 >  色彩深度:256色/64K色 >  支持320X240Pixels 2 Layers >  此款默認8-bit 8080時序,是一款功能強大的彩色TFT屏。 (支持8-bit 8080、3/4-wire SPI 及I2C時序,時序可選) >  內建DDRAM: 768KB >  內建10KB字型ROM(8*16Dots)及支持標準ISO8859-1/2/3/4編碼 >  支持外面串列式Flash/ROM SPI 界面 >  支持集通公司UNICODE/BIG5/GB系列字庫(16X16/24X24/32X32Dots) >  支持1倍到4倍字型放大(垂直和水平) >  支持文字垂直旋轉模式功能 >  內建2D BET功能 >  內建幾何圖形加速繪圖引擎 >  提供可調整大小的文字寫入游標功能 >  提供32*32pixel的圖形光標功能 >  支持256個使用者自定8X16字元符號 >  支持16個使用者自建8X8像素圖形Pattern,或4個使用者自建16X16像素圖形Pattern >  脈波寬度調制(PWM)控制LED背光 >  內建4線式觸控面板控制器(此款產品觸摸屏可選) >  提供低耗電的睡眠模式 


          2,5.7英寸TFT模塊的應用——清達光電TFT模塊的主要參數

          尺寸 5.7”

          像素模式 320(RGB)x 240

          視角 6點

          控制IC RA8875

          接口模式 8-bit 8080時序

          背光模式 LED白光

          工作溫度 -20  ~70 ℃

          存儲溫度 -30 ~ 85 ℃

          其他 帶字庫(GB2312) 

          外形尺寸 160.0(W)X111.0(H)X15.5 MAX.(T) mm 

          可視區 118.2 (W)×89.4 (H) mm 

          有效區 115.2(W)×86.4(H) mm 

          點間距 0.36(W)×0.36(H) mm


          3,5.7英寸TFT模塊的應用——清達光電TFT模塊的接口信息

          編號 符號 電平 功能

          1 VDD +5.0V 邏輯電源信號

          2 VSS 0V I/O信號及內核電路接地端

          3 NC - 空腳

          4 RS   H/L 指令 / 數據選擇控制信號,此腳位用于區分進行指令周期或數據周期,當RS = 0時,RA8875為數據讀取或寫入周期。當RS = 1時,RA8875為狀態讀取或指令寫入周期

          5 /WR H/L 數據寫入信號,于低電位動作

          6 /RD H/L 數據讀取信號,于低電位動作

          7~14 DB0~DB7 H/L 數據總線,負責模塊與微處理器之間的數據傳送與接收

          15 /CS L 芯片選取控制信號,低準位動作的芯片選取輸入信號

          16 /REST L 復位信號,低有效

          17 /WAIT L 等待信號,此為反應RA8875內部的執行使用狀況。當WAIT# 為Low時表示RA8875正處于忙碌狀態,無法接受來自MCU指令。把此腳位接到MCU I/O腳位時,它能用輪詢機制 (Polling) 來監控內部的狀況

          18 /INT L 中斷信號,RA8875 發出給MCU的外部中斷信號


          外部擴展Flash控制腳位:

          19 /SCS L Flash 片選信號

          20 DO H/L 數據輸出

          21 DIO H/L 數據輸入/輸出

          22 SCL H/L 時鐘信號 


          4,5.7英寸TFT模塊的應用——清達光電TFT模塊基于STM32單片機的部分軟件

          文章有限僅錄入一部分程序,如需**程序,請聯系QQ 453189731  13701081790劉小姐

          #include "lcd.h"
          #include "delay.h"
          #include "stdlib.h"
          //#include "car_pic.h"
          #define LCD_FAST_IO     1     //定義是否使用快速IO    0,不實用.1,使用    

          #if LCD_FAST_IO==1 //快速IO
          //寫寄存器函數
           void LCD_CmdWrite(u8 Cmd)
          {
              LCD_RS_SET;//寫地址  
              LCD_CS_CLR;
              DATAOUT(Cmd);
              LCD_WR_CLR;
              LCD_WR_SET;   
              LCD_CS_SET;  
          }

          #else//正常IO
          //寫寄存器函數
          void LCD_CmdWrite(u8 Cmd)
          {
              LCD_RS=1;//寫地址  
               LCD_CS=0;
              DATAOUT(Cmd);
              LCD_WR=0;
              delay_ms(10);
              LCD_WR=1;
               LCD_CS=1;   
          }     
          #endif

          void LCD_DataWrite(u16 Data)
          {    GPIOA->CRL=0X33333333; //PB0-7  上拉輸出
              GPIOA->CRH=0X33333333; //PB8-15 上拉輸出
              GPIOA->ODR=0XFFFF;    //全部輸出高
              LCD_CS_CLR;
              LCD_RS_CLR;

              DATAOUT(Data);
                  LCD_WR_CLR;    
              LCD_WR_SET;       
              LCD_RS_SET;
              LCD_CS_SET;

              

          }  



          //***********************讀狀態
          u8 LCD_StatusRead(void)
          {
                 u16 t;
              GPIOB->CRL=0X88888888; //PB0-7  上拉輸入
              GPIOB->CRH=0X88888888; //PB8-15 上拉輸入
              GPIOB->ODR=0XFFFF;    //全部輸出高
          #if LCD_FAST_IO==1 //快速IO
              LCD_RS_SET;
              LCD_CS_CLR;
              //讀取數據(讀寄存器時,并不需要讀2次)
              LCD_RD_CLR;            
              t=DATAIN;    
              LCD_RD_SET;
              LCD_RS_CLR;
              LCD_CS_SET;
          #else
              LCD_RS=1;
              LCD_CS=0;
              //讀取數據(讀寄存器時,并不需要讀2次)
              LCD_RD=0;
              t=DATAIN;
              LCD_RD=1;
              LCD_CS=1;
          #endif  
              GPIOB->CRL=0X33333333; //PB0-7  上拉輸出
              GPIOB->CRH=0X33333333; //PB8-15 上拉輸出
              GPIOB->ODR=0XFFFF;    //全部輸出高
              return t;    

          }

          //***********************讀數據
          u8 LCD_DataRead(void)
          {

                u16 t;
              GPIOB->CRL=0X88888888; //PB0-7  上拉輸入
              GPIOB->CRH=0X88888888; //PB8-15 上拉輸入
              GPIOB->ODR=0XFFFF;    //全部輸出高
          #if LCD_FAST_IO==1 //快速IO
              LCD_RS_CLR;
              LCD_CS_CLR;
              //讀取數據(讀寄存器時,并不需要讀2次)
              LCD_RD_CLR;            
              t=DATAIN;    
              LCD_RD_SET;
              LCD_RS_SET;
              LCD_CS_SET;
          #else
              LCD_RS=0;
              LCD_CS=0;
              //讀取數據(讀寄存器時,并不需要讀2次)
              LCD_RD=0;
              t=DATAIN;
              LCD_RD=1;
              LCD_CS=1;
          #endif  
              GPIOB->CRL=0X33333333; //PB0-7  上拉輸出
              GPIOB->CRH=0X33333333; //PB8-15 上拉輸出
              GPIOB->ODR=0XFFFF;    //全部輸出高
              return t;  
          }
              

          //***********************寫指令
          void Write_Dir(u8 Cmd,u16 Data)
          {
            LCD_CmdWrite(Cmd);
            LCD_DataWrite(Data);
          }


          //----------------------------//
          void LCD_Reset(void)
          {

              RCC->APB2ENR|=1<<3;//先使能外設PORTA時鐘
               RCC->APB2ENR|=1<<4;//先使能外設PORTC時鐘

              RCC->APB2ENR|=1<<0;    //開啟輔助時鐘
              JTAG_Set(SWD_ENABLE);  //開啟SWD
                                                      
              //PORTC5~10復用推挽輸出     
              GPIOC->CRH&=0XFFFFF000;
              GPIOC->CRH|=0X00000333;
              GPIOC->CRL&=0X000FFFFF;
              GPIOC->CRL|=0X33300000;  
              GPIOC->ODR|=0X07E0;     
              //PORTA 推挽輸出     
              GPIOB->CRH=0X33333333;
              GPIOB->CRL=0X33333333;     
              GPIOB->ODR=0XFFFF;
              LCD_RST = 0; //RA8875 RESET pin
              delay_ms(1);
              LCD_RST = 1;
              delay_ms(10);
          }    

          void RA8875_PLL_ini(void)
          {
            #ifdef P320x240
              LCD_CmdWrite(0x88);    
              LCD_DataWrite(0x0a);
              delay_ms(1);
              LCD_CmdWrite(0x89);
              LCD_DataWrite(0x02);       
              delay_ms(1);
          #endif


          #ifdef P480x272
              LCD_CmdWrite(0x88);      
              LCD_DataWrite(0x0a);
              delay_ms(1);     
              LCD_CmdWrite(0x89);        
              LCD_DataWrite(0x02);  
              delay_ms(1);
          #endif

          #ifdef P640x480
              LCD_CmdWrite(0x88);    
              LCD_DataWrite(0x0b);
              delay_ms(1);    
              LCD_CmdWrite(0x89);        
              LCD_DataWrite(0x02);     
              delay_ms(1);
          #endif

          #ifdef P800x480
              LCD_CmdWrite(0x88);       
              LCD_DataWrite(0x0c);
              delay_ms(1);    
              LCD_CmdWrite(0x89);       
              LCD_DataWrite(0x02);  
              delay_ms(1);
          #endif
          }    

          //------------------------------------------//
          void LCD_Initial(void)
          {     

              RA8875_PLL_ini();
              LCD_CmdWrite(0x10);  //SYSR   bit[4:3]=00 256 color  bit[2:1]=  00 8bit MPU interface
              //LCD_DataWrite(0x0c);   // if 8bit MCU interface   and 65k color display                              
              LCD_DataWrite(0x0F); // if 16bit MCU interface   and 65k color display  
          #ifdef P320x240
          //==============    Display Window    320x240 ==================    
              LCD_CmdWrite(0x04);     //set PCLK invers
              LCD_DataWrite(0x81);  
              delay_ms(1);
              
               //Horizontal set
              LCD_CmdWrite(0x14); //HDWR//Horizontal Display Width Setting Bit[6:0]
              LCD_DataWrite(0x27);//Horizontal display width(pixels) = (HDWR + 1)*8   
              LCD_CmdWrite(0x15); //Horizontal Non-Display Period Fine Tuning Option Register (HNDFTR)
              LCD_DataWrite(0x00);//Horizontal Non-Display Period Fine Tuning(HNDFT) [3:0]  
              LCD_CmdWrite(0x16); //HNDR//Horizontal Non-Display Period Bit[4:0]
              LCD_DataWrite(0x03);//Horizontal Non-Display Period (pixels) = (HNDR + 1)*8  
              LCD_CmdWrite(0x17); //HSTR//HSYNC Start Position[4:0]
              LCD_DataWrite(0x02);//HSYNC Start Position(PCLK) = (HSTR + 1)*8
              LCD_CmdWrite(0x18); //HPWR//HSYNC Polarity ,The period width of HSYNC.
              LCD_DataWrite(0x03);//HSYNC Width [4:0]   HSYNC Pulse width(PCLK) = (HPWR + 1)*8
               //Vertical set
              LCD_CmdWrite(0x19); //VDHR0 //Vertical Display Height Bit [7:0]
              LCD_DataWrite(0xef);//Vertical pixels = VDHR + 1
              LCD_CmdWrite(0x1A); //VDHR1 //Vertical Display Height Bit [8]
              LCD_DataWrite(0x00);//Vertical pixels = VDHR + 1
              LCD_CmdWrite(0x1B); //VNDR0 //Vertical Non-Display Period Bit [7:0]
              LCD_DataWrite(0x0f);//Vertical Non-Display area = (VNDR + 1)
              LCD_CmdWrite(0x1C); //VNDR1 //Vertical Non-Display Period Bit [8]
              LCD_DataWrite(0x00);//Vertical Non-Display area = (VNDR + 1)   
              LCD_CmdWrite(0x1D); //VSTR0 //VSYNC Start Position[7:0]
              LCD_DataWrite(0x0e);//VSYNC Start Position(PCLK) = (VSTR + 1)
              LCD_CmdWrite(0x1E); //VSTR1 //VSYNC Start Position[8]
              LCD_DataWrite(0x06);//VSYNC Start Position(PCLK) = (VSTR + 1)
              LCD_CmdWrite(0x1F); //VPWR //VSYNC Polarity ,VSYNC Pulse Width[6:0]
              LCD_DataWrite(0x01);//VSYNC Pulse Width(PCLK) = (VPWR + 1)

            //Active window  set
            //setting active window X
              LCD_CmdWrite(0x30); //Horizontal Start Point 0 of Active Window (HSAW0)
              LCD_DataWrite(0x00); //Horizontal Start Point of Active Window [7:0]
              LCD_CmdWrite(0x31); //Horizontal Start Point 1 of Active Window (HSAW1)       
              LCD_DataWrite(0x00); //Horizontal Start Point of Active Window [9:8]
              LCD_CmdWrite(0x34); //Horizontal End Point 0 of Active Window (HEAW0)
              LCD_DataWrite(0x3F); //Horizontal End Point of Active Window [7:0]
              LCD_CmdWrite(0x35); //Horizontal End Point 1 of Active Window (HEAW1)       
              LCD_DataWrite(0x01); //Horizontal End Point of Active Window [9:8]

             //setting active window Y
              LCD_CmdWrite(0x32); //Vertical Start Point 0 of Active Window (VSAW0)
              LCD_DataWrite(0x00); //Vertical Start Point of Active Window [7:0]
              LCD_CmdWrite(0x33); //Vertical Start Point 1 of Active Window (VSAW1)       
              LCD_DataWrite(0x00); //Vertical Start Point of Active Window [8]
              LCD_CmdWrite(0x36); //Vertical End Point of Active Window 0 (VEAW0)
              LCD_DataWrite(0xef); //Vertical End Point of Active Window [7:0]
              LCD_CmdWrite(0x37); //Vertical End Point of Active Window 1 (VEAW1)       
              LCD_DataWrite(0x00); //Vertical End Point of Active Window [8]

          #endif

          主站蜘蛛池模板: 日韩中文字幕在线不卡| 精品性高朝久久久久久久| 处处吻动漫免费观看全集| 久久国产精品久久久久久| 深夜福利影院在线观看| 国产午夜精品一区二区三区不卡| 91秒拍国产福利一区| 成人免费视频国产| 五月天婷婷精品视频| 爱情岛论坛亚洲永久入口口| 国产三级精品三级在线专区| 青青操视频在线免费观看| 奇米影视7777狠狠狠狠色| 久久www成人看片| 欧美一级高清片在线| 免费一级欧美大片在线观看| 说女生二哈是什么意思| 国产精品女同久久久久电影院| www.污网站| 无码av中文一区二区三区桃花岛| 亚洲av无码电影网| 毛片a级毛片免费观看免下载| 办公室震动揉弄求求你| 边吃奶边摸下面| 国产爽的冒白浆的视频高清| 99热这里只有精品免费播放| 男攻在开会男受在桌子底下| 国产区精品视频| 福利视频导航大全| 在线观看免费为成年视频| 两性色午夜免费视频| 日韩在线看片中文字幕不卡| 亚洲成人高清在线| 菠萝蜜视频在线观看入口| 国产精品一区二区久久国产| AV无码免费看| 影音先锋女人aa鲁色资源| 久久久久亚洲AV片无码| 极品唯美女同互摸互添| 亚洲欧洲自拍拍偷午夜色| 男生和女生一起差差在线观看|