资源简介
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版
相关资源
- 51单片机多机通讯程序及仿真
- 三种方法将51单片机设置为115200波特率
- 甲醛检测仪设计
- zw_STM32F1012864液晶字库.zip
- 基于单片机的步进电机控制 毕业设计
- 51单片机实现交通灯压缩文件.rar
- 风速风向的设计 风速风向的设计 运用
- 基于51单片机的温湿度控制程序
- 基于51单片机的智能电子秤设计-程序
- 基于51单片机的GPS全球定位系统的设计
- 基于51单片机的万年历设计-完整程序
- 基于51单片机的脉搏测量仪设计-完整
- 温度检测及控制系统的设计(毕业设
- 如何基于STM32系列单片机实现加密保护
- 超声波测距仪温度补偿
- 基于单片机的LED彩灯控制器
- 基于单片机的汽车尾灯控制器设计.
- 电子-基于战舰版RC522IIC.rar
- 电子-STM32硬件I2CMaster接口函数V1.01.z
- 单片机与DSP中的利用8279实现显示扫描
- 实用的单片机在线式UPS电路图
- 基于MC9S12XS128的电磁智能小车的硬件设
- 单片机如何通过ADC模块采集模拟信号
- 基于MCS-51单片机的智能 时钟控制系统
- mega16单片机科学计算器程序(带有加
- 冷库单片机控制系统设计
- IAR EW430软件的安装
- 基于51单片机DS1302四位数码管可调时钟
- 蜂鸣片的逆向应用——检测振动和噪
- 基于MSP430单片机的开关稳压电源设计
评论
共有 条评论