资源简介
LCD1602液晶显示函数,包括头文件的规范写法和相关函数。仅供参考,欢迎交流

代码片段和文件信息
/************************************************************
* 描述:1602字符型液晶显示器驱动文件
* 作者:吴义鹏(wuyipengnuaa@163.com)
* 日期:2010年9月2日
************************************************************/
/************************************************************
* 描述:头文件声明
************************************************************/
#include
#include
#include“LCD1602.h“ //自定义的1602显示器头文件,在本工程内编译
/************************************************************
* 描述:LCD初始化函数 (有特定的顺序)
************************************************************/
void LCD_Initial()
{
LCD_DelayTime(15); //延时15ms
LCD_Write(LCD_Command 0x38); //设置显示模式,8位数据端口2行显示5*7点阵
LCD_DelayTime(5); //延时5ms
LCD_Write(LCD_Command 0x38);
LCD_DelayTime(5); //延时5ms
LCD_Write(LCD_Command 0x38);
LCD_DelayTime(4); //检测忙信号(Proteus仿真用)
//void LCD_BusyCheck(); //检测忙信号(实际硬件电路用)
LCD_Write(LCD_Command 0x38); //设置显示模式,确保初始化成功
LCD_DelayTime(4);
//void LCD_BusyCheck();
LCD_Write(LCD_Command LCD_CLOSE); //关闭显示
LCD_DelayTime(4);
//void LCD_BusyCheck();
LCD_Write(LCD_Command LCD_CLEAR_SCREEN); //清屏
LCD_DelayTime(4);
//void LCD_BusyCheck();
LCD_Write(LCD_Command LCD_SHOW_ON | LCD_CURSOR_OFF);
//开显示,无光标,当然就无闪烁啦
}
/************************************************************
* 描述:LCD写数据或指令函数
* 说明:bRS表示选择写入指令还是数据
************************************************************/
void LCD_Write(bit bRS unsigned char ucPort)
{
LCDEn = 0; //模块使能端置0
LCDRS = bRS; //选择指令输入还是命令输入
LCDRW = 0; //读写寄存器选择,0表示写
_nop_(); //空操作,给硬件反映时间
DBPort = ucPort; //指令(数据)送入输出端口(单片机P0口)
_nop_();
_nop_();
LCDEn = 1; //模块使能端置1,产生高脉冲,指令(数据)写入LCD
_nop_();
_nop_();
_nop_();
LCDEn = 0; //模块使能端置0
_nop_();
//void LCD_BusyCheck(); //检测忙信号(实际硬件电路用)
LCD_DelayTime(3); //检测忙信号(Proteus仿真用)
}
/************************************************************
* 描述:显示字符定位
* 说明:在16*2的坐标上确定位置
************************************************************/
void LCD_CoordinateXY(unsigned char X unsigned char Y)
{
if(Y == 0) //数据在第一行显示
{
LCD_Write(LCD_Command 0x80 | X);
}
else if(Y == 1) //数据在第二行显示
{
LCD_Write(LCD_Command 0x80 | (X+0x40));
}
else //main函数中,坐标地址写错则在这报错
{
LCD_Write(LCD_Command 0x80);
LCD_Printf(“Error XY!“);
}
}
/************************************************************
* 描述:字符串输出函数
* 说明:在LCD上显示字符串或数字
************************************************************/
void LCD_Printf(unsigned char *ucStr)
{
while(*ucStr != ‘\0‘) //当字符串没有结束时,做
{
LCD_Write(LCD_Data *ucStr); //LCD写入数据(字符)
ucSt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4174 2010-09-06 14:44 1602液晶显示的C51函数(原创)\LCD1602.c
文件 1566 2010-09-06 14:40 1602液晶显示的C51函数(原创)\LCD1602.h
目录 0 2010-09-07 21:28 1602液晶显示的C51函数(原创)
----------- --------- ---------- ----- ----
5740 3
- 上一篇:24V2A开关电源原理图和PCB
- 下一篇:TexLive指南-2017版
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- [免费]msp430f149控制PS2键盘并用1602显示
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- 【单片机】51单片机数码管显示万年历
- vhdl与lcd1602实现的多控制电子钟
- RA8806液晶驱动程序
评论
共有 条评论