📄 lcdtest.lst
字号:
C51 COMPILER V7.05 LCDTEST 04/19/2009 11:32:49 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE LCDTEST
OBJECT MODULE PLACED IN lcdtest.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcdtest.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #include "intrins.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define nop _nop_()
6 void CheckLcdBusy();
7 uchar code table[]="I LOVE MCU!";
8 uchar code table1[]="WWW.TXMCU.COM";
9 sbit lcden=P2^7; //液晶使能端
10 sbit lcdrw=P2^6;
11 sbit lcdrs=P2^5; //液晶数据命令选择端
12 uchar num;
13 void delay(uint z)
14 {
15 1 uint x,y;
16 1 for(x=z;x>0;x--)
17 1 for(y=110;y>0;y--);
18 1 }
19 void write_com(uchar com)
20 {
21 1 CheckLcdBusy();
22 1 lcdrw=0;
23 1 lcdrs=0;
24 1 lcden=1;
25 1 P0=com;
26 1 delay(1);
27 1 lcden=0;
28 1 delay(1);
29 1 lcden=1;
30 1 P0=(com<<4);
31 1 delay(5);
32 1 lcden=0;
33 1 }
34 void write_data(uchar date)
35 {
36 1 CheckLcdBusy();
37 1 lcdrw=0;
38 1 lcdrs=1;
39 1 lcden=1;
40 1 P0=date;
41 1 delay(1);
42 1 lcden=0;
43 1 delay(1);
44 1 lcden=1;
45 1 P0=(date<<4);
46 1 delay(5);
47 1 lcden=0;
48 1 }
49 void init()
50 {
51 1 delay(20);
52 1 lcdrw=0;
53 1 lcdrs=0;nop;
54 1 lcden=0;nop;
55 1 lcden=1;nop;
C51 COMPILER V7.05 LCDTEST 04/19/2009 11:32:49 PAGE 2
56 1 P0=0x20;nop;
57 1 lcden=0;delay(5);
58 1 lcden=1;nop;
59 1 P0=0x20;nop;
60 1 lcden=0;delay(1);
61 1 lcden=1;nop;
62 1 P0=0x20;nop;
63 1 lcden=0;
64 1 //delay(1);
65 1 write_com(0x01);//清屏
66 1 write_com(0x28);//设置4位操作,1行显示,5x8
67 1 write_com(0x02);//光标归位
68 1 write_com(0x06);//AC自动加1,画面不动
69 1 write_com(0x0c);//0x0f:光标闪烁开;
70 1 write_com(0x01);//清屏
71 1 }
72
73 void main()
74 {
75 1 delay(15);
76 1 init();
77 1 write_com(0x80);
78 1 for(num=0;num<11;num++)
79 1 {
80 2 write_data(table[num]);
81 2 delay(5);
82 2 }
83 1 write_com(0x80+0x40);
84 1 for(num=0;num<13;num++)
85 1 {
86 2 write_data(table1[num]);
87 2 delay(5);
88 2 }
89 1 while(1);
90 1 }
91 void CheckLcdBusy()
92 {uchar Temp,t;
93 1 P0=0xff;
94 1 lcdrw=1;
95 1 lcdrs=0;nop;
96 1 lcden=0;nop;
97 1 do
98 1 {nop;
99 2 lcden=1;nop;
100 2 Temp=P0;
101 2 nop;nop;nop;
102 2 lcden=0;nop;nop;
103 2 delay(1);
104 2 lcden=1;nop;
105 2 t=P0;
106 2 nop;nop;nop;
107 2 lcden=0;nop;nop;
108 2
109 2 Temp&=0x80;
110 2 }while(Temp==0x80);
111 1 }
112
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 386 ----
CONSTANT SIZE = 26 ----
C51 COMPILER V7.05 LCDTEST 04/19/2009 11:32:49 PAGE 3
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 10
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 + -