📄 ts12864a.lst
字号:
157 {
158 1 LCD_Set_xy(x,y);
159 1 LCD_Write_Data(dis_value);
160 1 }
161
162 void LCD_Init(void)
163 {
164 1
165 1 LCD_CSA = 1;
166 1 delay_17us();
167 1 LCD_CSB = 1; //控制器全开
168 1 delay_17us();
169 1 LCD_Write_Command(0x3f); //开显示
170 1 delay_17us();
171 1 LCD_Write_Command(0xc0); //设置起始地址
172 1 delay_17us();
173 1
174 1 }
175
176 /*****************************************************************/
177 /*函数名称: Display_Character.c */
178 /*函数功能: 显示汉字,fb==1:反白显示 */
179 /*函数说明: 具体说明如下:
C51 COMPILER V8.02 TS12864A 05/21/2008 10:52:26 PAGE 4
180 x---------------------------------------------横轴位置
181 y---------------------------------------------纵轴位置
182 n-------------------------------------数据在表中的位置
183 dis_table-----------------------------待显示数据代码表
184 dis_value-----------------------------待显示汉字的代码
185 */
186 /*修改记录: 无修改记录 */
187 /*编写日期: 2007-3-17 */
188 /*****************************************************************/
189 void Display_Character(unsigned char x,unsigned char y,unsigned char n)
190 {
191 1 unsigned char i,dis_value;
192 1 for(i=0;i<16;i++)
193 1 {
194 2 switch(y)
195 2 {
196 3 case 1: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
197 3 Dis_Play(x*8+i,1,dis_value);
198 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
199 3 Dis_Play(x*8+i,2,dis_value);
200 3 break;
201 3 case 3: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
202 3 Dis_Play(x*8+i,3,dis_value);
203 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
204 3 Dis_Play(x*8+i,4,dis_value);
205 3 break;
206 3 case 5: dis_value=dis_table[i+n*32]; //确定显示的值,上半部分
207 3 Dis_Play(x*8+i,5,dis_value);
208 3 dis_value=dis_table[i+n*32+16]; //确定显示的值,上半部分
209 3 Dis_Play(x*8+i,6,dis_value);
210 3 break;
211 3 default:break;
212 3 }
213 2 }
214 1 }
215
216 /*****************************************************************/
217 /*函数名称: Display_Char.c */
218 /*函数功能: 显示字符,fb==1:反白显示 */
219 /*函数说明: 具体说明如下:
220 x---------------------------------------------横轴位置
221 y---------------------------------------------纵轴位置
222 n-------------------------------------数据在表中的位置
223 dis_table-----------------------------待显示数据代码表
224 dis_value-----------------------------待显示汉字的代码
225 */
226 /*修改记录: 无修改记录 */
227 /*编写日期: 2007-3-17 */
228 /*****************************************************************/
229 void Display_Char(unsigned char x,unsigned char y,unsigned char n)
230 {
231 1 unsigned char i,dis_value;
232 1 for (i=0;i<8;i++)
233 1 {
234 2 dis_value=shuzi_table[i+n*16];
235 2 Dis_Play(x*8+i+1,y,dis_value);
236 2 dis_value=shuzi_table[i+n*16+8];
237 2 Dis_Play(x*8+i+1,y+1,dis_value);
238 2 }
239 1 }
240 void Display_Point(unsigned char px,unsigned char py,unsigned char pn)
241 {
C51 COMPILER V8.02 TS12864A 05/21/2008 10:52:26 PAGE 5
242 1 unsigned char i,dis_value;
243 1 for (i=0;i<4;i++)
244 1 {
245 2 dis_value=Point_table[i+pn*8];
246 2 Dis_Play(px*8+i+1,py,dis_value);
247 2 }
248 1 }
249
250
251 /*****************************************************************/
252 /*函数名称: Display_Char.c */
253 /*函数功能: 清除字符 */
254 /*函数说明: 具体说明如下:
255 x---------------------------------------------横轴位置
256 y---------------------------------------------纵轴位置
257 n-------------------------------------清除字符的个数*/
258 /*修改记录: 无修改记录 */
259 /*编写日期: 2007-3-17 */
260 /*****************************************************************/
261
262 void Clear_Area(unsigned char x,unsigned char y,unsigned char n)
263 {
264 1 unsigned char ct=0;
265 1 for(ct=0;ct<n;ct++)
266 1 Display_Char(x+ct,y,64);
267 1 delay_nms(10);
268 1 }
269
270
271 /*****************************************************************/
272 /*函数名称: ten_n.c */
273 /*函数功能: 保留的小数取整 */
274 /*修改记录: 无修改记录 */
275 /*编写日期: 2007-3-17 */
276 /*****************************************************************/
277
278 unsigned int ten_n(unsigned char n)
279 {
280 1 unsigned int k;
281 1 if(n==0) return 1;
282 1 k=ten_n(n-1)*10;
283 1 return( k);
284 1 }
285
286 /*****************************************************************/
287 /* : end : */
288 /*****************************************************************/
289
290 void delay_17us()
291 {
292 1
293 1 unsigned char t=17;
294 1 while(--t)
295 1 {
296 2
297 2 _nop_();
298 2
299 2 }
300 1
301 1 }
302
303
C51 COMPILER V8.02 TS12864A 05/21/2008 10:52:26 PAGE 6
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1053 ----
CONSTANT SIZE = 2376 ----
XDATA SIZE = 1 27
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -