📄 lcd_send.lst
字号:
C51 COMPILER V7.50 LCD_SEND 03/17/2007 10:53:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD_SEND
OBJECT MODULE PLACED IN LCD_send.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD_send.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*=================================================================================*/
2 //LCD显示函数
3 /*=================================================================================*/
4 #include <c8051f020.h> // SFR 声明
5 #include <intrins.h>
6 #include <ABSACC.H>
7 #include "LCD_send.h"
8
9 /*************************************************************************************
10 函数功能:us延时
11 输入参数:延时时间timer
12 输出参数:无
13 *************************************************************************************/
14 void delay_us(int timer)//us沿时
15 {
16 1 timer*=20;//时钟周期调整
17 1 for(;timer>0;timer--)
18 1 _nop_();
19 1 }
20
21 /*************************************************************************************
22 函数功能:ms延时
23 输入参数:延时时间timer
24 输出参数:无
25 *************************************************************************************/
26 void delay_ms(unsigned int i)//ms沿时
27 {
28 1 while(--i)
29 1 delay_us(500);
30 1 }
31
32 /************************************************************************************
33 函数功能:LCD 初始化
34 输入参数:无
35 输出参数:无
36 ************************************************************************************/
37 void lcd_init(void)
38 {
39 1 LCDRES=0;
40 1 delay_ms(5);
41 1 LCDRES=1;
42 1 LCDREQ=0;
43 1 LCDBUSY=0;
44 1 delay_ms(5);
45 1 }
46
47 /************************************************************************************
48 函数功能:写数据到LCD
49 输入参数:写数据 (char) writedata
50 输出参数:无
51 *************************************************************************************/
52 void write_data(unsigned char data writedata)
53 {
54 1 LCDBUSY=1;
55 1 while(LCDBUSY!=0);
C51 COMPILER V7.50 LCD_SEND 03/17/2007 10:53:09 PAGE 2
56 1 OE573=0;
57 1 LCDDATA=writedata;
58 1 delay_us(2);
59 1 LCDREQ=1;
60 1 delay_us(10);
61 1 LCDBUSY=1;
62 1 while(LCDBUSY==0);
63 1 LCDREQ=0;
64 1 OE573=1;
65 1 }
66 /*************************************************************************************
67 函数功能:显示8*8ASCII字符
68 输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)
69 Y坐标Y从0到0x3F共64个点以点为单位递增; (0--63)
70 输出参数:无
71 *************************************************************************************/
72 void send_ascii8(unsigned char x,unsigned char y,unsigned char ascii)
73
74 {
75 1 write_data(0xf1);
76 1 write_data(x+0x04);
77 1 write_data(y);
78 1 write_data(ascii);//写要显示的ASCII码;
79 1 }
80 /**************************************************************************************
81
82 函数功能:显示8*16ASCII字符变量
83 输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)
84 Y坐标Y从0到0x3F共64个点以点为单位递增; (0--63)
85 输出参数:无
86 **************************************************************************************/
87 void send_ascii16(unsigned char x,unsigned char y,unsigned char ascii)
88 {
89 1 write_data(0xF9);
90 1 write_data(x+0x04);
91 1 write_data(y);
92 1 write_data(ascii);//写要显示的ASCII码;
93 1 }
94
95 /*************************************************************************************
96 函数功能:显示8*8ASCII字符串
97 输入参数:X坐标从0x04到0x13共16个字符以字节为单位递增 (0--15)
98 Y坐标从0到0x3F共64个点以点为单位递增 (0--63)
99 输出参数:无
100 *************************************************************************************/
101 void send_asc8str(unsigned char x,unsigned char y,unsigned char *ascii)
102 {
103 1 while((*ascii)!=0)
104 1 {
105 2 write_data(0xf1);
106 2 write_data(x+0x04);
107 2 write_data(y);
108 2 write_data(*ascii);//写要显示的ASCII码;
109 2 ascii++;
110 2 if(x<0x0f)
111 2 x++;
112 2 else
113 2 {
114 3 x=0x00;
115 3 y+=8;
116 3 if(y==0x40)
117 3 y=0;
C51 COMPILER V7.50 LCD_SEND 03/17/2007 10:53:09 PAGE 3
118 3 }
119 2 }
120 1 }
121
122 /**************************************************************************************
123 函数功能:显示8*16ASCII字符串
124 输入参数:X坐标X从0x04到0x13共16个字符以字符为单位递增;(0--15)
125 Y坐标Y从0到0x3F共64个点以点为单位递增; (0--63)
126 输出参数:无
127 **************************************************************************************/
128 void send_asc16str(unsigned char x,unsigned char y,unsigned char *ascii)
129 {
130 1 while((*ascii)!=0)
131 1 {
132 2 write_data(0xF9);
133 2 write_data(x+0x04);
134 2 write_data(y);
135 2 write_data(*ascii);//写要显示的ASCII码;
136 2 ascii++;
137 2 if(x<0x0f)
138 2 x++;
139 2 else
140 2 {
141 3 x=0x00;
142 3 y+=16;
143 3 if(y==0x40)
144 3 y=0;
145 3 }
146 2 }
147 1 }
148
149 /*************************************************************************************
150 函数功能:显示16*16汉字
151 输入参数:x为横坐标(0x02-0x09); (0--7)
152 y为纵坐标(0x00-0x03); (0--3)
153 输出参数:无
154 *************************************************************************************/
155 void send_hz(unsigned char x,unsigned char y,unsigned char *hz_p)
156 {
157 1 while((*hz_p)!=0)
158 1 {
159 2 write_data(0xf0);
160 2 write_data(x+0x02);
161 2 write_data(y);
162 2 write_data(*hz_p-0xa0);
163 2 hz_p++;
164 2 write_data(*hz_p-0xa0);
165 2 hz_p++;
166 2 if(x<0x07)
167 2 x++;
168 2 else
169 2 {
170 3 x=0x00;
171 3 y++;
172 3 if(y==0x05)
173 3 y=0;
174 3 }
175 2 }
176 1 }
177
178 /*********************************************************************************************************
-*
C51 COMPILER V7.50 LCD_SEND 03/17/2007 10:53:09 PAGE 4
179 函数功能:显示字节点阵
180 输入参数:x为横轴起始坐标(0x04-0x13) (0--17)
181 y为纵轴起始坐标(0x00-0x3f) (0--63)
182 显示字节点阵宽度为widh共16个字节 (0--16)
183 高度为high(0x00-0x3f)共64个点 (0--64)
184 输出参数:无
185 **********************************************************************************************************
-/
186 void send_zjdz(unsigned char x,unsigned char y,unsigned char widh,unsigned char high,unsigned char *bmp_p)
187 {
188 1 unsigned char high_extent,widh_extent;
189 1 for(high_extent=0;high_extent<high;high_extent++)
190 1 {
191 2 for(widh_extent=0;widh_extent<widh;widh_extent++)
192 2 {
193 3 write_data(0xf3);
194 3 write_data(x+0x04);
195 3 write_data(y);
196 3 write_data(*bmp_p);
197 3 bmp_p++;
198 3 x++;
199 3 }
200 2 x-=widh;
201 2 y++;
202 2 }
203 1 }
204
205
206
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 467 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 15
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 + -