1602液晶显示通用模块
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Str++;
}
}
//----------------------------------------------------
//----------------------------------------------------
以上代码有详细备注,能看懂就能用
分享希望对电子爱好者入门学习有帮助
**带入参数:**数据**
**带出参数:**无**
**其他备注:**写一个字节**
**作者:**江锟**
**时间:**2016.4.23**
************************************************/
void Lcd_WriteData(unsiΒιβλιοθήκη Baiduned char Data)
{
while(Test_Busy());
RS=0;
RW=0;
E=0;
_nop_();
_nop_();
Lcd_Bus=Cmd;
E=1;
_nop_();
_nop_();
E=0;
}
//--------------------------------------------------
/************************************************
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_WriteStr(unsigned char *Str)
{
while(*Str!='\0')
{
Lcd_WriteData(*Str);
extern void Lcd_WriteStr(unsigned char *Str1); //写一串字符串函数,外部可以调用。
#endif
头文件代码LCD.H文件
/******************************************************************
Lcd_WriteCmd(0x38);//初始化5x7点阵
Lcd_WriteCmd(0x38);//初始化5x7点阵
Lcd_WriteCmd(0x38);//初始化5x7点阵
_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
Lcd_WriteCmd(0x38);//初始化5x7点阵
//--------------------------------------------------
/************************************************
**函数功能:**测试液晶忙标志**
**带入参数:**无**
**带出参数:**忙标志位**
**其他备注:**忙为1,空闲为0**
E=1;
_nop_();
Busy=Lcd_Bus&0x80;
E=0;
return Busy;
}
//--------------------------------------------------
/************************************************
**函数功能:**写数据到液晶**
#define _LCD_H_
#include<reg52.h>
#include<intrins.h>
#define Lcd_BusP0//宏定义,用在其它单片机这里是可以改的
sbit RS=P1^5;//位定义,用在其它开发板是可以改的
sbit RW=P1^4;//位定义,用在其它开发板是可以改的
{
while(Test_Busy());
RS=1;
RW=0;
E=0;
_nop_();
_nop_();
Lcd_Bus=Data;
E=1;
_nop_();
_nop_();
E=0;
}
//--------------------------------------------------
/************************************************
**函数功能:**让1602液晶显示字符串常量**
**带入参数:**要显示的位置,以及相应字符常量**
**带出参数:**无**
**其他备注:**只能显示字符串或数字不能显示汉字**
**作者:**江锟**
**时间:**2016.4.24**
******************************************************************/
Lcd_WriteCmd(0x0c);//开显示(无游标、不反白)
//Lcd_WriteCmd(0x0f);//0x0c开显示,0x0f开显示且显示光标,0xof开显示显示光标还闪烁。
Lcd_WriteCmd(0x01);// 0X01清除显示,并且设定地址指针为00H,0X02指针地址为00H.
Lcd_WriteCmd(0x06);//指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位0X06指针加一右移,0x04指针减1左移0x07光标不动,整屏左移,0x05光标不动,整屏右移.光标不动,屏幕整体移动
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
unsigned char Test_Busy(void)
{
unsigned char Busy;
Lcd_Bus=0xff;
RS=0;
RW=1;
**函数功能:**写命令到液晶**
**带入参数:**命令**
**带出参数:**无**
**其他备注:**写一个字节**
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_WriteCmd(unsigned char Cmd)
sbit E=P1^3;//位定义,用在其它开发板是可以改的
extern void Lcd_Init(void);// LCD初始化函数,外部可以调用。
extern void Lcd_WriteData(unsigned char Data);//写入一个数据
extern void Lcd_WriteCmd(unsigned char Cmd); //写命令的的函数,外部可以调用。
**函数功能:**初始化液晶**
**带入参数:**无**
**带出参数:**无**
**其他备注:**无**
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_Init(void)
{
//---------------------------------------------------
#include "lcd.h"
//--------------------------------------------------
unsigned char Test_Busy(void);//测试液晶是否空闲,空闲才能写入命令或数据
这个模块适合51单片机使用,此程序只适合学习研究应用,不能应用商用
一个硬件模块里面包含两个文件:
1、LCD.H文件,定义管脚,函数的功能。
2、LCD.C文件函数的功能的实现。
应用只需看懂头文件,做了详细的配注。此程序配合的原理图
用的单片机
LCD对用的接口
#ifndef _LCD_H_//1602液晶显示
}
//--------------------------------------------------
/************************************************
**函数功能:**写字串函数**
**带入参数:**字串或者字符数组**
**带出参数:**无**
**其他备注:**无**
}
}
//----------------------------------------------------
//----------------------------------------------------
以上代码有详细备注,能看懂就能用
分享希望对电子爱好者入门学习有帮助
**带入参数:**数据**
**带出参数:**无**
**其他备注:**写一个字节**
**作者:**江锟**
**时间:**2016.4.23**
************************************************/
void Lcd_WriteData(unsiΒιβλιοθήκη Baiduned char Data)
{
while(Test_Busy());
RS=0;
RW=0;
E=0;
_nop_();
_nop_();
Lcd_Bus=Cmd;
E=1;
_nop_();
_nop_();
E=0;
}
//--------------------------------------------------
/************************************************
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_WriteStr(unsigned char *Str)
{
while(*Str!='\0')
{
Lcd_WriteData(*Str);
extern void Lcd_WriteStr(unsigned char *Str1); //写一串字符串函数,外部可以调用。
#endif
头文件代码LCD.H文件
/******************************************************************
Lcd_WriteCmd(0x38);//初始化5x7点阵
Lcd_WriteCmd(0x38);//初始化5x7点阵
Lcd_WriteCmd(0x38);//初始化5x7点阵
_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
Lcd_WriteCmd(0x38);//初始化5x7点阵
//--------------------------------------------------
/************************************************
**函数功能:**测试液晶忙标志**
**带入参数:**无**
**带出参数:**忙标志位**
**其他备注:**忙为1,空闲为0**
E=1;
_nop_();
Busy=Lcd_Bus&0x80;
E=0;
return Busy;
}
//--------------------------------------------------
/************************************************
**函数功能:**写数据到液晶**
#define _LCD_H_
#include<reg52.h>
#include<intrins.h>
#define Lcd_BusP0//宏定义,用在其它单片机这里是可以改的
sbit RS=P1^5;//位定义,用在其它开发板是可以改的
sbit RW=P1^4;//位定义,用在其它开发板是可以改的
{
while(Test_Busy());
RS=1;
RW=0;
E=0;
_nop_();
_nop_();
Lcd_Bus=Data;
E=1;
_nop_();
_nop_();
E=0;
}
//--------------------------------------------------
/************************************************
**函数功能:**让1602液晶显示字符串常量**
**带入参数:**要显示的位置,以及相应字符常量**
**带出参数:**无**
**其他备注:**只能显示字符串或数字不能显示汉字**
**作者:**江锟**
**时间:**2016.4.24**
******************************************************************/
Lcd_WriteCmd(0x0c);//开显示(无游标、不反白)
//Lcd_WriteCmd(0x0f);//0x0c开显示,0x0f开显示且显示光标,0xof开显示显示光标还闪烁。
Lcd_WriteCmd(0x01);// 0X01清除显示,并且设定地址指针为00H,0X02指针地址为00H.
Lcd_WriteCmd(0x06);//指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位0X06指针加一右移,0x04指针减1左移0x07光标不动,整屏左移,0x05光标不动,整屏右移.光标不动,屏幕整体移动
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
unsigned char Test_Busy(void)
{
unsigned char Busy;
Lcd_Bus=0xff;
RS=0;
RW=1;
**函数功能:**写命令到液晶**
**带入参数:**命令**
**带出参数:**无**
**其他备注:**写一个字节**
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_WriteCmd(unsigned char Cmd)
sbit E=P1^3;//位定义,用在其它开发板是可以改的
extern void Lcd_Init(void);// LCD初始化函数,外部可以调用。
extern void Lcd_WriteData(unsigned char Data);//写入一个数据
extern void Lcd_WriteCmd(unsigned char Cmd); //写命令的的函数,外部可以调用。
**函数功能:**初始化液晶**
**带入参数:**无**
**带出参数:**无**
**其他备注:**无**
**作者:**江锟**
**时间:**2016.4.24**
************************************************/
void Lcd_Init(void)
{
//---------------------------------------------------
#include "lcd.h"
//--------------------------------------------------
unsigned char Test_Busy(void);//测试液晶是否空闲,空闲才能写入命令或数据
这个模块适合51单片机使用,此程序只适合学习研究应用,不能应用商用
一个硬件模块里面包含两个文件:
1、LCD.H文件,定义管脚,函数的功能。
2、LCD.C文件函数的功能的实现。
应用只需看懂头文件,做了详细的配注。此程序配合的原理图
用的单片机
LCD对用的接口
#ifndef _LCD_H_//1602液晶显示
}
//--------------------------------------------------
/************************************************
**函数功能:**写字串函数**
**带入参数:**字串或者字符数组**
**带出参数:**无**
**其他备注:**无**