📄 lcd1602.lst
字号:
C51 COMPILER V8.12 LCD1602 11/13/2008 16:50:54 PAGE 1
C51 COMPILER V8.12, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN lcd1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lcd1602.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89X52.H>
2 #include<INTRINS.H>
3 #include "lcd1602.h"
4 sbit LCM_RS=P1^2;
5 sbit LCM_RW=P1^1;
6 sbit LCM_EN=P1^0;
7 #define DataPort P3
8 #define uchar unsigned char
9 #define uint unsigned int
10 /*******************************/
11 void WaitForEnable(void)
12 {
13 1 DataPort=0xff;
14 1 LCM_RS=0;LCM_RW=1;_nop_();
15 1 LCM_EN=1;_nop_();_nop_();
16 1 while(DataPort&0x80);
17 1 LCM_EN=0;
18 1 }
19 /*******************************/
20 void WriteCommandLCM(uchar CMD,uchar Attribc)
21 {
22 1 if(Attribc)WaitForEnable();
23 1 LCM_RS=0;LCM_RW=0;_nop_();
24 1 DataPort=CMD;_nop_();
25 1 LCM_EN=1;_nop_();_nop_();LCM_EN=0;
26 1 }
27 /*******************************/
28 void WriteDataLCM(uchar dataW)
29 {
30 1 WaitForEnable();
31 1 LCM_RS=1;LCM_RW=0;_nop_();
32 1 DataPort=dataW;_nop_();
33 1 LCM_EN=1;_nop_();_nop_();LCM_EN=0;
34 1 }
35 /***********************************/
36 void InitLcd()
37 {
38 1 WriteCommandLCM(0x38,1);
39 1 WriteCommandLCM(0x08,1);
40 1 WriteCommandLCM(0x01,1);
41 1 WriteCommandLCM(0x06,1);
42 1 WriteCommandLCM(0x0c,1);
43 1 }
44 /***********************************/
45 void DisplayOneChar(uchar X,uchar Y,uchar DData)
46 {
47 1 Y&=1;
48 1 X&=15;
49 1 if(Y)X|=0x40;
50 1 X|=0x80;
51 1 WriteCommandLCM(X,0);
52 1 WriteDataLCM(DData);
53 1 }
54 /***********************************/
55 void DisplayListChar(uchar X,uchar Y,uchar *DData)
C51 COMPILER V8.12 LCD1602 11/13/2008 16:50:54 PAGE 2
56 {
57 1 uchar ListLength=0;
58 1 Y&=0x1;
59 1 X&=0xF;
60 1 while(X<=15)
61 1 {
62 2 DisplayOneChar(X,Y,DData[ListLength]);
63 2 ListLength++;
64 2 X++;
65 2 }
66 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 173 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -