LCD1602(51单片机)头文件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自制51单片机常用头文件(LCD1602)

/*--------------------------------------------------------------------------

LCD1602.H

The user function is C51.

Copyright (c) 1988-2004 Keil Elektronik GmbH sum zhaojun

All rights reserved.

--------------------------------------------------------------------------*/

#ifndef __LCD1602_H__

#define __LCD1602_H__

/*连接线图:

---------------------------------------------------

| LCM-----51 | LCM-----51|LCM------51 |

| ----------------------------------------------- |

| DB0-----P0.0 | DB4-----P0.4 | RS-------P2.0 |

| DB1-----P0.1 | DB5-----P0.5 | RW-------P2.1 |

| DB2-----P0.2 | DB6-----P0.6 | E--------P2.2 |

| DB3-----P0.3 | DB7-----P0.7 | VLCD接1K电阻到GND |

---------------------------------------------------*/

/****************** LCD1602指令***********************************/

//输入方式设置

#define LCD_AC_AUTO_INCREMENT 0x06 // 数据读、写操作后,AC自动增一#define LCD_AC_AUTO_DECREASE 0x04 // 数据读、写操作后,AC自动减一#define LCD_MOVE_ENABLE 0x05 // 数据读、写操作,画面平移

#define LCD_MOVE_DISENABLE 0x04 // 数据读、写操作,画面不动

#define LCD_GO_HOME 0x02 // AC=0,光标、画面回HOME位

//设置显示、光标及闪烁开、关

#define LCD_DISPLA Y_ON 0x0C // 显示开

#define LCD_DISPLA Y_OFF 0x08 // 显示关

#define LCD_CURSOR_ON 0x0A// 光标显示

#define LCD_CURSOR_OFF 0x08 // 光标不显示

#define LCD_CURSOR_BLINK_ON 0x09 // 光标闪烁

#define LCD_CURSOR_BLINK_OFF 0x08 // 光标不闪烁

//光标、画面移动,不影响DDRAM

#define LCD_LEFT_MOVE 0x18 // LCD显示左移一位

#define LCD_RIGHT_MOVE 0x1C // LCD显示右移一位

#define LCD_CURSOR_LEFT_MOVE 0x10 // 光标左移一位

#define LCD_CURSOR_RIGHT_MOVE 0x14 // 光标右移一位

//工作方式设置

#define LCD_DISPLA Y_DOUBLE_LINE 0x38 // 两行显示

#define LCD_DISPLA Y_SINGLE_LINE 0x30 // 单行显示

#define LCD_CLEAR_SCREEN 0x01 // 清屏

/***********************LCD1602地址相关******************************/

#define LINE1_HEAD 0x80 // 第一行DDRAM起始地址

#define LINE2_HEAD 0xc0 // 第二行DDRAM起始地址

#define LINE1 0 // 第一行

#define LINE2 1 // 第二行

#define LINE_LENGTH 8 // 每行的最大字符长度

/***********************LCD1602接线引脚定义**************************/

#define LCM_RS P2_0 // 数据/命令选择信号

#define LCM_RW P2_1 // 读/写选择信号

#define LCM_E P2_2 // 使能信号

#define LCM_Data P0 // 显示数据端口

#define Busy 0x80 // 用于检测LCM状态字中的Busy标识

#define uchar unsigned char

#define uint unsigned int

//================================ LCM1602控制部分=========================================================

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

函数名:void Delay_LCD(void)

功能:5ms延时

说明:LCD显示延时

入口参数:无

返回值:无

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

void Delay_LCD(void)

相关文档
最新文档