📄 lesson 8.lst
字号:
C51 COMPILER V8.05a LESSON_8 02/05/2009 10:21:09 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE LESSON_8
OBJECT MODULE PLACED IN lesson 8.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lesson 8.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit rs=P3^0;
5 sbit en=P3^1;
6 void delay(uint z); //延时声明
7 void write_cmd(uchar cmd); //写命令声明
8 void write_data(uchar data1); //写数据声明
9 void initial(); //初始化声明
10 uchar table1[]="I like MCU!";
11 uchar table2[]="How are you!";
12
13 void main()
14 {
15 1 uchar i;
16 1 initial();
17 1 for(i=0;i<11;i++)
18 1 {
19 2 write_data(table1[i]);
20 2 delay(20); //加大延时实现动态显示
21 2 }
22 1 //write_cmd(0x01); //清屏
23 1 write_cmd(0xd0); //数据指针设置
24 1 for(i=0;i<12;i++)
25 1 {
26 2 write_data(table2[i]);
27 2 delay(20); //加大延时实现动态显示
28 2 }
29 1 for(i=0;i<16;i++)
30 1 {
31 2 write_cmd(0x1c); //0x18为右移动 0x1c为左移动
32 2 delay(200);
33 2 }
34 1 while(1);
35 1 }
36
37 void initial()
38 {
39 1 en=0;
40 1 write_cmd(0x38); // 16X2 5X8显示
41 1 write_cmd(0x0f); //开显示 光标 闪烁
42 1 write_cmd(0x06); //地址指针自动加一,不移动
43 1 write_cmd(0x01); //清屏
44 1 write_cmd(0x90); //数据指针设置
45 1 }
46
47 void write_cmd(uchar cmd_data)
48 {
49 1 rs=0;
50 1 P2=cmd_data; delay(1);
51 1 en=1; delay(1);
52 1 en=0;
53 1 }
54
55 void write_data(uchar data1)
C51 COMPILER V8.05a LESSON_8 02/05/2009 10:21:09 PAGE 2
56 {
57 1 rs=1;
58 1 P2=data1; delay(1);
59 1 en=1; delay(1);
60 1 en=0;
61 1 }
62 void delay(uint z)
63 {
64 1 uint x,y;
65 1 for(x=z;x>0;x--)
66 1 for(y=110;y>0;y--);
67 1 }
68
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 181 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 25 1
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 + -