久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求普中2.4寸TFT液晶,芯片R61505的51驅(qū)動程序!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
求普中2.4寸TFT液晶,芯片R61505的51驅(qū)動程序!搞了幾天,沒有點(diǎn)亮!跪求一個,萬分感謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:303383 發(fā)表于 2018-11-10 10:42 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

板凳
ID:343102 發(fā)表于 2018-11-10 12:28 | 只看該作者
同樣想知道。若能,n多手機(jī)就可以改裝了
回復(fù)

使用道具 舉報

地板
ID:255382 發(fā)表于 2018-11-10 14:04 | 只看該作者
你購買液晶時應(yīng)該有例程吧
回復(fù)

使用道具 舉報

5#
ID:135253 發(fā)表于 2018-11-10 20:43 | 只看該作者
/********************************************************
工作模式:8080
*********************************************************/

#include "R61505V.H"

/****************************************************************************
                        寫8位命令
****************************************************************************/          
void WriteComm(uchar i)
{
        TFT_WR = 1;                           //初始化WR
        TFT_CS = 0;                          //打開片選
       
        TFT_RD = 1;           //選擇寫
        TFT_RS = 0;                          //選擇發(fā)送命令
       
        TFT_DATAPORT = i;

        TFT_WR = 0;                          //寫入時序
        TFT_WR = 1;
       
        TFT_CS = 1;                          //關(guān)閉片選       
}

/****************************************************************************
                        寫16位命令
****************************************************************************/          

void TFT_WriteCmd(uint cmd)
{
        uchar cmdH, cmdL;
        cmdH = cmd >> 8;
        cmdL = cmd & 0x00FF;
       
        WriteComm(cmdH);
        WriteComm(cmdL);
}

/****************************************************************************
                                        寫8位數(shù)據(jù)
****************************************************************************/       
void WriteData(uchar dat)
{
        TFT_WR = 1;                           //初始化WR
        TFT_CS = 0;                          //打開片選
       
        TFT_RD = 1;           //選擇寫
        TFT_RS = 1;                          //選擇發(fā)送數(shù)據(jù)
       
        TFT_DATAPORT = dat;

        TFT_WR = 0;                          //寫入時序
        TFT_WR = 1;
       
        TFT_CS = 1;                          //關(guān)閉片選       
}


/****************************************************************************
                                        寫16位數(shù)據(jù)
****************************************************************************/          

void TFT_WriteData(uint dat)
{
        uchar datH, datL;
        datH = dat >> 8;
        datL = dat & 0xFF;
       
        WriteData(datH);
        WriteData(datL);
}



/****************************************************************************
*函數(shù)名:TFT_WriteCmdData
*輸  入:cmd:命令
*      :dat:數(shù)據(jù)
*輸  出:
*功  能:寫命令, 寫數(shù)據(jù)。
****************************************************************************/          

void TFT_WriteCmdData(uint cmd, uint dat)
{
        WriteComm(cmd);
        TFT_WriteData(dat);
}

void delay500(void)
{
        uint i;
        for(i=500; i>0; i--)
        ;
}



/****************************************************************************
*函數(shù)名:TFT_Init
*輸  入:
*輸  出:
*功  能:初始化TFT。
****************************************************************************/          
void TFT_Init(void)
{         
        TFT_RST = 1;
        delay500();
        TFT_RST = 0;
        delay500();
        TFT_RST = 1;
        delay500();

        TFT_WriteCmdData(0x0007,0x0000);
        delay500();
        TFT_WriteCmdData(0x0012,0x011C);//0x011A   why need to set several times?
        TFT_WriteCmdData(0x00A4,0x0001);//NVM         
        TFT_WriteCmdData(0x0008,0x000F);
        TFT_WriteCmdData(0x000A,0x0008);
        TFT_WriteCmdData(0x000D,0x0008);            
                  //伽馬校正
        TFT_WriteCmdData(0x0030,0x0707);
        TFT_WriteCmdData(0x0031,0x0007); //0x0707
        TFT_WriteCmdData(0x0032,0x0603);
        TFT_WriteCmdData(0x0033,0x0700);
        TFT_WriteCmdData(0x0034,0x0202);
        TFT_WriteCmdData(0x0035,0x0002); //?0x0606
        TFT_WriteCmdData(0x0036,0x1F0F);
        TFT_WriteCmdData(0x0037,0x0707); //0x0f0f  0x0105
        TFT_WriteCmdData(0x0038,0x0000);
        TFT_WriteCmdData(0x0039,0x0000);
        TFT_WriteCmdData(0x003A,0x0707);
        TFT_WriteCmdData(0x003B,0x0000); //0x0303
        TFT_WriteCmdData(0x003C,0x0007); //?0x0707
        TFT_WriteCmdData(0x003D,0x0000); //0x1313//0x1f08
        delay500();
        TFT_WriteCmdData(0x0007,0x0001);
        TFT_WriteCmdData(0x0017,0x0001);//開啟電源
        delay500();
                  //電源配置
        TFT_WriteCmdData(0x0010,0x17A0);
        TFT_WriteCmdData(0x0011,0x0217);//reference voltage VC[2:0]   Vciout = 1.00*Vcivl
        TFT_WriteCmdData(0x0012,0x011E);//0x011c  //Vreg1out = Vcilvl*1.80   is it the same as Vgama1out ?
        TFT_WriteCmdData(0x0013,0x0F00);//VDV[4:0]-->VCOM Amplitude VcomL = VcomH - Vcom Ampl
        TFT_WriteCmdData(0x002A,0x0000);  
        TFT_WriteCmdData(0x0029,0x000A);//0x0001F  Vcomh = VCM1[4:0]*Vreg1out    gate source voltage??
        TFT_WriteCmdData(0x0012,0x013E);// 0x013C  power supply on
        //Coordinates Control//
        TFT_WriteCmdData(0x0050,0x0000);//0x0e00
        TFT_WriteCmdData(0x0051,0x00EF);
        TFT_WriteCmdData(0x0052,0x0000);
        TFT_WriteCmdData(0x0053,0x013F);
            //Pannel Image Control//
        TFT_WriteCmdData(0x0060,0x2700);
        TFT_WriteCmdData(0x0061,0x0001);
        TFT_WriteCmdData(0x006A,0x0000);
        TFT_WriteCmdData(0x0080,0x0000);
            //Partial Image Control//
        TFT_WriteCmdData(0x0081,0x0000);
        TFT_WriteCmdData(0x0082,0x0000);
        TFT_WriteCmdData(0x0083,0x0000);
        TFT_WriteCmdData(0x0084,0x0000);
        TFT_WriteCmdData(0x0085,0x0000);
                  //Panel Interface Control//
        TFT_WriteCmdData(0x0090,0x0013);//0x0010 frenqucy
        TFT_WriteCmdData(0x0092,0x0300);
        TFT_WriteCmdData(0x0093,0x0005);
        TFT_WriteCmdData(0x0095,0x0000);
        TFT_WriteCmdData(0x0097,0x0000);
        TFT_WriteCmdData(0x0098,0x0000);
  
        TFT_WriteCmdData(0x0001,0x0100);
        TFT_WriteCmdData(0x0002,0x0700);
        TFT_WriteCmdData(0x0003,0x1038);//掃描方向 上->下  左->右
        TFT_WriteCmdData(0x0004,0x0000);
        TFT_WriteCmdData(0x000C,0x0000);
        TFT_WriteCmdData(0x000F,0x0000);
        TFT_WriteCmdData(0x0020,0x0000);
        TFT_WriteCmdData(0x0021,0x0000);
               
        TFT_WriteCmdData(0x0007,0x0021);
        delay500();
        TFT_WriteCmdData(0x0007,0x0061);
        delay500();
        TFT_WriteCmdData(0x0007,0x0173);
        delay500();
       
//        LCD_Display_Dir(0);                         //默認(rèn)為豎屏
//        LCD_LED=1;                                        //點(diǎn)亮背光
//        LCD_Clear(WHITE);
}                    


