📄 lcd.lst
字号:
C51 COMPILER V6.12 LCD 03/25/2008 17:43:19 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\lcd.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE .\lcd.c DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 sbit RS=P0^2;
4 sbit RW=P0^3;
5 sbit E=P0^4;
6 void init();
7 void wc51r(uchar i);
8 void wc51ddr(uchar j);
9 void fbusy();
10 void delay();
11 void main()
12 { SP=0x50;
13 1 init();
14 1 wc51r(0x80);
15 1 wc51ddr(0x47);
16 1 wc51ddr(0x4f);
17 1 wc51ddr(0x4f);
18 1 wc51ddr(0x44);
19 1 wc51r(0xc5);
20 1 wc51ddr(0x42);
21 1 wc51ddr(0x59);
22 1 wc51ddr(0x45);
23 1 while(1);
24 1 }
25 //初始化函数
26 void init()
27 { RS=0;RW=0;
28 1 wc51r(0x01);
29 1 wc51r(0x38);
30 1 wc51r(0x0e);
31 1 wc51r(0x06);
32 1 }
33 //检测忙函数
34 void fbusy()
35 { P2=0xff;
36 1 RS=0;RW=1;
37 1 E=1;
38 1 while((P2&0x80)==0x80);
39 1 E=0;
40 1 }
41 //写命令
42 void wc51r(uchar i)
43 {
44 1 fbusy();
45 1 E=0;
46 1 RS=0;RW=0;
47 1 E=1;
48 1 P2=i;
49 1 E=0;
50 1 delay();
51 1 }
52 //写数据函数
53 void wc51ddr(uchar j)
54 {
55 1 fbusy();
C51 COMPILER V6.12 LCD 03/25/2008 17:43:19 PAGE 2
56 1 RS=1;RW=0;
57 1 E=1;
58 1 P2=j;
59 1 E=0;
60 1 delay();
61 1 }
62 //延时函数
63 void delay()
64 {
65 1 uchar y;
66 1 for(y=0;y<0xff;y++)
67 1 {;}
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 127 ----
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 + -