lcd12864图形液晶显示器c程序
#define _LCD12864_E
//#include""
#include""
#include<>
sbit lcd_rw=P2^0;
sbit lcd_rs=P2^1;
sbit lcd_cs2=P2^2;
sbit lcd_cs1=P2^3;
sbit lcd_e=P3^0;
sbit lcd_busy=P0^7;
INT8U lcd_page_grobal,lcd_line_grobal;
/** 函数名称:lcd_LScreen()
* 函数功能:选择显示屏的左半屏*/
void lcd_LScreen()
{
lcd_cs2=0;
lcd_cs1=1;
}
/** 函数名称:lcd_RScreen()
* 函数功能:选择显示屏的右半屏*/
void lcd_RScreen()
{
lcd_cs1=0;
lcd_cs2=1;
}
/** 函数名称:lcd_ChkBusy()
* 函数功能:查询忙状态*/
void lcd_ChkBusy()
{
while(lcd_busy)
{
lcd_e=0;
lcd_rs=0;
lcd_rw=1;
P0=0xff;
lcd_e=1;
lcd_e=0;
}
}
/* 函数名称:lcd_WriteCmd()
* 函数功能:写命令
cmd--待写命令*/
void lcd_WriteCmd(const INT8U cmd)
{
lcd_ChkBusy();
lcd_rs=0;
lcd_rw=0;
P0=cmd;
lcd_e=1;
lcd_e=0;
}
/* 函数名称:lcd_WriteData()
* 函数功能:写数据
dat--待写数据*/
void lcd_WriteData(const INT8U dat)
{
lcd_ChkBusy();
lcd_rs=1;
lcd_rw=0;
P0=dat;
lcd_e=1;
lcd_e=0;
}
/* 函数名称:lcd_StartLine()
* 函数功能:设定起始行
line--列号
* 说 明:用户需自己保证行号的有效性*/
void lcd_StartLine(INT8U line)
{
INT8U tmp;
tmp=line;
tmp=tmp|0x40;
lcd_WriteCmd(tmp);
}
/* 函数名称:lcd_StartPage()
* 函数功能:设定起始页
* 入口参数:
page--页号
* 说 明:用户需自己保证页号的有效性*/
void lcd_StartPage(INT8U page)
{
INT8U tmp;
tmp=page;
tmp|=0xb8;
lcd_WriteCmd(tmp);
}
/* 函数名称:lcd_Ready()
* 函数功能:显示屏初始化*/
void lcd_Ready()
{
INT8U i,j;
lcd_LScreen();
lcd_WriteCmd(0x3f); //开显示
l
12864图形液晶显示器c程序 来自淘豆网www.taodocs.com转载请标明出处.