📄 lcd.lst
字号:
C51 COMPILER V8.05a LCD 03/03/2009 12:25:11 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\软件\keil 51\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <intrins.h>
3 /*********************************端口定义**********************************/
4 sbit rs= P2^5;
5 sbit rw = P2^6;
6 sbit ep = P2^7;
7 /********************************显示数据表*********************************/
8 unsigned char code dis1[] = {"www.hificat.com"};
9 unsigned char code dis2[] = {"0571-85956028"};
10 /*****************************************************************************
11 函数功能:LCD延时子程序
12 入口参数:ms
13 出口参数:
14 *****************************************************************************/
15 void delay(unsigned char ms)
16 {
17 1 unsigned char i;
18 1 while(ms--)
19 1 {
20 2 for(i = 0; i< 50; i++)
21 2 {
22 3 _nop_();
23 3 _nop_();
24 3 _nop_();
25 3 _nop_();
26 3 }
27 2 }
28 1 }
29 /*****************************************************************************
30 函数功能:测试LCD忙碌状态
31 入口参数:
32 出口参数:result
33 *****************************************************************************/
34 bit lcd_bz()
35 {
36 1 bit result;
37 1 rs = 0;
38 1 rw = 1;
39 1 ep = 1;
40 1 _nop_();
41 1 _nop_();
42 1 _nop_();
43 1 _nop_();
44 1 result = (bit)(P0 & 0x80);
45 1 ep = 0;
46 1 return result;
47 1 }
48 /*****************************************************************************
49 函数功能:写指令数据到LCD子程序
50 入口参数:cmd
51 出口参数:
52 *****************************************************************************/
53 void lcd_wcmd(unsigned char cmd)
54 {
55 1 while(lcd_bz());//判断LCD是否忙碌
C51 COMPILER V8.05a LCD 03/03/2009 12:25:11 PAGE 2
56 1 rs = 0;
57 1 rw = 0;
58 1 ep = 0;
59 1 _nop_();
60 1 _nop_();
61 1 P0 = cmd;
62 1 _nop_();
63 1 _nop_();
64 1 _nop_();
65 1 _nop_();
66 1 ep = 1;
67 1 _nop_();
68 1 _nop_();
69 1 _nop_();
70 1 _nop_();
71 1 ep = 0;
72 1 }
73 /*****************************************************************************
74 函数功能:设定显示位置子程序
75 入口参数:pos
76 出口参数:
77 *****************************************************************************/
78 void lcd_pos(unsigned char pos)
79 {
80 1 lcd_wcmd(pos | 0x80);
81 1 }
82 /*****************************************************************************
83 函数功能:写入显示数据到LCD子程序
84 入口参数:dat
85 出口参数:
86 *****************************************************************************/
87 void lcd_wdat(unsigned char dat)
88 {
89 1 while(lcd_bz());//判断LCD是否忙碌
90 1 rs = 1;
91 1 rw = 0;
92 1 ep = 0;
93 1 P0 = dat;
94 1 _nop_();
95 1 _nop_();
96 1 _nop_();
97 1 _nop_();
98 1 ep = 1;
99 1 _nop_();
100 1 _nop_();
101 1 _nop_();
102 1 _nop_();
103 1 ep = 0;
104 1 }
105 /*****************************************************************************
106 函数功能:LCD初始化子程序
107 入口参数:
108 出口参数:
109 *****************************************************************************/
110 void lcd_init()
111 {
112 1 lcd_wcmd(0x38);
113 1 delay(2);
114 1 lcd_wcmd(0x0c);
115 1 delay(2);
116 1 lcd_wcmd(0x06);
117 1 delay(2);
C51 COMPILER V8.05a LCD 03/03/2009 12:25:11 PAGE 3
118 1 lcd_wcmd(0x01);
119 1 delay(2);
120 1 }
121 /*****************************************************************************
122 函数功能:主程序
123 入口参数:
124 出口参数:
125 *****************************************************************************/
126 void main(void)
127 {
128 1 unsigned char i;
129 1 lcd_init();// 初始化LCD
130 1 delay(10);
131 1 lcd_pos(0x01);//设置显示位置
132 1 i = 0;
133 1 while(dis1[i] != '\0')
134 1 {
135 2 lcd_wdat(dis1[i]);//显示字符
136 2 i++;
137 2 }
138 1 lcd_pos(0x42);// 设置显示位置
139 1 i = 0;
140 1 while(dis2[i] != '\0')
141 1 {
142 2 lcd_wdat(dis2[i]);// 显示字符
143 2 i++;
144 2 }
145 1 while(1);
146 1 }
147
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 194 ----
CONSTANT SIZE = 30 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -