📄 12 1602
字号:
C51 COMPILER V7.50 LCD1602 04/27/2010 22:33:33 PAGE 1
C51 COMPILER V7.50, 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 /*************** writer:shopping.w ******************/
2 #include <reg52.h>
3 #include <intrins.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 sbit RS = P2^0;
8 sbit RW = P2^1;
9 sbit EN = P2^2;
10
11 void Delayms(uint ms)
12 {
13 1 uchar i;
14 1 while(ms--)
15 1 {
16 2 for(i=0;i<120;i++);
17 2 }
18 1 }
19
20 uchar Busy_Check()
21 {
22 1 uchar LCD_Status;
23 1 RS = 0;
24 1 RW = 1;
25 1 EN = 1;
26 1 Delayms(1);
27 1 LCD_Status = P0;
28 1 EN = 0;
29 1 return LCD_Status;
30 1 }
31
32 void Write_LCD_Command(uchar cmd)
33 {
34 1 while((Busy_Check()&0x80)==0x80);
35 1 RS = 0;
36 1 RW = 0;
37 1 EN = 0;
38 1 P0 = cmd;
39 1 EN = 1;
40 1 Delayms(1);
41 1 EN = 0;
42 1 }
43
44 void Write_LCD_Data(uchar dat)
45 {
46 1 while((Busy_Check()&0x80)==0x80);
47 1 RS = 1;
48 1 RW = 0;
49 1 EN = 0;
50 1 P0 = dat;
51 1 EN = 1;
52 1 Delayms(1);
53 1 EN = 0;
54 1 }
55
C51 COMPILER V7.50 LCD1602 04/27/2010 22:33:33 PAGE 2
56 void Initialize_LCD()
57 {
58 1 Write_LCD_Command(0x38);
59 1 Delayms(1);
60 1 Write_LCD_Command(0x01);
61 1 Delayms(1);
62 1 Write_LCD_Command(0x06);
63 1 Delayms(1);
64 1 Write_LCD_Command(0x0c);
65 1 Delayms(1);
66 1 }
67
68 void ShowString(uchar x,uchar y,uchar *str)
69 {
70 1 uchar i = 0;
71 1 if(y == 0)
72 1 Write_LCD_Command(0x80 | x);
73 1 if(y == 1)
74 1 Write_LCD_Command(0xc0 | x);
75 1 for(i=0;i<16;i++)
76 1 {
77 2 Write_LCD_Data(str[i]);
78 2 }
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 186 ----
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 + -