📄 text1.lst
字号:
C51 COMPILER V8.02 TEXT1 07/20/2007 09:24:08 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4
5 sbit rs = P2^0;
6 sbit rw = P2^1;
7 sbit en = P2^2;
8 sbit psb = P2^3;
9 sbit ret = P2^5;
10 uchar command,data1,data2,com0;
11 uchar lcd_bufl,lcd_bufg;//定义显示缓冲区
12 void lcd_int();
13 void clear_lcd();
14 void lcd_set();
15 void display();
16 void dis_init();
17 void delay(uchar ms);
18 void write_command(uchar command);
19 void write_data(uchar data0);
20
21 //液晶初始化
22
23 void lcd_int(void)
24 {
25 1 ret=0;
26 1 delay(10);
27 1 ret=1;
28 1 _nop_();
29 1 psb=1;//将PSB置1,通信方式为8BIT数据并口
30 1 _nop_();
31 1 }
32 //LCD功能设置
33 void lcd_set(void)
34 {
35 1 command=0x34;//功能设置--8BIT控制界面,扩充指令集---这个可去掉
36 1 write_command(command);
37 1 command=0x30;//功能设置--8BIT控制界面,基本指令集
38 1 write_command(command);
39 1 command=0x01;//清屏幕显示,将DDRAM的地址计数器归零
40 1 write_command(command);
41 1 command=0x06;//DDRAM的地址计数器(AC)加1
42 1 write_command(command);
43 1 command=0x0c;//显示打开,光标关,反白显示关
44 1 write_command(command);
45 1 }
46 //清屏程序
47 void clear_lcd(void)
48 {
49 1 command=0x01;
50 1 write_command(command);
51 1 command=0x34;
52 1 write_command(command);
53 1 command=0x30;
54 1 write_command(command);
55 1 }
C51 COMPILER V8.02 TEXT1 07/20/2007 09:24:08 PAGE 2
56
57 //写指令程序
58 void write_command(uchar command)
59 {
60 1 delay(100);
61 1 rs=0;
62 1 rw=0;
63 1 P0=command;
64 1 en=1;
65 1 _nop_();
66 1 _nop_();
67 1 en=0;
68 1 }
69 //写数据程序
70 void write_data(uchar data0)
71 {
72 1 delay(100);
73 1 rs=1;
74 1 rw=0;
75 1 P0=data0;
76 1 en=1;
77 1 _nop_();
78 1 _nop_();
79 1 en=0;
80 1 }
81 //延时子程序
82 void delay(uchar ms)
83 {
84 1 uchar i;
85 1 while(ms--)
86 1 {
87 2 for(i=0;i<120;i++);
88 2 }
89 1 }
90
91 //液晶显示程序
92 void display(void)
93 {
94 1 command=com0;
95 1 write_command(command);
96 1 data2=lcd_bufl;
97 1 data1=lcd_bufg;
98 1 write_data(data1);
99 1 data1=data2;
100 1 write_data(data1);
101 1 }
102
103 //显示字符
104 void dis_init(void)
105 {
106 1 com0=0x82;
107 1 lcd_bufl=0xcf;
108 1 lcd_bufg=0xc4;
109 1 display();
110 1 }
111
112 //主程序
113 main()
114 {
115 1 lcd_int();
116 1 lcd_set();
117 1 while(1)
C51 COMPILER V8.02 TEXT1 07/20/2007 09:24:08 PAGE 3
118 1 {
119 2 dis_init();
120 2 }
121 1 }
122
123
124
125
126
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 188 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 2
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 + -