📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 03/21/2008 17:56:54 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************************************
2 * 文 件 名:test1.c
3 * 功 能:LCM12864液晶模块驱动。
4 * 硬件条件:1.CPU型号:AT89S52
5 * 2.晶振:12.000MHz
6 * 4.LCM12864与AT89S52的连接如下:
7 *
8 * LCM12864 AT89S52 备 注
9 * ==================================================================================
10 * RS P2.7 0:写指令或读状态; 1:数据操作
11 * R/W P2.6 0:进行写操作; 1:进行读操作
12 * E P2.5 读写脉冲:在E下降沿,数据被锁存(写)入KS0108
13 * 在E高电平期间,数据被读出。
14 * DB0 P0.0 数据线0
15 * DB1 P0.1 数据线1
16 * DB2 P0.2 数据线2
17 * DB3 P0.3 数据线3
18 * DB4 P0.4 数据线4
19 * DB5 P0.5 数据线5
20 * DB6 P0.6 数据线6
21 * DB7 P0.7 数据线7
22 * CS1 P2.4 高电平选通,选中左半屏。
23 * CS2 P2.3 高电平选通,选中右半屏。
24 * RESET P2.2 低电平有效,复位信号有效时,关闭液晶显示,使显示
25 * 起始行为0,该引脚可与MCU相连,由MCU控制;也可以
26 * 直接接VDD,使之不起作用。
27 * ==================================================================================
28 *
29 *
30 * 说 明:用户可根据实际情况,改变上述的连接关系。默认背景灯常开,必要的话可加电路
31 * 实现控制点亮。
32 * 作 者:韩泉城
33 *********************************************************************************************/
34 #include "reg52.h" // 包含头文件
35
36 /* 与编译器无关的数据类型定义 */
37 /********************************************************************************************/
38 typedef unsigned char uint8; // 无符号8位整型变量
39 typedef signed char int8; // 有符号8位整型变量
40 typedef unsigned short uint16; // 无符号16位整型变量
41 typedef signed short int16; // 有符号16位整型变量
42 typedef unsigned int uint32; // 无符号32位整型变量
43 typedef signed int int32; // 有符号32位整型变量
44 typedef float fp32; // 单精度浮点数(32位长度)
45 typedef double fp64; // 双精度浮点数(64位长度)
46 /********************************************************************************************/
47
48
49
50 #define LCM12864_DB7_DB0 P0 // 定义LCM12864的数据总线
51
52 /* 定义位变量 */
53 sbit LCM12864_RS = P2 ^ 7; // 定义LCM12864的RS控制线
54 sbit LCM12864_RW = P2 ^ 6; // 定义LCM12864的RW控制线
55 sbit LCM12864_E = P2 ^ 5; // 定义LCM12864的E控制线
C51 COMPILER V7.50 TEXT1 03/21/2008 17:56:54 PAGE 2
56 sbit LCM12864_CS1 = P2 ^ 4; // 定义LCM12864的CS1控制线
57 sbit LCM12864_CS2 = P2 ^ 3; // 定义LCM12864的CS2控制线
58 sbit LCM12864_RESET = P2 ^ 2; // 定义LCM12864的RESET控制线
59
60 /* 定义LCM12864的命令字 */
61 #define LCM12864_DISP_ON 0x3f // 打开LCM12864显示
62 #define LCM12864_DISP_OFF 0x3e // 关闭LCM12864显示
63 #define LCM12864_START_ROW 0xc0 // 显示起始行0,可以用LCM12864_START_ROW+x设置起始行。(x
-<64)
64 #define LCM12864_PAGE_START_ADDR 0xb8 // 页起始地址,可以用LCM12864_PAGE_START_ADDR+x设置当前
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -