📄 1602main.lst
字号:
C51 COMPILER V7.06 1602MAIN 09/28/2008 17:48:05 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 1602MAIN
OBJECT MODULE PLACED IN 1602main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 #include <string.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 sbit RS=P3^0;
7 sbit RW=P3^1;
8 sbit E=P3^2;
9 sbit BUSY=P2^7;
10 uchar code table[]=" Pathfinder";
11
12
13 delay_ms(int ms)
14 {uchar i;
15 1 uint j;
16 1 for(j=2*ms;j>0;j--)
17 1 for(i=250;i>0;i--);
18 1
19 1 }
20
21
22
23
24 void write_cmd(uchar cmd)
25 {
26 1 RS=0;
27 1 RW=0;
28 1 E=0;
29 1 P2=cmd;
30 1 delay_ms(2);
31 1 E=1;
32 1 delay_ms(2);
33 1 E=0;
34 1 }
35
36 void write_data(uchar d)
37
38 {
39 1
40 1 RS=1;
41 1 RW=0;
42 1 E=0;
43 1 P2=d;
44 1 delay_ms(2);
45 1 E=1;
46 1 delay_ms(2);
47 1 E=0;
48 1 }
49
50 void init_lcd()
51 {
52 1 write_cmd(0x38);
53 1 write_cmd(0x0f);//不显示光标
54 1 write_cmd(0x06);//指针自加一,整屏显示不移动
55 1 write_cmd(0x01);//清屏
C51 COMPILER V7.06 1602MAIN 09/28/2008 17:48:05 PAGE 2
56 1 }
57
58 void lcd_display_xy(char *string , uchar x, uchar y)
59 { uchar i;
60 1
61 1 write_cmd(0x80+0x40*y+x);
62 1 for (i=0;i<strlen(string);i++)
63 1 write_data(string[i]);
64 1 }
65
66
67 void main()
68 {
69 1
70 1 init_lcd();
71 1
72 1 lcd_display_xy("abc",2,0);
73 1 lcd_display_xy("efghij",0,1);
74 1 delay_ms(500);
75 1 write_cmd(0x07);
76 1 write_cmd(0x80+0x0);
77 1 write_data('a');
78 1 delay_ms(500);
79 1 write_cmd(1);
80 1 while(1);
81 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 218 ----
CONSTANT SIZE = 23 ----
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 + -