📄 interface.lst
字号:
C51 COMPILER V8.05a INTERFACE 12/25/2007 01:05:22 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE INTERFACE
OBJECT MODULE PLACED IN interface.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE interface.c DEBUG OBJECTEXTEND
line level source
1 /****************************************************************************
2 * 公司名称:SITRONIX *
3 * 模块名称:INTERFACE.C *
4 * 模块功能:IC接口通用文件,归属于每个IC测试软件包 *
5 * 创建人员:Jim Yuan *
6 * 创建日期:2007-6-26 *
7 * 修改日期:2007-11-22(增加TFT RGB IF FUNCTION *
8 ****************************************************************************/
9
10 #include "interface.h"
11
12
13 #if INTERFACE == IF_80_8BIT
sbit nRST =P3^5;
sbit RS =P3^0;
sbit nWR =P3^1;
sbit nRD =P3^2;
sbit nCS =P3^3;
void writec(uint8 cmd)
{
RS = 0;
nRD = 1;
nCS = 0;
nWR = 0;
P1 = cmd;
nWR = 1;
nCS = 1;
}
void writed(uint8 dat)
{
RS = 1;
nRD = 1;
nCS = 0;
nWR = 0;
P1 = dat;
nWR = 1;
nCS = 1;
}
uint8 readd(void)
{
uint8 dat;
P1 = 0xff;
RS = 1;
nWR = 1;
nRD = 1;
nCS = 0;
nRD = 0;
dat = P1;;
nRD = 1;
nCS = 1;
return dat;
}
#endif
C51 COMPILER V8.05a INTERFACE 12/25/2007 01:05:22 PAGE 2
56
57 #if INTERFACE == IF_SPI_4LINE
sbit nRST =P3^5;
sbit RS =P3^0;
sbit nCS =P3^3;
sbit SCL =P1^0;
sbit SDA =P1^1;
void writec(uint8 cmd)
{
uint8 i;
RS = 0;
nCS = 0;
for (i = 0; i < 8; i++)
{
SCL = 0;
if (((cmd << i) & 0x80) == 0x80){SDA = 1;}
else{SDA = 0;}
SCL = 1;
}
nCS=1;
}
void writed(uint8 dat)
{
uint8 i;
RS = 1;
nCS = 0;
for (i = 0; i < 8; i++)
{
SCL = 0;
if (((dat << i) & 0x80) == 0x80){SDA = 1;}
else{SDA = 0;}
SCL = 1;
}
nCS=1;
}
#endif
93
94 /****************************************************************************
95 * 函数名称:ST7787 RGB IF 函数 *
96 * 函数功能:实现SPI初始化和RGB/VS/HS/DE/PK信号的产生 *
97 * 入口参数: *
98 * 创建日期:2007-11-22 *
99 * 修改日期: *
100 * 修改原因: *
101 ****************************************************************************/
102 #if INTERFACE == IF_SPI_RGB
103 sbit nRST =P3^5;
104 sbit SCL =P3^0;
105 sbit SDA =P3^1;
106 sbit nCS =P3^3;
107
108 sbit DE =P1^0;
109 sbit PK =P1^1;
110 sbit HS =P1^2;
111 sbit VS =P1^3;
112
113 void writec(uint8 cmd)
114 {
115 1 uint8 i;
116 1 SCL = 1;
117 1 SDA = 1;
C51 COMPILER V8.05a INTERFACE 12/25/2007 01:05:22 PAGE 3
118 1 nCS = 0;
119 1 SCL = 0;
120 1 SDA = 0;
121 1 SCL = 1;
122 1 for (i = 0; i < 8; i++)
123 1 {
124 2 SCL = 0;
125 2 if (((cmd << i) & 0x80) == 0x80){SDA = 1;}
126 2 else{SDA = 0;}
127 2 SCL = 1;
128 2 }
129 1 nCS=1;
130 1 }
131
132 void writed(uint8 dat)
133 {
134 1 uint8 i;
135 1 SCL = 1;
136 1 SDA = 1;
137 1 nCS = 0;
138 1
139 1 SCL = 0;
140 1 SDA = 1;
141 1 SCL = 1;
142 1 for (i = 0; i < 8; i++)
143 1 {
144 2 SCL = 0;
145 2 if (((dat << i) & 0x80) == 0x80){SDA = 1;}
146 2 else{SDA = 0;}
147 2 SCL = 1;
148 2 }
149 1 nCS=1;
150 1 }
151
152 void rgb_scan(void)
153 {
154 1 uint16 i,j;
155 1 DE = 0;
156 1 PK = 1;
157 1 VS = 1;
158 1 HS = 1;
159 1
160 1 PK = 0;
161 1 PK = 1;
162 1
163 1 VS = 0;
164 1 PK = 0;
165 1 PK = 1;
166 1
167 1 HS = 0;
168 1 PK = 0;
169 1 PK = 1;
170 1
171 1 HS = 1;
172 1 PK = 0;
173 1 PK = 1;
174 1
175 1 VS = 1;
176 1 PK = 0;
177 1 PK = 1;
178 1
179 1 for (i = 0; i < 320; i++)
C51 COMPILER V8.05a INTERFACE 12/25/2007 01:05:22 PAGE 4
180 1 {
181 2 HS = 0;
182 2 PK = 0;
183 2 PK = 1;
184 2
185 2 HS = 1;
186 2 PK = 0;
187 2 PK = 1;
188 2
189 2 DE = 1;
190 2 PK = 0;
191 2 PK = 1;
192 2 for (j = 0; j < 240; j++)
193 2 {
194 3 PK = 0;
195 3 PK = 1;
196 3 }
197 2 DE = 0;
198 2 PK = 0;
199 2 PK = 1;
200 2 }
201 1 }
202 #endif
203
204 void hardware_reset(void)
205 {
206 1 P1 = 0XFF;
207 1 P3 = 0XFF;
208 1 nRST = 0;
209 1 delay(1);
210 1 nRST = 1;
211 1 delay(30);
212 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 201 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -