📄 1602lcd.lst
字号:
C51 COMPILER V7.20 1602LCD 03/19/2006 13:22:42 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE 1602LCD
OBJECT MODULE PLACED IN 1602lcd.OBJ
COMPILER INVOKED BY: g:\Keil\C51\BIN\C51.EXE 1602lcd.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /* 描述: GXM12232E *
2 * 【图形点阵液晶模块/Graphic LCM Series】 显示演示程序
- *
3 * 在第一行显示 Welcome to Mars! *
4 *
5 * *
6 ********************************************************************************
7 * 【声明】 此程序仅用于学习与参信息!
8 *******************************************************************************/
9
10
11 #include <reg51.h>
12 #include <intrins.h>
13
14 typedef unsigned char BYTE;
15 typedef unsigned int WORD;
16 typedef bit BOOL ;
17
18 sbit rs = P2^7; //
19 sbit rw = P2^6;
20 sbit ep = P2^5;
21
22 BYTE code dis1[] = {"Welcome to Mars!"};
23
24
25 delay(BYTE ms)
26 { // 延时子程序
27 1 BYTE i;
28 1 while(ms--)
29 1 {
30 2 for(i = 0; i< 250; i++)
31 2 {
32 3 _nop_();
33 3 _nop_();
34 3 _nop_();
35 3 _nop_();
36 3 }
37 2 }
38 1 }
39
40 BOOL lcd_bz()
41 { // 测试LCD忙碌状态
42 1 // BOOL result;
43 1 // rs = 0;
44 1 // rw = 1;
45 1 // P0 = 0x0FF;
46 1 // ep = 1;
47 1 // result = (BOOL)(P0 & 0x80);
48 1 // ep = 0;
49 1 // return result;
50 1 delay(2);
51 1 return 1;
52 1 }
53
54 lcd_wcmd(BYTE cmd)
C51 COMPILER V7.20 1602LCD 03/19/2006 13:22:42 PAGE 2
55 { // 写入指令数据到LCD
56 1 while(lcd_bz());
57 1 rs = 0;
58 1 rw = 0;
59 1 ep = 0;
60 1 _nop_();
61 1 _nop_();
62 1 ep = 1;
63 1 P0 = cmd;
64 1 delay(2);
65 1 ep = 0;
66 1 }
67
68 lcd_pos(BYTE pos)
69 { //设定显示位置
70 1 lcd_wcmd(pos | 0x80);
71 1 }
72
73 lcd_wdat(BYTE dat)
74 { //写入字符显示数据到LCD
75 1 while(lcd_bz());
76 1 rs = 1;
77 1 rw = 0;
78 1 ep = 0;
79 1 _nop_();
80 1 _nop_();
81 1 ep = 1;
82 1 P0 = dat;
83 1 delay(1);
84 1 ep = 0;
85 1 }
86
87 lcd_init()
88 {
89 1 delay(50); //LCD初始化设
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -