📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 03/14/2007 10:41:56 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.H>
2 #include <lcd.h>
3
4 char code int2charLCD[]="0123456789";
5
6 void write_LCD_command(unsigned command)
7 {
8 1 rw=WRITE;
9 1 rs=COMMAND; //写入指令寄存器
10 1 enable=ENABLE;
11 1 P1=command;
12 1 delay100us(20);
13 1 enable=DISABLE;
14 1 rw=1;
15 1 }
16 void write_LCD_data(unsigned LCDdata)
17 {
18 1 rw=WRITE;
19 1 rs=DATA;//选择数据寄存器
20 1 enable=ENABLE;
21 1 P1=LCDdata;
22 1 delay100us(20);
23 1 enable=DISABLE;
24 1 rw=1;
25 1 }
26 void init_LCD(void)
27 {
28 1 write_LCD_command(TwoLine_8bit);// 0x38,数据以8位方式传送和接收,双行显示
29 1 write_LCD_command(CURSOR_OFF); // 0x0C,显示屏关闭,光标出现
30 1 write_LCD_command(CURSOR_RIGHT);// 0x06,显示屏不移动,每次读入数据后,地址加1,光标右移一位
31 1 }
32 void clear_LCD()
33 {
34 1 write_LCD_command(CLEAR);//清除显示器
35 1 write_LCD_command(CURSOR_HOME);//光标移到左上角
36 1 }
37 void display_LCD_string(char *p) //显示字符串
38 {
39 1 while(*p)
40 1 {
41 2 write_LCD_data(*p);
42 2 p++;
43 2 }
44 1 }
45 void display_LCD_number(char number) //显示一个数字
46 {
47 1 unsigned char x;
48 1 x=number;
49 1 // y=number-10*x;
50 1 write_LCD_data(int2charLCD[x]);
51 1 // write_LCD_data(int2charLCD[y]);
52 1 }
53 void gotoxy(unsigned x,unsigned y) //设置光标到第Y行第X个字的位置
54 {
55 1 if(x==1)
C51 COMPILER V8.02 LCD 03/14/2007 10:41:56 PAGE 2
56 1 write_LCD_command(GOTO_LINE_1+y);
57 1 else
58 1 write_LCD_command(GOTO_LINE_2+y);
59 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 156 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
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 + -