单片机 怎调用显示屏字库_单片机LCD12864带字库的可调用显示函数 可反白显示源程序...

本文档介绍了如何在单片机中使用LCD12864显示屏,特别是带字库的显示功能。提供了包括初始化、清屏、显示点阵图像、显示汉字、ASCII字符在内的多种函数,同时详细阐述了如何调用这些函数进行16x16、8x16和5x8点阵的显示,并支持反白显示效果。代码中包含了SPI接口的字库IC操作,以及与液晶模块的交互细节。
摘要由CSDN通过智能技术生成

#ifndef __JLX1286486PC_H_

#define __JLX1286486PC_H_

/**********************************

JLX12864G-086S-PC 使用SPI串口,通信,带字库,共12脚

1 ROM_IN 字库 IC 接口 SI 串行数据输入

2 ROM_OUT 字库 IC 接口 SO 串行数据输出

3 ROM_SCK 字库 IC 接口 SCLK 串行时钟输入

4 ROM_CS 字库 IC 接口 CS# 片选输入

5 LEDA 背光电源 背光电源正极,同 VDD 电压(5V 或 3.3V)

6 VSS 接地 0V

7 VDD 电路电源 5V,或 3.3V 可选

8 SCLK I/O 串行时钟

9 SDA I/O 串行数据

10 RS 寄存器选择信号 H:数据寄存器 0:指令寄存器(IC 资料上所写为”A0”)

11 RESET 复位 低电平复位,复位完成后,回到高电平,液晶模块开始工作

12 CS 片选 低电平片选

*********************************/

/**********************************

包含头文件

**********************************/

#include

#include

//---重定义关键词---//

#ifndef uchar

#define uchar unsigned char

#endif

#ifndef uint

#define uint unsigned int

#endif

#ifndef ulong

#define ulong unsigned long

#endif

/**********************************

PIN口定义

**********************************/

sbit lcd_sclk =P3^6; //示例中 =P3^2;接口定义:lcd_sclk 就是 LCD 的 SCLK

sbit lcd_sid  =P3^5; //示例中 =P3^1;接口定义:lcd_sid 就是 LCD 的 SDA

sbit lcd_rs   =P3^4; //示例中 =P3^0;接口定义:lcd_rs 就是 LCD 的 RS,也叫“CD”

sbit lcd_reset=P1^0; //接口定义:lcd_reset就是LCD的RESET

sbit lcd_cs1  =P1^1; //接口定义:lcd_cs1就是LCD的CS1

sbit Rom_IN =P1^2;   //字库IC接口定义:Rom_IN就是字库IC的SI

sbit Rom_OUT=P1^3;   //字库IC接口定义:Rom_OUT就是字库IC的SO

sbit Rom_SCK=P1^4;   //字库IC接口定义:Rom_SCK就是字库IC的SCK

sbit Rom_CS =P1^5;   //字库IC接口定义Rom_CS就是字库IC的CS#

/**********************************+

函数声明

**********************************/

//延时

void lcddelay(int n_ms);

//短延时

void lcddelay_us(int n_us) ;

//写指令到LCD模块

void transfer_command_lcd(int data1);

//写数据到LCD模块

void transfer_data_lcd(int data1);

//LCD模块初始化

void initial_lcd();

void lcd_address(uint page,uint column);

//全屏清屏

void clear_screen();

//显示128x64点阵图像

void display_128x64(uchar *dp);

//显示16x16点阵图像、汉字、生僻字或16x16点阵的其他图标

void display_graphic_16x16(uchar page,uchar column,uchar *dp);

//显示8x16点阵图像、ASCII, 或8x16点阵的自造字符、其他图标

void display_graphic_8x16(uchar page,uchar column,uchar *dp);

//显示5X8点阵图像、ASCII, 或5x8点阵的自造字符、其他图标

void display_graphic_5x8(uchar page,uchar column,uchar *dp);

//送指令到晶联讯字库IC

void send_command_to_ROM( uchar datu );

//从晶联讯字库IC中取汉字或字符数据(1个字节)

static uchar get_data_from_ROM( );

//从指定地址读出数据写到液晶屏指定(page,column)座标中, uchar fb 指定是否反白显示

void get_and_write_16x16(ulong fontaddr,uchar page,uchar column,uchar fb);

//从指定地址读出数据写到液晶屏指定(page,column)座标中 uchar fb 指定是否反白显示

void get_and_write_8x16(ulong fontaddr,uchar page,uchar column,uchar fb);

//从指定地址读出数据写到液晶屏指定(page,column)座标中 uchar fb 指定是否反白显示

void get_and_write_5x8(ulong fontaddr,uchar page,uchar column,uchar fb) ;

//uchar fb 指定是否反白显示

void display_GB2312_string(uchar page,uchar column,uchar *text,uchar fb);

//uchar fb 指定是否反白显示

void display_string_5x8(uchar page,uchar column,uchar *text,uchar fb);

#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值