找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3577|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于NV32F100開發(fā)板的2.2' TFT屏顯示驅(qū)動

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:776997 發(fā)表于 2020-8-17 09:23 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
2.2' TFT屏是一款彩色TFT顯示屏,可用于信息顯示及圖形繪制等。
在合理配置引腳使用的情況下,可驅(qū)動TFT顯示屏。為此使TFT顯示屏與NV32F100建立如下的連接關(guān)系:
CS    --- PD1
REST--- PH1
DC    --- P H0
SDI   --- PE0
SCK  --- PE1
為驅(qū)動TFT顯示屏使相關(guān)引腳輸出高低電平的語句為:
#define LCD_CS_High()            GPIO_PinSet(GPIO_PTD1);
#define LCD_CS_Low()            GPIO_PinClear(GPIO_PTD1);
#define LCD_REST_High()         GPIO_PinSet(GPIO_PTH1);
#define LCD_REST_Low()          GPIO_PinClear(GPIO_PTH1);
#define LCD_DC_High()             GPIO_PinSet(GPIO_PTH0);
#define LCD_DC_Low()             GPIO_PinClear(GPIO_PTH0);
#define LCD_SDI_High()            GPIO_PinSet(GPIO_PTE0);
#define LCD_SDI_Low()            GPIO_PinClear(GPIO_PTE0);
#define LCD_SCK_High()           GPIO_PinSet(GPIO_PTE1);
#define LCD_SCK_Low()          GPIO_PinClear(GPIO_PTE1);
相關(guān)引腳的配置函數(shù)為:
void GPIO_Configuration(void)
{
GPIO_Init(GPIOB, GPIO_PTE0_MASK, GPIO_PinOutput);
GPIO_Init(GPIOB, GPIO_PTE1_MASK, GPIO_PinOutput);
  GPIO_Init(GPIOB,GPIO_PTH0_MASK, GPIO_PinOutput);
GPIO_Init(GPIOB, GPIO_PTH1_MASK, GPIO_PinOutput);
  GPIO_Init(GPIOA,GPIO_PTD1_MASK, GPIO_PinOutput);
}
進行TFT顯示屏初始化的函數(shù)為:
  1. void Lcd_Init(void)
  2. {
  3.     LCD_REST_Low();
  4.     delay_ms(20);
  5.     LCD_REST_High();
  6.     delay_ms(20);
  7.     LCD_CS_Low();
  8.     LCD_WR_REG(0xCB);
  9.     LCD_WR_DATA8(0x39);
  10.     LCD_WR_DATA8(0x2C);
  11.     LCD_WR_DATA8(0x00);
  12.     LCD_WR_DATA8(0x34);
  13.     LCD_WR_DATA8(0x02);
  14.     LCD_WR_REG(0xCF);
  15.     LCD_WR_DATA8(0x00);
  16.     LCD_WR_DATA8(0XC1);
  17.     LCD_WR_DATA8(0X30);
  18.     LCD_WR_REG(0xE8);
  19.     LCD_WR_DATA8(0x85);
  20.     LCD_WR_DATA8(0x00);
  21.     LCD_WR_DATA8(0x78);
  22.     LCD_WR_REG(0xEA);
  23.     LCD_WR_DATA8(0x00);
  24.     LCD_WR_DATA8(0x00);
  25.     LCD_WR_REG(0xED);
  26.     LCD_WR_DATA8(0x64);
  27.     LCD_WR_DATA8(0x03);
  28.     LCD_WR_DATA8(0X12);
  29.     LCD_WR_DATA8(0X81);
  30.     LCD_WR_REG(0xF7);
  31.     LCD_WR_DATA8(0x20);
  32.     LCD_WR_REG(0xC0);     //Power control
  33.     LCD_WR_DATA8(0x23);   //VRH[5:0]
  34.     LCD_WR_REG(0xC1);     //Power control
  35.     LCD_WR_DATA8(0x10);   //SAP[2:0];BT[3:0]
  36.     LCD_WR_REG(0xC5);     //VCM control
  37.     LCD_WR_DATA8(0x3e);
  38.     LCD_WR_DATA8(0x28);
  39.     LCD_WR_REG(0xC7);     //VCM control2
  40.     LCD_WR_DATA8(0x86);
  41.     LCD_WR_REG(0x36);     // Memory Access Control
  42.     LCD_WR_DATA8(0x48);   //C8
  43.     LCD_WR_REG(0x3A);   
  44.     LCD_WR_DATA8(0x55);
  45.     LCD_WR_REG(0xB1);
  46.     LCD_WR_DATA8(0x00);
  47.     LCD_WR_DATA8(0x18);
  48.     LCD_WR_REG(0xB6);    // Display Function Control
  49.     LCD_WR_DATA8(0x08);
  50.     LCD_WR_DATA8(0x82);
  51.     LCD_WR_DATA8(0x27);
  52.     LCD_WR_REG(0xF2);    // 3Gamma Function Disable
  53.     LCD_WR_DATA8(0x00);
  54.     LCD_WR_REG(0x26);    //Gamma curve selected
  55.     LCD_WR_DATA8(0x01);
  56.     LCD_WR_REG(0xE0);    //Set Gamma
  57.     LCD_WR_DATA8(0x0F);
  58.     LCD_WR_DATA8(0x31);
  59.     LCD_WR_DATA8(0x2B);
  60.     LCD_WR_DATA8(0x0C);
  61.     LCD_WR_DATA8(0x0E);
  62.     LCD_WR_DATA8(0x08);
  63.     LCD_WR_DATA8(0x4E);
  64.     LCD_WR_DATA8(0xF1);
  65.     LCD_WR_DATA8(0x37);
  66.     LCD_WR_DATA8(0x07);
  67.     LCD_WR_DATA8(0x10);
  68.     LCD_WR_DATA8(0x03);
  69.     LCD_WR_DATA8(0x0E);
  70.     LCD_WR_DATA8(0x09);
  71.     LCD_WR_DATA8(0x00);
  72.     LCD_WR_REG(0XE1);    //Set Gamma
  73.     LCD_WR_DATA8(0x00);
  74.     LCD_WR_DATA8(0x0E);
  75.     LCD_WR_DATA8(0x14);
  76.     LCD_WR_DATA8(0x03);
  77.     LCD_WR_DATA8(0x11);
  78.     LCD_WR_DATA8(0x07);
  79.     LCD_WR_DATA8(0x31);
  80.     LCD_WR_DATA8(0xC1);
  81.     LCD_WR_DATA8(0x48);
  82.     LCD_WR_DATA8(0x08);
  83.     LCD_WR_DATA8(0x0F);
  84.     LCD_WR_DATA8(0x0C);
  85.     LCD_WR_DATA8(0x31);
  86.     LCD_WR_DATA8(0x36);
  87.     LCD_WR_DATA8(0x0F);
  88.     LCD_WR_REG(0x11);    //Exit Sleep
  89.     delay_ms(120);
  90.     LCD_WR_REG(0x29);    //Display on
  91.     LCD_WR_REG(0x2c);
  92. }
復(fù)制代碼

以色彩擦除屏幕的函數(shù)為:
  1. void LCD_Clear(uint16_t Color)
  2. {
  3.            char VH,VL;
  4.            uint16_t i,j;
  5.            VH=Color>>8;
  6.            VL=Color;     
  7.            Address_set(0,0,LCD_W-1,LCD_H-1);
  8.       for(i=0;i<LCD_W;i++)
  9.            {
  10.              for (j=0;j<LCD_H;j++)
  11.                {
  12.               LCD_WR_DATA8(VH);
  13.                              LCD_WR_DATA8(VL);      
  14.          }
  15.            }
  16. }
復(fù)制代碼

顯示字符串的函數(shù)為:
  1. void LCD_ShowStringH(uint16_t x,uint16_t y,uint16_t width,uint16_t height,char size,char *p)
  2. {        
  3.          char x0=x;
  4.          width+=x;
  5.          height+=y;
  6.          while((*p<='~')&&(*p>=' '))
  7.         {      
  8.         if(x>=width){x=x0;y+=size;}
  9.         if(y>=height)break;
  10.         LCD_ShowCharZ(x,y,*p,size,1);
  11.         x-=size/2;
  12.         p++;
  13.         }
  14. }
復(fù)制代碼

屏幕顯示效果的函數(shù)為:
  1. void xianshi(void)
  2. {
  3.          BACK_COLOR=RED;
  4.          POINT_COLOR=WHITE;
  5.          LCD_ShowStringH(240,70,100,16,16,"NV32F100FL64E");
  6.          LCD_ShowStringH(240,100,100,16,16,"2.4'TFT TEST");
  7.          LCD_ShowStringH(240,130,100,16,16,"jinglixixi");
  8.          LCD_ShowStringH(240,160,100,16,16,"2020.8.16");
  9. }
復(fù)制代碼

顯示效果的主程序為:
  1. int main (void)
  2. {
  3.     sysinit();
  4.     cpu_identify();
  5.     GPIO_Init(GPIOB, GPIO_PTE7_MASK, GPIO_PinOutput);
  6.     GPIO_Init(GPIOB, GPIO_PTE7_MASK, GPIO_PinOutput);
  7.     GPIO_Configuration();
  8.          Lcd_Init();
  9.          LCD_Clear(RED);
  10.          xianshi();
  11.        while(1);
  12. }
復(fù)制代碼

字符串顯示效果

中文顯示效果

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:56960 發(fā)表于 2020-8-17 17:15 | 只看該作者
支持國貨NV   
回復(fù)

使用道具 舉報

板凳
ID:776997 發(fā)表于 2020-8-17 18:45 | 只看該作者

對呀,支持國貨。!
回復(fù)

使用道具 舉報

地板
ID:584195 發(fā)表于 2021-8-5 22:34 | 只看該作者
高手呀,什么板子都會!
回復(fù)

使用道具 舉報

5#
ID:824490 發(fā)表于 2021-10-19 11:47 | 只看該作者
NV前2年大推,現(xiàn)在都不見了。。我也搞 到一個開發(fā)板,因為愛鎖芯片,所以就不玩了,在吃灰。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表