?? 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忙碌狀態(tài)
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 + -