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

发布者:Tapir最新更新时间:2020-08-20 来源: 51hei关键字:单片机  LCD12864  字库  显示函数  反白显示 手机看文章 扫描二维码
随时随地手机看文章

本人在使用LCD12864时,用到了JLX12864G-086-pc 也就是带字库的LCD12864屏,采用SPI串口方式,根据厂家提供的标准例程,进行了修改,做成了一个可被调用的独立函数模块,并可对显示的文字进行反白显示,并提供了相应的头文件。


1、将例程提供的P3.0,P3.1,P3.2 接口转换到 P3.4,P3.5,P3.6

2、在调用显示中参数中增加了是否反白显示的参数:0=不反白,1=反白

3、对5X8显示的反白显示,增加了1列显示,消除了字间空白,使字迹更清楚。


单片机源程序如下:

#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

关键字:单片机  LCD12864  字库  显示函数  反白显示 引用地址:单片机LCD12864带字库的可调用显示函数 可反白显示源程序

上一篇:16*64LED点阵时钟(移动+翻页显示)单片机源程序
下一篇:单片机LCD12864G带字库的独立函数,可调用

推荐阅读最新更新时间:2024-11-05 15:44

51单片机实验——模拟三台机器故障检测与指示系统
1.实验题目: 在proteus中模拟实现一个三台机器故障检测与指示系统,如图2所示,当无故障时,LED0 灯亮;当有故障时,LED0 灯灭,1故障(P2.0为0)时,LED1 灯亮,2故障(P2.1为0)时,LED1 灯亮,3 号故障(P2.2为0)时,LED3灯亮。 2.KEIL代码 #include reg51.h sbit LED=P1^0; sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit P20=P2^0; sbit P21=P2^1; sbit P22=P2^2; void INT0_Init() //编写中断初始化函数 { EA=1;//开启中断总
[单片机]
51<font color='red'>单片机</font>实验——模拟三台机器故障检测与指示系统
基于单片机的心肺复苏系统设计
  1 引言   众所周知,在几分钟内及时抢救危重急症、意外伤害导致的突发濒死病人,具有重要意义。采用传统的人工呼吸和胸外按压方法,常常由于按压部位不准、用力方法不对、按压深度掌握不好、按压频率不规律等因素,难以达到理想的效果,甚至造成骨折、气胸、血胸等严重的并发症,同时口对口进行人工呼吸也有可能在病人与救护者间传染疾病。因此,有必要研制抢救迅速、定位准确、按压适度的便携式智能型心肺复苏机。其及时性和准确性可以显著提高救治效果,较好地解决徒手心肺复苏存在的问题。目前国内应用最为广泛的是美国Michigan Instruments 公司的“萨勃”心肺复苏机,国内市场仍然没有国产的便携式心肺复苏机。本文介绍的就是一种以Cygnal单
[单片机]
基于<font color='red'>单片机</font>的心肺复苏系统设计
意法半导体STM32F7微控制器增加新产品线,扩展开发生态系统
中国,2016年10月31日 意法半导体STM32F7系列微控制器推出新产品线,并在开发生态系统中增加附件和选件,从而降低了基于ARM Cortex -M7内核的高性能嵌入式设计的门槛。 STM32F7高性能系列的最新产品STM32F722和STM32F723降低了内存占用量,并集成增值功能,包括代码执行保护和简化互联应用开发的高速USB物理层 (PHY) 电路。STM32F732和STM32F733片上集成密码算法运算功能,例如,高效的AES256硬件引擎。为满足不同的用途和需求,例如,需要大量I/O引脚的项目,新产品线为用户提供多种封装可选,从64引脚LQFP到176引脚LQFP或UFBGA,片上闪存容量256KB或
[嵌入式]
意法半导体STM32F7<font color='red'>微控制器</font>增加新产品线,扩展开发生态系统
瑞萨电子扩充RX130 MCU产品线 提高触控式家电与工业自动化
2018年1月29日,日本东京讯 – 瑞萨电子株式会社(TSE:6723)今日宣布推出38款新型微控制器(MCU),扩充其 RX130系列 产品线。新产品将存储容量提升至256KB, 384KB和512KB, 同时将封装管脚增至100管脚,以提升性能并增强与其触控应用产品RX231/RX230系列的兼容性。超低功耗、低成本的RX130系列产品为触控式家电以及需要3V或5V系统控制与低功耗的楼宇和工业自动化应用提供了更高的灵敏度和性能。新型32位RX130 MCU采用了新型电容式触控IP,支持更高的灵敏度和稳健性,并配备了全面的器件评估环境,非常适合用于具有挑战性的、非传统触控材料设计的设备,或者需要在潮湿或不洁环境中运行的设备,
[半导体设计/制造]
瑞萨电子扩充RX130 <font color='red'>MCU</font>产品线 提高触控式家电与工业自动化
单片机中ICP和ISP有哪些不同?
PS: 1.ICP program and update 2.几个flash相关概念 Flash memory for program memory(FLASH中的用户程序存储器)=APROM Flash memory for loader(FLASH中的程序管理区)=LDROM LDROM是用来装载ISP固件或者说是BOOTLOADER固件的,APROM是用来装载用户的代码文件的。从名字上就可以看出来的,LDROM------LOAD ROM;APROM----APPLICATION ROM 物理地址不同。容量大小不同。应用上可能也就不同。其余没有什么不同。 随便你用。你可以用LDROM
[单片机]
<font color='red'>单片机</font>中ICP和ISP有哪些不同?
基于单片机的FPGA并行配置方法
摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司FLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA进行在线PPA(被动并行异步)配置的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优点,该方法可以广泛地应用于不同领域。 关键词:单片机 PPA FPGA 配置 在当今变化的市场环境中,产品是否便于现场升级、是否便于灵活使用,已成为产品能否进入市场的关键因素。在这种背景下,Altera公司的基于SRAM LUT结构的FPGA器件得到了广泛的应用。这类器件的配置数据存储在SRAM中。由于SRAM的掉电易失性,系统每次上电时,必须重新
[单片机]
51单片机C语言程序(二)定时/计数器 中断
程序一 利用定时/计数器T0从P1.0输出周期为1s的方波, 让发光二极管以1HZ闪烁, #include reg52.h //52单片机头文件 #include intrins.h //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义 sbit P1_0=P1^0; uchar tt; void main() //主函数 { TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;//开总中断 E
[单片机]
意法半导体推出身份证微控制器ST23YR80
意法(ST)半导体推出一款身份证微控制器(MCU)ST23YR80,新产品支持最新的加密技术,片内集成大容量的存储器,用于保存生物测定数据。 ST23YR80提供接触式和非接触式两种接口,兼容最先进的安全智能卡标准,符合国际民航组织(ICAO)的机读旅行证件(MRTD)的要求,支持安全加密电子证明文件,如电子身份证和电子签名。这款产品计划在2009年第一季度前获得通用标准EAL5+ 3.1版认证。 ST23YR80包括一个加密协处理器,支持增强型RSA和椭圆曲线加密(ECC)算法。支持EAC(扩展型访问控制)电子护照操作,包括38 KB的数据,用时不超过3.5秒。 ST23YR80的主要技术优势在于:
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved