📄 tools.lst
字号:
152 1 IicWait(); //延时等候---SDA先设定为1,SCL也设定为1,等待确认信号的出现*/
153 1 ack=IicSDA; //读取确认信号*/
154 1 IicSCL=0;
155 1 //将SCL恢复为0电平*/
156 1 IicWait(); //延时等候*/
157 1 return ack; //返回确认信号到原调用程序*/
158 1 }
159 void IicStart(void) //起始信号*/
160 {
161 1 IicSDA=1; //数据线等于1*/
162 1 IicSCL=1; //时钟线等于1*/
163 1 IicWait(); //延时等候*/
164 1 IicSDA=0; //数据线等于0*/
165 1 IicWait(); //延时等候*/
166 1 IicSCL=0; //时钟线等于0*/
167 1 }
168 void IicStop(void) //停止信号*/
169 {
170 1 IicSDA=0; //数据线清零*/
171 1 IicWait(); //延时等候*/
172 1 IicSCL=1; //时钟线置位*/
173 1 IicWait(); //延时等候*/
174 1 IicSDA=1; //数据线置位*/
175 1 }
176 void IicWait(void) //等候
C51 COMPILER V7.10 TOOLS 02/03/2005 10:45:41 PAGE 4
177 {
178 1 _nop_();
179 1 _nop_();
180 1 _nop_();
181 1 _nop_();
182 1 _nop_();
183 1 _nop_();
184 1 _nop_();
185 1 _nop_();
186 1 _nop_();
187 1 _nop_();
188 1 _nop_();
189 1 _nop_();
190 1 _nop_();
191 1 _nop_();
192 1 _nop_();
193 1 _nop_();
194 1 _nop_();
195 1 _nop_();
196 1 _nop_();
197 1 _nop_();
198 1 _nop_();
199 1 _nop_();
200 1 _nop_();
201 1 _nop_();
202 1 _nop_();
203 1 _nop_();
204 1 _nop_();
205 1 }
206 void SendAcknowledge(bit ack) //应答信号*/
207 {
208 1 IicSDA=ack; //发送应答信号ack*/
209 1 //IicWait();
210 1 IicSCL=1; //SCL作“1”到“0”的变化*/
211 1 IicWait();
212 1 IicSCL=0;
213 1 //IicWait();
214 1 }
215 //-----***-1621-***-----//
216 void LcdStart(void)
217 {
218 1 LcdCs=0;
219 1 Delay(LcdDelay);
220 1 }
221
222 void LcdStop(void)
223 {
224 1 LcdCs=1;
225 1 Delay(LcdDelay);
226 1 }
227 void LcdSendId(unsigned char ID)
228 {
229 1 unsigned char data i;
230 1
231 1 for(i=3;i>0;i--)
232 1 {
233 2 LcdWr=0;
234 2 Delay(LcdDelay);
235 2
236 2 if((ID&0x80)==0x80)
237 2 {
238 3 LcdData=1;
C51 COMPILER V7.10 TOOLS 02/03/2005 10:45:41 PAGE 5
239 3 }
240 2 else
241 2 {
242 3 LcdData=0;
243 3 }
244 2 LcdWr=1;
245 2 Delay(LcdDelay);
246 2 ID=ID<<1;
247 2 }
248 1 }
249 void LcdSendAddress(unsigned char Address)
250 {
251 1 unsigned char data i;
252 1
253 1 for(i=6;i>0;i--)
254 1 {
255 2 LcdWr=0;
256 2 Delay(LcdDelay);
257 2 if((Address&0x80)==0x80)
258 2 {
259 3 LcdData=1;
260 3 }
261 2 else
262 2 {
263 3 LcdData=0;;
264 3 }
265 2 LcdWr=1;
266 2 Delay(LcdDelay);
267 2 Address=Address<<1;
268 2 }
269 1 }
270 void LcdSendByte(unsigned char Data)
271 {
272 1 unsigned char data i,k;
273 1 for(i=2;i>0;i--)
274 1 {
275 2
276 2 for(k=4;k>0;k--)
277 2 {
278 3 LcdWr=0;
279 3 Delay(LcdDelay);
280 3 if((Data&0x80)==0x80)
281 3 {
282 4 LcdData=1;
283 4 }
284 3 else
285 3 {
286 4 LcdData=0;
287 4 }
288 3 LcdWr=1;
289 3 Delay(LcdDelay);
290 3 Data=Data<<1;
291 3 }
292 2 }
293 1 }
294 void LcdSendCommand(unsigned char Command)
295 {
296 1 unsigned char data i;
297 1 LcdStart();
298 1 LcdSendId(0x80);
299 1 for(i=0;i<9;i++)
300 1 {
C51 COMPILER V7.10 TOOLS 02/03/2005 10:45:41 PAGE 6
301 2 LcdWr=0;
302 2 Delay(LcdDelay);
303 2 if((Command&0x80)==0x80)
304 2 {
305 3 LcdData=1;
306 3 }
307 2 else
308 2 {
309 3 LcdData=0;
310 3 }
311 2 LcdWr=1;
312 2 Delay(LcdDelay);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -