📄 lcd1602.lst
字号:
C51 COMPILER V7.06 LCD1602 03/02/2006 23:49:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD1602.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /******************************************************************
2 本程序只供学习使用,未经作者许可,不得用于其它任何用途
3 我的邮箱:computer-lov@tom.com
4 欢迎访问我的blog: http://computer00.21ic.org
5
6 LCD1602.C文件 LCD1602的函数
7
8 Created by Computer-lov
9 Date: 2004.11.12
10
11 Edit date:2006.3.2
12
13 Version V1.0
14 Copyright(C) Computer-lov 2004-2014
15 All rigths reserved
16 *******************************************************************/
17
18
19 #include "hardware.h"
20 #include "lcd1602.h"
21
22 void LCD_check_busy(void) //检测LCD状态,看它是不是还在忙呢
23 {
24 1 while(1)
25 1 {
26 2 LCD_EN=0;
27 2 LCD_RS=0;
28 2 LCD_RW=1;
29 2 LCD_DATA=0xff;
30 2 LCD_EN=1;
31 2 if(!LCD_BUSY)break;
32 2 }
33 1 LCD_EN=0;
34 1 }
35
36 void LCD_cls(void) //LCD清屏
37 {
38 1 ET2=0;
39 1 LCD_check_busy();
40 1 LCD_RS=0;
41 1 LCD_RW=0;
42 1 LCD_EN=1;
43 1 LCD_DATA=1;
44 1 LCD_EN=0;
45 1 ET2=1;
46 1 }
47
48 void LCD_write_instruction(unsigned char LCD_instruction) //写指令到LCD
49 {
50 1 ET2=0;
51 1 LCD_check_busy();
52 1 LCD_RS=0;
53 1 LCD_RW=0;
54 1 LCD_EN=1;
55 1 LCD_DATA=LCD_instruction;
C51 COMPILER V7.06 LCD1602 03/02/2006 23:49:39 PAGE 2
56 1 LCD_EN=0;
57 1 ET2=1;
58 1 }
59
60 void LCD_write_data(unsigned char LCD_data) //输出一个字节数据到LCD
61 {
62 1 ET2=0;
63 1 LCD_check_busy();
64 1 LCD_RS=1;
65 1 LCD_RW=0;
66 1 LCD_EN=1;
67 1 LCD_DATA=LCD_data;
68 1 LCD_EN=0;
69 1 ET2=1;
70 1 }
71
72 void LCD_set_position(unsigned char x) //LCD光标定位到x处
73 {
74 1 LCD_write_instruction(0x80+x);
75 1 }
76
77 /*
78 void LCD_go_home(void) //LCD光标归位
79 {
80 LCD_write_instruction(LCD_GO_HOME);
81 }
82 */
83
84 void LCD_printc(unsigned char lcd_data) //输出一个字符到LCD
85 {
86 1 LCD_write_data(lcd_data);
87 1 }
88
89 void LCD_prints(unsigned char *lcd_string) //输出一个字符串到LCD
90 {
91 1 unsigned char i=0;
92 1 while(lcd_string[i]!=0x00)
93 1 {
94 2 LCD_write_data(lcd_string[i]);
95 2 i++;
96 2 }
97 1 }
98
99 void LCD_initial(void) //初始化LCD
100 {
101 1 LCD_write_instruction(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE);
102 1 LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF);
103 1 LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE);
104 1 LCD_cls();
105 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 132 ----
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 + -