/****************************************************************************
*函數(shù)名:TFT_SetWindow
*輸  入:xStart:起始X坐標(biāo)
*      :yStart:起始Y坐標(biāo)
*      :xEnd:結(jié)束X坐標(biāo)
*      :yEnd:結(jié)束Y坐標(biāo)
*輸  出:
*功  能:設(shè)置要操作的窗口。
****************************************************************************/          

void TFT_SetWindow(uint xStart, uint yStart, uint xEnd, uint yEnd)
{                                       
        WriteComm(0x2A);//P94 set_column_address: 2Ah
        TFT_WriteData(xStart);
        TFT_WriteData(xEnd);
//        WriteData(xStart>>8);
//        WriteData(xStart&0xff);
//        WriteData(xEnd>>8);
//        WriteData(xEnd&0xff);
   
    WriteComm(0x2b);//P96 set_page_address: 2Bh
        TFT_WriteData(yStart);
        TFT_WriteData(yEnd);
//        WriteData(yStart>>8);
//        WriteData(yStart&0xff);
//        WriteData(yEnd>>8);
//        WriteData(yEnd&0xff);
   
    TFT_WriteCmd(0x2c); //P98 write_memory_start: 2Ch
}

/****************************************************************************
*函數(shù)名:TFT_WriteColorData
*輸  入:16位顏色數(shù)據(jù)
*輸  出:
*功  能:同寫入16位數(shù)據(jù)一樣
****************************************************************************/
void TFT_WriteColorData(uint color)
{
        TFT_CS = 0;
        TFT_RS = 1;
        TFT_RD = 1;

        TFT_DATAPORT = color >>8;//寫高八位
        TFT_WR = 0;                          //寫入時序
        TFT_WR = 1;
        TFT_DATAPORT = color;
        TFT_WR = 0;                          //寫入時序
        TFT_WR = 1;

        TFT_CS = 1;

}

/****************************************************************************
*函數(shù)名:GUI_Clearcreen
*輸  入:backColor:清屏顏色
*輸  出:
*功  能:清屏并涂上顏色。
****************************************************************************/
          
void TFT_ClearScreen(uint color)
{
          uint i, j;

        TFT_SetWindow(0, 0, TFT_XMAX, TFT_YMAX);         //作用區(qū)域

          for(i=0; i <  TFT_YMAX+1 ; i++)
        {
                for (j=0; j <  TFT_XMAX+1; j++)                //逐點(diǎn)寫入
                {
                   TFT_WriteColorData(color);

                }
        }
}

回復(fù)

使用道具 舉報

6#
ID:135253 發(fā)表于 2018-11-10 20:44 | 只看該作者
#ifndef __R61505V_H
#define __R61505V_H


#include <reg52.h>

//---重定義關(guān)鍵詞---//
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint  unsigned int
#endif

#ifndef ulong
#define ulong  unsigned long
#endif

//---8080工作模式定義使用的IO口---//
sbit            TFT_WR  = P2^5;          //MPU向LCD寫入數(shù)據(jù)控制線,上升沿寫入
sbit        TFT_RD  = P2^6;   //MPU從LCD讀入數(shù)據(jù)控制線
sbit            TFT_CS  = P2^7;          //片選信號線(如果有多片組合,可有多條片選信號線),低電平有效

sbit            TFT_RS  = P3^2;          //數(shù)據(jù)/指令選擇線(1:數(shù)據(jù)讀寫,0:命令讀寫)
sbit            TFT_RST = P3^3;   //復(fù)位

#define     TFT_DATAPORT  P0   

//---定義顏色的宏---//
#define WHITE          0xFFFF
#define BLACK          0x0000
#define BLUE           0x001F
#define RED            0xF800
#define MAGENTA        0xF81F
#define GREEN          0x07E0
#define CYAN           0x7FFF
#define YELLOW         0xFFE0                 //定義顏色的宏

//---定義屏的大小---//
#define TFT_XMAX ((uint)239)//                //設(shè)置TFT屏的大小
#define TFT_YMAX ((uint)319)//

//-- 聲明全局函數(shù) --//
void TFT_WriteCmd(uint cmd);
void TFT_WriteData(uint dat);
void TFT_Init(void);
void TFT_SetWindow(uint xStart, uint yStart, uint xEnd, uint yEnd);
void TFT_ClearScreen(uint color);
void TFT_WriteColorData(uint color);
void WriteData(uchar i);
void WriteComm(uchar i);
void DispColor(unsigned int color);

#endif
回復(fù)

使用道具 舉報

7#
ID:135253 發(fā)表于 2018-11-10 20:46 | 只看該作者
dyjsc 發(fā)表于 2018-11-10 14:04
你購買液晶時應(yīng)該有例程吧

淘來的板子,沒有例程!上述初始化程序是從正點(diǎn)原子的stm32上改編的,但是沒有點(diǎn)亮!
回復(fù)

使用道具 舉報

8#
ID:135253 發(fā)表于 2018-11-10 20:49 | 只看該作者
這是數(shù)據(jù)手冊!搞不定的就喜歡在這個上面糾纏!

R61505V_IDB505.pdf

3.28 MB, 下載次數(shù): 41

回復(fù)

使用道具 舉報

9#
ID:135253 發(fā)表于 2018-11-10 20:58 | 只看該作者
沒有找到轉(zhuǎn)接板資料,感覺與普中的其他TFT有點(diǎn)不一樣

微信圖片_20181110205510.jpg (109.53 KB, 下載次數(shù): 93)

微信圖片_20181110205510.jpg
回復(fù)

使用道具 舉報

10#
ID:135253 發(fā)表于 2018-11-10 21:08 | 只看該作者
小貓貓愛吃魚 發(fā)表于 2018-11-10 10:42
你好!這個屏幕的應(yīng)用資料很少,想驅(qū)動要下點(diǎn)功夫;
把原理圖發(fā)一下看看,需要幫你完成,加我好友 QQ32059 ...

有普中的其他TFT,沒有這個原理圖,初始化代碼一行行看,水平有限,也沒有發(fā)現(xiàn)什么!感覺時序好像有點(diǎn)不對!
回復(fù)

使用道具 舉報

11#
ID:255382 發(fā)表于 2018-11-11 22:20 | 只看該作者
手冊上的命令地址是8位,你定義成16了;所以你發(fā)出命令的時候就有1字節(jié)成數(shù)據(jù)了
手冊45頁R00H
寫命令地址是00H,數(shù)據(jù)是B505H
你寫成16位就成了:地址00H,數(shù)據(jù)00B505H
你對照手冊把這些錯誤修改再試吧
回復(fù)

使用道具 舉報

12#
ID:371527 發(fā)表于 2022-6-12 10:53 | 只看該作者
改好沒?
回復(fù)

使用道具 舉報

13#
ID:72224 發(fā)表于 2023-12-2 09:52 | 只看該作者
我也是點(diǎn)不亮
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级黄色av电影 | 亚洲 欧美 日韩在线 | 国产99免费 | 国产免费一区 | 久草热播| www.操.com| 精品一区二区三区在线观看国产 | 成人久久久 | 在线观看视频一区 | 国产午夜精品一区二区三区嫩草 | 日韩不卡一二区 | 日韩av黄色| 伊色综合久久之综合久久 | 国产日韩一区二区三免费高清 | 久久精品亚洲精品国产欧美 | 久草久草久草 | 亚洲欧美日本国产 | 亚洲风情在线观看 | 97超碰成人 | 日本三级日产三级国产三级 | 日韩一区二区三区四区五区六区 | 午夜精品一区二区三区免费视频 | 国产成人精品午夜视频免费 | 成人黄色电影在线观看 | 国产特级毛片aaaaaa喷潮 | 国产综合网址 | 在线中文字幕视频 | 国产一区二区观看 | 亚洲va欧美va人人爽午夜 | 三级欧美 | 狠狠干狠狠插 | 日韩在线精品视频 | 国产精品久久久一区二区三区 | 在线第一页 | 欧美一区二区精品 | 国产精品网页 | 久久精品视频在线观看 | 三区四区在线观看 | 日日干天天操 | 九九免费视频 | 国产99小视频 |