📄 tft.lst
字号:
C51 COMPILER V9.00 TFT 08/28/2012 05:09:20 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE TFT
OBJECT MODULE PLACED IN TFT.OBJ
COMPILER INVOKED BY: E:\ruanjian\Keil uVision4\C51\BIN\C51.EXE TFT.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include "TFT.h"
3 #include "TYPE.h"
4 #include "TFT_COM.h"
5
6 /*=========================================================
7 函数描述:选寄存器或输入命令
8 隶属模块:TFT
9 参数说明:com输入命令
10 返回说明:无返回值
11 ===========================================================*/
12 void THT_COM(INT8U com)
13 {
14 1 RX = 1;
15 1 CS = 0;
16 1 WD = 1;
17 1
18 1 A0 = 0;
19 1 P0 = com;
20 1 CS = 0;
21 1 WD = 0;
22 1
23 1 CS = 1;
24 1 WD = 1;
25 1 }
26 /*=========================================================
27 函数描述:写入设置
28 隶属模块:TFT
29 参数说明:dat输入值
30 返回说明:无返回值
31 ===========================================================*/
32 void THT_DAT(INT8U dat)
33 {
34 1 RX = 1;
35 1 CS = 0;
36 1 WD = 1;
37 1
38 1 A0 = 1;
39 1 P0 = dat;
40 1 CS = 0;
41 1 WD = 0;
42 1 }
43 /*=========================================================
44 函数描述:设置一个特殊的区域
45 隶属模块:TFT
46 参数说明:x1,y1,x2,y2传入的图形的轮廓坐标值
47 返回说明:无返回值
48 ===========================================================*/
49 void TFTSetArea( INT16U x1, INT16U y1, INT16U x2, INT16U y2 )
50 {
51 1 x1+=2;
52 1 x2+=2;
53 1 y1+=3;
54 1 y2+=3;
55 1
C51 COMPILER V9.00 TFT 08/28/2012 05:09:20 PAGE 2
56 1 THT_COM(0x2A);
57 1 THT_DAT(x1>>8);
58 1 THT_DAT(x1);
59 1 THT_DAT(x2>>8);
60 1 THT_DAT(x2);
61 1
62 1 THT_COM(0x2B);
63 1 THT_DAT(y1>>8);
64 1 THT_DAT(y1);
65 1 THT_DAT(y2>>8);
66 1 THT_DAT(y2);
67 1 THT_COM(0x2C);
68 1 }
69 /*=========================================================
70 函数描述:为图形、窗口上色
71 隶属模块:TFT
72 参数说明:dollop为DOLLOP结构体类型的参数
73 返回说明:无返回值
74 ===========================================================*/
75 void TFTDrawDollop( DOLLOP* dollop )
76 {
77 1 INT8U x,y;
78 1
79 1 TFTSetArea(dollop->Xs, dollop->Ys, dollop->Xe, dollop->Ye); //子TFT上设置一个区域
80 1 for( x = 0; x < dollop->Xe - dollop->Xs + 1; x ++ ) //显示行
81 1 {
82 2 for( y = 0; y < dollop->Ye - dollop->Ys + 1; y++ ) //显示列
83 2 {
84 3 THT_DAT(dollop->Color>>8);
85 3 THT_DAT(dollop->Color );
86 3 }
87 2 }
88 1 }
89 /*=========================================================
90 函数描述:对整个窗口的颜色初始化
91 隶属模块:TFT
92 参数说明:Color为16字节的BGR数据
93 返回说明:无返回值
94 ===========================================================*/
95 void GUI_Inital(INT16U Color )
96 {
97 1 DOLLOP dollop;
98 1
99 1 dollop.Xs = 0;
100 1 dollop.Xe = 127;
101 1 dollop.Ys = 0;
102 1 dollop.Ye = 129;
103 1 dollop.Color = Color;
104 1
105 1 TFTDrawDollop( &dollop );
106 1 }
107 /*=========================================================
108 函数描述:延时ttms时间
109 隶属模块:TFT
110 参数说明:tt需要延时的时间
111 返回说明:无返回值
112 ===========================================================*/
113 void delay(INT16U tt)
114 {
115 1 INT16U i, j;
116 1
117 1 for(i = 0; i < tt; i++)
C51 COMPILER V9.00 TFT 08/28/2012 05:09:20 PAGE 3
118 1 for(j == 0; j < 114; j++);
119 1 }
120 /*=========================================================
121 函数描述:初始化TFT,复位后需要120ms的延时
122 隶属模块:TFT
123 参数说明:无
124 返回说明:无返回值
125 ===========================================================*/
126 void TFT_INIT()
127 {
128 1 THT_COM(0x01); //软件复位
129 1 delay(130);
130 1 THT_COM(0x11); //唤醒休眠
131 1 // THT_COM(0x12); //局部显示模式
132 1 THT_COM(0x13); //标准显示模式
133 1 THT_COM(0x20); //显示倒置关闭
134 1 // THT_COM(0x21); //显示倒置打开
135 1 THT_COM(0x26);
136 1 THT_DAT(0x04);
137 1 THT_COM(0xb1);
138 1 THT_DAT(0x08);
139 1 THT_DAT(0x14);
140 1 THT_COM(0xc0);
141 1 THT_DAT(0x0a);
142 1 THT_DAT(0x05);
143 1 THT_COM(0xc1);
144 1 THT_DAT(0x02);
145 1 // THT_COM(0x29); //显示打开
146 1 THT_COM(0x2a); //显示方向设置
147 1 THT_DAT(0x00);
148 1 THT_DAT(0x00);
149 1 THT_DAT(0x00);
150 1 THT_DAT(0x7f);
151 1 THT_COM(0x2b);
152 1 THT_DAT(0x00);
153 1 THT_DAT(0x00);
154 1 THT_DAT(0x00);
155 1 THT_DAT(0x7f);
156 1 THT_COM(0x36); // 寄存器数据应用控制
157 1 THT_DAT(0xc8);
158 1 THT_COM(0x3a);
159 1 THT_DAT(0x05);
160 1
161 1 // THT_COM(0x28);
162 1 THT_COM(0x29); //显示打开
163 1 // THT_COM(0x2c); //写入寄存器
164 1 }
165
166 /*=========================================================
167 函数描述:复位
168 隶属模块:TFT
169 参数说明:无
170 返回说明:无返回值
171 ===========================================================*/
172 void RESET()
173 {
174 1 REST = 1;
175 1 delay(1);
176 1 REST = 0;
177 1 delay(2);
178 1 REST = 1;
179 1 delay(1);
C51 COMPILER V9.00 TFT 08/28/2012 05:09:20 PAGE 4
180 1 }
181
182 /*=========================================================
183 函数描述:在TFT上设置一个窗口
184 隶属模块:TFT
185 参数说明:无
186 返回说明:无返回值
187 ===========================================================*/
188 void WINDOW(WIN *window)
189 {
190 1 THT_COM(0x2a); //显示方向设置
191 1 THT_DAT(0x00);
192 1 THT_DAT(window->Xs);
193 1 THT_DAT(0x00);
194 1 THT_DAT(window->Xe);
195 1 THT_COM(0x2b);
196 1 THT_DAT(0x00);
197 1 THT_DAT(window->Ys);
198 1 THT_DAT(0x00);
199 1 THT_DAT(window->Ye);
200 1 }
201
202 /*=========================================================
203 函数描述:
204 隶属模块:TFT
205 参数说明:无
206 返回说明:无返回值
207 ===========================================================*/
208 void GUI_Image( IMAGE *pImage )
209 {
210 1 INT16U x, y;
211 1 INT32U datacount = 0;
212 1 TFTSetArea( pImage->xs, pImage->ys, pImage->xs + pImage->length - 1, pImage->ys + pImage->height - 1 )
-;
213 1
214 1 for( x = 0; x < pImage->length; x ++ )
215 1 {
216 2 for( y = 0; y < pImage->height; y ++ )
217 2 {
218 3 THT_DAT(*( pImage->pData + datacount++ ) );
219 3 THT_DAT(*( pImage->pData + datacount++ ) );
220 3
221 3 }
222 2 }
223 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 810 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 32
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -