📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 02/12/2011 09:50:31 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 * 1602
3 */
4
5 #include <reg52.h>
6
7 typedef unsigned char uint8;
8
9 sbit RS = P1^0 ;
10 sbit RW = P1^1 ;
11 sbit EN = P1^5 ;
12 sbit BUSY = P0^7;
13
14
15 /**
16 * 等待繁忙标志
17 */
18 void wait(void)
19 {
20 1 P0 = 0xFF;
21 1
22 1 do
23 1 {
24 2 RS = 0;
25 2 RW = 1;
26 2 EN = 0;
27 2 EN = 1;
28 2 }while (BUSY == 1);
29 1 EN = 0;
30 1 }
31
32 /**
33 * 写数据
34 */
35 void w_dat(uint8 dat)
36 {
37 1 wait();
38 1 EN = 0;
39 1 P0 = dat;
40 1 RS = 1;
41 1 RW = 0;
42 1 EN = 1;
43 1 EN = 0;
44 1 }
45
46 /**
47 * 写命令
48 */
49 void w_cmd(uint8 cmd)
50 {
51 1 wait();
52 1 EN = 0;
53 1 P0 = cmd;
54 1 RS = 0;
55 1 RW = 0;
C51 COMPILER V8.02 MAIN 02/12/2011 09:50:31 PAGE 2
56 1 EN = 1;
57 1 EN = 0;
58 1 }
59
60 /**
61 * 初始化1602
62 */
63 void Init_LCD1602(void)
64 {
65 1 w_cmd(0x38); // 16*2显示,5*7点阵,8位数据接口
66 1 w_cmd(0x0C); // 显示器开、光标开、光标允许闪烁
67 1 w_cmd(0x06); // 文字不动,光标自动右移
68 1 w_cmd(0x01); // 清屏
69 1 }
70
71
72 main()
73 {
74 1
75 1 Init_LCD1602();
76 1
77 1 w_cmd(0x80);
78 1 w_dat('A');
79 1
80 1 while (1);
81 1 }
82
83
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 84 ----
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 + -