📄 lcd1602.lst
字号:
C51 COMPILER V7.50 LCD1602 06/02/2008 20:59:10 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD1602.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*---------------------------------------------------------------------
2 LCD1602.C文件 LCD1602的函数
3 作者:Computer-lov 创建日期:2004.11.12 最后修改日期:2004.11.12
4 版本:1.0
5 ----------------------------------------------------------------------*/
6 #include "at89x52.h"
7 #include "MyType.h"
8 #include "lcd1602.h"
9
10 #define LCD_EN P1_2
11 #define LCD_RS P1_0
12 #define LCD_RW P1_1
13 #define LCD_BUSY P0_7
14 #define LCD_DATA P0
15
16 #ifdef LCD
17
18 void LcdCheckBusy(void) //检测LCD状态,看它是不是还在忙呢
19 {
20 1 while(1)
21 1 {
22 2 LCD_EN=0;
23 2 LCD_RS=0;
24 2 LCD_RW=1;
25 2 LCD_DATA=0xFF;
26 2 LCD_EN=1;
27 2 if(!LCD_BUSY)break;
28 2 }
29 1 LCD_EN=0;
30 1 }
31
32 void LcdCls(void) //LCD清屏
33 {
34 1 EA=0;
35 1 LcdCheckBusy();
36 1 LCD_RS=0;
37 1 LCD_RW=0;
38 1 LCD_EN=1;
39 1 LCD_DATA=1;
40 1 LCD_EN=0;
41 1 EA=1;
42 1 }
43
44 void LcdWriteInstruction(uint8 LcdInstruction) //写指令到LCD
45 {
46 1 EA=0;
47 1 LcdCheckBusy();
48 1 LCD_RS=0;
49 1 LCD_RW=0;
50 1 LCD_EN=1;
51 1 LCD_DATA=LcdInstruction;
52 1 LCD_EN=0;
53 1 EA=1;
54 1 }
55
C51 COMPILER V7.50 LCD1602 06/02/2008 20:59:10 PAGE 2
56 void LcdWriteData(uint8 LcdData) //输出一个字节数据到LCD
57 {
58 1 EA=0;
59 1 LcdCheckBusy();
60 1 LCD_RS=1;
61 1 LCD_RW=0;
62 1 LCD_EN=1;
63 1 LCD_DATA=LcdData;
64 1 LCD_EN=0;
65 1 EA=1;
66 1 }
67
68 void LcdSetPosition(uint8 x) //LCD光标定位到x处
69 {
70 1 LcdWriteInstruction(0x80+x);
71 1 }
72
73 /*void LcdGoHome(void) //LCD光标归位
74 {
75 LcdWriteInstruction(LCD_GO_HOME);
76 }*/
77 /*
78 void LcdPrintc(uint8 LcdData) //输出一个字符到LCD
79 {
80 LcdWriteData(LcdData);
81 }*/
82
83 void LcdPrints(uint8 *LcdString) //输出一个字符串到LCD
84 {
85 1 uint8 i=0;
86 1 while(LcdString[i]!=0x00)
87 1 {
88 2 LcdWriteData(LcdString[i]);
89 2 i++;
90 2 }
91 1 }
92
93 void LcdInit(void) //初始化LCD
94 {
95 1 LcdWriteInstruction(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE);
96 1 LcdWriteInstruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF);
97 1 LcdWriteInstruction(LCD_DISPLAY_DOUBLE_LINE);
98 1 LcdSetPosition(0);
99 1 LcdCls();
100 1 }
101
102 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 134 ----
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 + -