?? 1602.lst
字號:
C51 COMPILER V9.01 1602 07/19/2012 20:38:49 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN 1602.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 1602.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "1602.h"
2
3 void lcd_delay(unsigned char count)
4 {
5 1 while(count--);
6 1 }
7
8 void delay()
9 {
10 1 unsigned char i = 0;
11 1 unsigned char j = 0;
12 1 for(i=0; i<200; i++)
13 1 for(j=0; j<10; j++);
14 1 }
15
16 void lcd_init()
17 {
18 1 lcd_writeOrder(0x38); //設置顯示模式
19 1 lcd_writeOrder(0x0f); //顯示開關
20 1 lcd_writeOrder(0x06);
21 1 lcd_writeOrder(0x01); //清屏
22 1 delay();
23 1 }
24
25 void lcd_writeOrder(unsigned char order)
26 {
27 1 lcdrs = 0;
28 1 lcdrw = 0;
29 1 lcddata = order;
30 1 lcd_delay(5);
31 1 lcden = 1;
32 1 lcd_delay(10);
33 1 lcden = 0;
34 1 }
35
36 void lcd_writeData(char date)
37 {
38 1 lcdrs = 1;
39 1 lcdrw = 0;
40 1 lcddata = date;
41 1 lcd_delay(5);
42 1 lcden = 1;
43 1 lcd_delay(10);
44 1 lcden = 0;
45 1 }
46
47 /*******************************
48 * 函數功能:
49 * 參數:
50 * 返回值:
51 ********************************/
52 char lcd_setpos(char x, char y)
53 {
54 1 if((x<0) || (x>15))
55 1 {
C51 COMPILER V9.01 1602 07/19/2012 20:38:49 PAGE 2
56 2 return -1;
57 2 }
58 1 if((y<0) || (y>1))
59 1 {
60 2 return -1;
61 2 }
62 1 if(y == 0)
63 1 {
64 2 lcd_writeOrder(0x80 + x);
65 2 }
66 1 if(y == 1)
67 1 {
68 2 lcd_writeOrder(0x80 + 0x40 + x);
69 2 }
70 1 return 1;
71 1 }
72
73 char lcd_printf(char *str)
74 {
75 1 if(*str == '\0')
76 1 {
77 2 return -1;
78 2 }
79 1 while(*str != '\0')
80 1 {
81 2 lcd_writeData(*str++);
82 2 }
83 1 return 1;
84 1 }
85
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 182 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -