|
R61505U彩屏驅動,相信很多DIY愛好者手里都有的小屏幕,但是對于初學者來說,這樣的驅動并不好找。第一次發帖,如有不妥,請版主指出,謝謝。
如何區分垂直和水平顯示
如果要修改水平或者垂直顯示的,需要修改驅動芯片的寄存器。
該寄存器,在數據手冊的第46頁。Entry Mode(R03h),修改IB3 IB4 IB5,這三個位。具體想怎么顯示的,請看數據手冊,里面有詳細的介紹。
在程序的,R61505.c文件里,修改這個數值:
前面的0x0003,是寄存器;后面的0x0008是寫進去的數據
TFT_WriteCmd(0x0003);TFT_WriteData(0x0008);
內含以下源程序:
垂直刷屏\
垂直顯示圖片\
垂直顯示文字\
水平刷屏\
水平文字\
水平顯示圖片\
如何區分垂直和水平顯示.txt
實驗必讀.doc
R61505U彩屏驅動數據手冊
R61505U彩屏的單片機源程序如下:
- #include"r61505v.h"
- /****************************************************************************
- *函數名:TFT_WriteCmd
- *輸 入:cmd
- *輸 出:
- *功 能:寫命令。
- ****************************************************************************/
- void TFT_WriteCmd(uint cmd)
- {
- uchar cmdH, cmdL;
-
- cmdH = cmd >> 8;
- cmdL = cmd & 0x00FF; //先進行數據換算,轉為8位寬
- TFT_WR = 1; //初始化WR
- TFT_CS = 0; //打開片選
- TFT_RS = 0; //選擇命令
- TFT_RD = 1; //選擇寫
- TFT_DATAPORTH = cmdH; //放置命令數據
- TFT_DATAPORTL = cmdL;
- TFT_WR = 0; //寫入時序
- TFT_WR = 1;
- TFT_CS = 1; //關閉片選
- }
- /****************************************************************************
- *函數名:TFT_WriteData
- *輸 入:dat
- *輸 出:
- *功 能:寫數據。
- ****************************************************************************/
- void TFT_WriteData(uint dat)
- {
- uchar datH, datL;
- datH = dat >> 8;
- datL = dat & 0x00FF; //先進行數據換算,轉為8位寬
- TFT_WR = 1; //初始化WR
- TFT_CS = 0; //打開片選
- TFT_RS = 1; //選擇發送數據
- TFT_RD = 1; //選擇寫
- TFT_DATAPORTH = datH; //放置命令數據
- TFT_DATAPORTL = datL;
- TFT_WR = 0; //寫入時序
- TFT_WR = 1;
- TFT_CS = 1; //關閉片選
- }
- /****************************************************************************
- *函數名:TFT_WriteCmdData
- *輸 入:cmd, dat
- *輸 出:
- *功 能:寫命令, 寫數據。
- ****************************************************************************/
- void TFT_WriteCmdData(uint cmd, uint dat)
- {
- TFT_WriteCmd(cmd);
- TFT_WriteData(dat);
- }
- /****************************************************************************
- *函數名:TFT_Init
- *輸 入:
- *輸 出:
- *功 能:初始化TFT。
- ****************************************************************************/
- void TFT_Init(void)
- {
- uint i;
- TFT_RST = 1;
- for(i=500; i>0; i--);
- TFT_RST = 0;
- for(i=500; i>0; i--);
- TFT_RST = 1;
- for(i=5000; i>0; i--);
-
- TFT_CS = 0;
- //R61505U
- TFT_WriteCmd(0x0000);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0000);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0000);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0000);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0010);TFT_WriteData(0x0600);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0007);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0012);TFT_WriteData(0x011A);
- TFT_WriteCmd(0x00A4);TFT_WriteData(0x0001);
- TFT_WriteCmd(0x0008);TFT_WriteData(0x020E);
- TFT_WriteCmd(0x000A);TFT_WriteData(0x0008);
- TFT_WriteCmd(0x000D);TFT_WriteData(0x0008);
- //gamma
- TFT_WriteCmd(0x0030); TFT_WriteData(0x0707);
- TFT_WriteCmd(0x0031); TFT_WriteData(0x0007);
- TFT_WriteCmd(0x0032); TFT_WriteData(0x0101);
- TFT_WriteCmd(0x0033); TFT_WriteData(0x0700);
- TFT_WriteCmd(0x0034); TFT_WriteData(0x0202);
- TFT_WriteCmd(0x0035); TFT_WriteData(0x0105);
- TFT_WriteCmd(0x0036); TFT_WriteData(0x1f1f);
- TFT_WriteCmd(0x0037); TFT_WriteData(0x0707);
- TFT_WriteCmd(0x0038); TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0039); TFT_WriteData(0x0000);
- TFT_WriteCmd(0x003A); TFT_WriteData(0x0707);
- TFT_WriteCmd(0x003B); TFT_WriteData(0x0000);
- TFT_WriteCmd(0x003C); TFT_WriteData(0x0105);
- TFT_WriteCmd(0x003D); TFT_WriteData(0x0000);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0011);TFT_WriteData(0x0007);
- TFT_WriteCmd(0x0060);TFT_WriteData(0x2700);
- TFT_WriteCmd(0x0090);TFT_WriteData(0x0010);
- TFT_WriteCmd(0x0017);TFT_WriteData(0x0001);
- TFT_WriteCmd(0x0019);TFT_WriteData(0x0000);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0010);TFT_WriteData(0x16B0);
- TFT_WriteCmd(0x0012);TFT_WriteData(0x011A);
- TFT_WriteCmd(0x0013);TFT_WriteData(0x1D00);//1700
- TFT_WriteCmd(0x002A);TFT_WriteData(0x0008);
- TFT_WriteCmd(0x0029);TFT_WriteData(0x0015);//000A
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0012);TFT_WriteData(0x013A);
- TFT_WriteCmd(0x0050);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0051);TFT_WriteData(0x00EF);
- TFT_WriteCmd(0x0052);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0053);TFT_WriteData(0x013F);
- TFT_WriteCmd(0x0061);TFT_WriteData(0x0001);
- TFT_WriteCmd(0x006A);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0080);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0081);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0082);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0083);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0084);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0085);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0092);TFT_WriteData(0x0300);
- TFT_WriteCmd(0x0093);TFT_WriteData(0x0005);
- TFT_WriteCmd(0x0095);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0097);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0098);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0001);TFT_WriteData(0x0100);//0100
- TFT_WriteCmd(0x0002);TFT_WriteData(0x0700);
- TFT_WriteCmd(0x0003);TFT_WriteData(0x0008);//1030
- TFT_WriteCmd(0x0004);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0009);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x000C);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x000F);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0007);TFT_WriteData(0x0001);
- TFT_WriteCmd(0x0007);TFT_WriteData(0x0021);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0010);TFT_WriteData(0x16B0);
- TFT_WriteCmd(0x0011);TFT_WriteData(0x0007);
- TFT_WriteCmd(0x0007);TFT_WriteData(0x0061);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0007);TFT_WriteData(0x0173);
- for(i=500; i>0; i--);
- TFT_WriteCmd(0x0020);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0021);TFT_WriteData(0x0000);
- TFT_WriteCmd(0x0022);
- }
- /****************************************************************************
- *函數名:TFT_SetWindow
- *輸 入:xStart, yStart, xEnd, yEnd
- *輸 出:
- *功 能:設置要操作的窗口。
- ****************************************************************************/
- void TFT_SetWindow(uint xStart, uint yStart, uint xEnd, uint yEnd)
- {
- uint x;
- x = (yEnd << 8)+yStart;
- TFT_WriteCmdData(0x0044, x); //水平線起始
- TFT_WriteCmdData(0x0045, xStart); //垂直線起始
- TFT_WriteCmdData(0x0046, xEnd); //水平線結束
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
TFT-2.4-(R61505U-16pIN).7z
(1.49 MB, 下載次數: 53)
2019-1-3 16:19 上傳
點擊文件名下載附件
|
-
-
-
-
-
R61505U彩屏驅動數據手冊.7z
2019-1-3 16:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
17.54 MB, 下載次數: 46, 下載積分: 黑幣 -5
評分
-
查看全部評分
|