📄 lcd1602.lst
字号:
C51 COMPILER V8.01 LCD1602 08/06/2007 09:18:02 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD1602.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #include<intrins.h>
3
4 typedef unsigned char UINT8;
5 typedef unsigned int UINT16;
6 typedef bit BOOL;
7
8 sbit LCD_RS=P2^0;
9 sbit LCD_RW=P2^1;
10 sbit LCD_EP=P2^2;
11
12
13 void Delay_US(UINT16 n)
14 { if(n==0)
15 1 { return;
16 2 }
17 1 while(n--)
18 1 { ;
19 2 }
20 1 }
21
22 void Delay_MS(UINT8 ms)
23 { UINT8 a,b;
24 1 for(a=1;a<ms;a++)
25 1 { for(b=1;b;b++)
26 2 { ;
27 3 }
28 2 }
29 1 }
30
31 BOOL LCD_BZ(void)
32 { BOOL result;
33 1 LCD_RS=0;
34 1 LCD_RW=1;
35 1 LCD_EP=1;
36 1 Delay_US(5);
37 1 result=(BOOL)(P0&0x80);
38 1 LCD_EP=0;
39 1 return(result);
40 1 }
41
42
43 void LCD_W_Com(UINT8 com)
44 { while(LCD_BZ())
45 1 { ;
46 2 }
47 1 LCD_RS=0;
48 1 LCD_RW=0;
49 1 LCD_EP=0;
50 1 Delay_US(2);
51 1 P0=com;
52 1 Delay_US(5);
53 1 LCD_EP=1;
54 1 Delay_US(5);
55 1 LCD_EP=0;
C51 COMPILER V8.01 LCD1602 08/06/2007 09:18:02 PAGE 2
56 1 }
57
58
59 void LCD_W_Date(UINT8 date)
60 { while(LCD_BZ())
61 1 { ;
62 2 }
63 1 LCD_RS=1;
64 1 LCD_RW=0;
65 1 LCD_EP=0;
66 1 P0=date;
67 1 Delay_US(5);
68 1 LCD_EP=1;
69 1 Delay_US(5);
70 1 LCD_EP=0;
71 1 }
72
73
74 void LCD_Clear(void)
75 {
76 1 LCD_W_Com(0x01);
77 1 Delay_MS(5);
78 1
79 1 }
80
81
82
83 void LCD_Init(void)
84 { LCD_W_Com(0x38);
85 1 Delay_MS(5);
86 1 LCD_W_Com(0x0C);
87 1 Delay_MS(5);
88 1 LCD_W_Com(0x06);
89 1 Delay_MS(5);
90 1 LCD_W_Com(0x01);
91 1 Delay_MS(5);
92 1 }
93
94
95 void LCD_W_Str(UINT8 x,UINT8 y,UINT8 *s)
96 { if(y==0)
97 1 { LCD_W_Com(0x80+x);
98 2 }
99 1 else
100 1 { LCD_W_Com(0xc0+x);
101 2 }
102 1 while(*s)
103 1 { LCD_W_Date(*s);
104 2 s++;
105 2 }
106 1 }
107
108
109 void LCD_W_Char(UINT8 x,UINT8 y,UINT8 ch)
110 { if(y==0)
111 1 { LCD_W_Com(0x80+x);
112 2 }
113 1 else
114 1 { LCD_W_Com(0xC0+x);
115 2 }
116 1 LCD_W_Date(ch);
117 1 }
C51 COMPILER V8.01 LCD1602 08/06/2007 09:18:02 PAGE 3
118
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 218 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -