根据给定的文件信息,我们可以总结出以下关于“液晶屏12864程序”的相关知识点: ### 一、程序概述 此程序是为飞思卡尔(Freescale)XS128单片机设计的,用于驱动12864液晶显示屏。该程序已经通过了编译,并且在目标硬件平台上成功运行,可以正常显示信息。 ### 二、程序结构与功能 #### 1. 头文件包含 程序首先包含了两个头文件:`<hidef.h>` 和 `<MC9S12XS128.h>`。`<hidef.h>` 文件包含了通用定义和宏定义,而 `<MC9S12XS128.h>` 文件则包含了针对 MC9S12XS128 微控制器的相关信息。 #### 2. 宏定义 程序中定义了多个宏来指定液晶屏的控制信号端口: - `RSPORTA_PA7`: 数据/命令选择信号 (RS) 连接到 PORTA 的 PA7 引脚。 - `RWPORTA_PA6`: 读写信号 (RW) 连接到 PORTA 的 PA6 引脚。 - `EPORTA_PA5`: 使能信号 (E) 连接到 PORTA 的 PA5 引脚。 - `PSBPORTA_PA4`: 功能设置信号 (PSB) 连接到 PORTA 的 PA4 引脚。 - `RSTPORTA_PA0`: 复位信号 (RST) 连接到 PORTA 的 PA0 引脚。 #### 3. 显示内容定义 定义了四个字符数组 `dis1`、`dis2`、`dis3` 和 `dis4` 来存储待显示的信息: - `dis1[]={"ǰ¹⣬"};` —— 显示 "ǰ¹⣬"。 - `dis2[]={"ǵ˪"};` —— 显示 "ǵ˪"。 - `dis3[]={"ͷ£"};` —— 显示 "ͷ£"。 - `dis4[]={"ͷ˼硣"};` —— 显示 "ͷ˼硣"。 #### 4. 延时函数 `delay()` 该函数实现了简单的延时操作,用于确保对液晶屏的操作能够正确执行。参数 `cnt` 表示延时的毫秒数。 #### 5. 写命令函数 `write_cmd()` 该函数用于向液晶屏发送控制命令,以进行初始化或其他配置操作。参数 `cmd` 是要发送的命令字节。 #### 6. 写数据函数 `write_dat()` 该函数用于向液晶屏发送显示数据。参数 `dat` 是要发送的数据字节。 #### 7. 设置显示位置函数 `lcd_pos()` 该函数用于设置当前的显示位置。参数 `X` 和 `Y` 分别表示行号和列号。函数内部通过计算确定液晶屏的内存地址,并发送相应的命令。 #### 8. 初始化函数 `lcd_init()` 该函数用于初始化液晶屏,包括设置其工作模式等。具体操作包括: - 设置功能设置信号 (`PSB`) 为高电平。 - 发送命令 `0x30`,用于设置显示模式。 - 发送命令 `0x0c`,用于开启显示并关闭光标。 - 发送命令 `0x01`,用于清屏。 #### 9. 主函数 `main()` 主函数中设置了端口方向,并调用 `lcd_init()` 函数初始化液晶屏。接着按照预先定义的字符串内容依次显示到液晶屏的不同行上,并加入一定的延时。 ### 三、程序特点 1. **简洁实用**:该程序结构清晰,易于理解和维护。 2. **针对性强**:专为飞思卡尔 XS128 单片机设计,适配特定硬件环境。 3. **可扩展性**:可以通过修改字符串内容或添加新的显示逻辑来实现更复杂的功能。 这是一个典型的用于驱动12864液晶屏的程序示例,适合初学者学习和参考。
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
#define RS PORTA_PA7
#define RW PORTA_PA6
#define E PORTA_PA5
#define PSB PORTA_PA4
#define RST PORTA_PA0
unsigned char dis1[]={"床前明月光,"}; //一个汉字相当于两个字符
unsigned char dis2[]={"疑是地上霜。"};
unsigned char dis3[]={"举头望明月,"};
unsigned char dis4[]={"低头思故乡。"};
/*******************延时1ms*cnt程序**********************/
void delay(int cnt)
{
int t1,t2;
for(t1=0;t1<cnt;t1++)
{
t2 = 5000;
while(t2--);
}
}
/*******************写命令函数**********************/
void write_cmd(unsigned char cmd)
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助