?? up51s009.lst
字號:
C51 COMPILER V7.08 UP51S009 12/13/2004 09:15:49 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE UP51S009
OBJECT MODULE PLACED IN up51s009.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE up51s009.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 * *
3 * File : uP51s009.c *
4 * Date : 2004-9-5 *
5 * Version : 1.0 *
6 * *
7 * Author : kevin kevin@dz51.com *
8 * Company : Http://www.dz51.com *
9 * *
10 ********************************************************************************
11 * Description: *
12 * 字符LCD顯示演示程序 *
13 * 在第一行顯示 welcome *
14 * 在第一行顯示 www.dz51.com *
15 * 注意:跳線J3需要拿掉 *
16 * *
17 *******************************************************************************/
18 #include <reg51.h>
19 #include <intrins.h>
20
21 typedef unsigned char BYTE;
22 typedef unsigned int WORD;
23 typedef bit BOOL ;
24
25 sbit rs = P2^0; //
26 sbit rw = P2^1;
27 sbit ep = P2^2;
28
29 BYTE code dis1[] = {"welcome!"};
30 BYTE code dis2[] = {" www.dz51.com "};
31
32 delay(BYTE ms)
33 { // 延時子程序
34 1 BYTE i;
35 1 while(ms--)
36 1 {
37 2 for(i = 0; i< 250; i++)
38 2 {
39 3 _nop_();
40 3 _nop_();
41 3 _nop_();
42 3 _nop_();
43 3 }
44 2 }
45 1 }
46
47 BOOL lcd_bz()
48 { // 測試LCD忙碌狀態(tài)
49 1 BOOL result;
50 1 rs = 0;
51 1 rw = 1;
52 1 ep = 1;
53 1 _nop_();
54 1 _nop_();
55 1 _nop_();
C51 COMPILER V7.08 UP51S009 12/13/2004 09:15:49 PAGE 2
56 1 _nop_();
57 1 result = (BOOL)(P0 & 0x80);
58 1 ep = 0;
59 1 return result;
60 1 }
61
62 lcd_wcmd(BYTE cmd)
63 { // 寫入指令數(shù)據(jù)到LCD
64 1 while(lcd_bz());
65 1 rs = 0;
66 1 rw = 0;
67 1 ep = 0;
68 1 _nop_();
69 1 _nop_();
70 1 P0 = cmd;
71 1 _nop_();
72 1 _nop_();
73 1 _nop_();
74 1 _nop_();
75 1 ep = 1;
76 1 _nop_();
77 1 _nop_();
78 1 _nop_();
79 1 _nop_();
80 1 ep = 0;
81 1 }
82
83 lcd_pos(BYTE pos)
84 { //設(shè)定顯示位置
85 1 lcd_wcmd(pos | 0x80);
86 1 }
87
88 lcd_wdat(BYTE dat)
89 { //寫入字符顯示數(shù)據(jù)到LCD
90 1 while(lcd_bz());
91 1 rs = 1;
92 1 rw = 0;
93 1 ep = 0;
94 1 P0 = dat;
95 1 _nop_();
96 1 _nop_();
97 1 _nop_();
98 1 _nop_();
99 1 ep = 1;
100 1 _nop_();
101 1 _nop_();
102 1 _nop_();
103 1 _nop_();
104 1 ep = 0;
105 1 }
106
107 lcd_init()
108 { //LCD初始化設(shè)定
109 1 lcd_wcmd(0x38); //
110 1 delay(1);
111 1 lcd_wcmd(0x0c); //
112 1 delay(1);
113 1 lcd_wcmd(0x06); //
114 1 delay(1);
115 1 lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容
116 1 delay(1);
117 1 }
C51 COMPILER V7.08 UP51S009 12/13/2004 09:15:49 PAGE 3
118
119 main()
120 {
121 1 BYTE i;
122 1 lcd_init(); // 初始化LCD
123 1 delay(10);
124 1 lcd_pos(4); // 設(shè)置顯示位置為第一行的第5個字符
125 1 i = 0;
126 1 while(dis1[i] != '\0')
127 1 { // 顯示字符"welcome!"
128 2 lcd_wdat(dis1[i]);
129 2 i++;
130 2 }
131 1 lcd_pos(0x41); // 設(shè)置顯示位置為第二行第二個字符
132 1 i = 0;
133 1 while(dis2[i] != '\0')
134 1 {
135 2 lcd_wdat(dis2[i]); // 顯示字符" www.willar.com "
136 2 i++;
137 2 }
138 1 while(1); //
139 1 }
140
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 193 ----
CONSTANT SIZE = 24 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -