📄 yejin.lst
字号:
C51 COMPILER V8.02 YEJIN 05/23/2008 22:40:04 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE YEJIN
OBJECT MODULE PLACED IN yejin.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE yejin.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /***************************************************************************/
2 /*杭州电子&计算机工作室*/
3 /*http://www.hificat.com*/
4 /*1602LCD演示程序*/
5 /*目标器件:AT89S51*/
6 /*晶振:11.0592MHZ*/
7 /*编译环境:Keil 7.50A*/
8 /***************************************************************************/
9 /*********************************包含头文件********************************/
10 #include <reg51.h>
11 #include <intrins.h>
12 /*********************************端口定义**********************************/
13
14 sbit rs= P2^0;
15 sbit rw = P2^1;
16 sbit ep = P2^2;
17 /********************************显示数据表*********************************/
18 unsigned char dis1[] = {"www.hificat.com"};
19 unsigned char code dis2[] = {"0571-85956028"};
20 unsigned char code dis3[] = {"freela..."};
21 unsigned char code dis4[] ={"septemberan"};
22 unsigned char code dis5[]={"1234567890"};
23 /*****************************************************************************
24 函数功能:LCD延时子程序
25 入口参数:ms
26 出口参数:
27 *****************************************************************************/
28 void delay(unsigned char ms)
29 {
30 1 unsigned char i;
31 1 while(ms--)
32 1 {
33 2 for(i = 0; i< 250; i++)
34 2 {
35 3 _nop_();
36 3 _nop_();
37 3 _nop_();
38 3 _nop_();
39 3 }
40 2 }
41 1 }
42 /*****************************************************************************
43 函数功能:测试LCD忙碌状态
44 入口参数:
45 出口参数:result
46 *****************************************************************************/
47 bit lcd_bz()
48 {
49 1 bit result;
50 1 rs = 0;
51 1 rw = 1;
52 1 ep = 1;
53 1 _nop_();
54 1 _nop_();
55 1 _nop_();
C51 COMPILER V8.02 YEJIN 05/23/2008 22:40:04 PAGE 2
56 1 _nop_();
57 1 result = (bit)(P0 & 0x80);
58 1 ep = 0;
59 1 return result;
60 1 }
61 /*****************************************************************************
62 函数功能:写指令数据到LCD子程序
63 入口参数:cmd
64 出口参数:
65 *****************************************************************************/
66 void lcd_wcmd(unsigned char cmd)
67 {
68 1 while(lcd_bz());//判断LCD是否忙碌
69 1 rs = 0;
70 1 rw = 0;
71 1 ep = 0;
72 1 _nop_();
73 1 _nop_();
74 1 P0 = cmd;
75 1 _nop_();
76 1 _nop_();
77 1 _nop_();
78 1 _nop_();
79 1 ep = 1;
80 1 _nop_();
81 1 _nop_();
82 1 _nop_();
83 1 _nop_();
84 1 ep = 0;
85 1 }
86 /*****************************************************************************
87 函数功能:设定显示位置子程序
88 入口参数:pos
89 出口参数:
90 *****************************************************************************/
91 void lcd_pos(unsigned char pos)
92 {
93 1 lcd_wcmd(pos | 0x80);
94 1 }
95 /*****************************************************************************
96 函数功能:写入显示数据到LCD子程序
97 入口参数:dat
98 出口参数:
99 *****************************************************************************/
100 void lcd_wdat(unsigned char dat)
101 {
102 1 while(lcd_bz());//判断LCD是否忙碌
103 1 rs = 1;
104 1 rw = 0;
105 1 ep = 0;
106 1 P0 = dat;
107 1 _nop_();
108 1 _nop_();
109 1 _nop_();
110 1 _nop_();
111 1 ep = 1;
112 1 _nop_();
113 1 _nop_();
114 1 _nop_();
115 1 _nop_();
116 1 ep = 0;
117 1 }
C51 COMPILER V8.02 YEJIN 05/23/2008 22:40:04 PAGE 3
118 /*****************************************************************************
119 函数功能:LCD初始化子程序
120 入口参数:
121 出口参数:
122 *****************************************************************************/
123 void lcd_init()
124 {
125 1 lcd_wcmd(0x38);
126 1 delay(1);
127 1 lcd_wcmd(0x0c);
128 1 delay(1);
129 1 lcd_wcmd(0x06);
130 1 delay(1);
131 1 lcd_wcmd(0x01);
132 1 delay(1);
133 1 }
134 /*****************************************************************************
135 函数功能:主程序
136 入口参数:
137 出口参数:
138 *****************************************************************************/
139 void main(void)
140 {
141 1 unsigned char i;
142 1 lcd_init();// 初始化LCD
143 1 delay(10);
144 1 lcd_pos(0x01);//设置显示位置
145 1 i = 0;
146 1 while(dis1[i] != '\0')
147 1 {
148 2 lcd_wdat(dis1[i]);//显示字符
149 2 i++;
150 2 }
151 1 lcd_pos(0x42);// 设置显示位置
152 1 i = 0;
153 1 while(dis2[i] != '\0')
154 1 {
155 2 lcd_wdat(dis2[i]);// 显示字符
156 2 i++;
157 2 }
158 1 lcd_wcmd(0x90);
159 1 i=0;
160 1 while(dis3[i]!='\0')
161 1 {
162 2 lcd_wdat(dis3[i]);
163 2 i++;
164 2 }
165 1 lcd_wcmd(0xd1);
166 1 i=0;
167 1 while(dis4[i]!='\0')
168 1 {
169 2 lcd_wdat(dis4[i]);
170 2 i++;
171 2 }
172 1 while(1)
173 1 {
174 2 delay(100);
175 2 i++;
176 2
177 2 lcd_wcmd(0xdd);
178 2 lcd_wdat(i);
179 2 if(i==10)
C51 COMPILER V8.02 YEJIN 05/23/2008 22:40:04 PAGE 4
180 2 i=0;
181 2 }
182 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 256 ----
CONSTANT SIZE = 47 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 ----
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 + -