新聞中心

PC2004 LCM驅(qū)動(dòng)

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
#include

/***********************************************************
文件名稱:POWERTIP的PC2004系列字符型LCM模塊的驅(qū)動(dòng)程序
作 者: Free
版 本: v01
說 明: 地址0x80~0xa7,0xc0~0xe7;
第一行:0x80~0x96;第二行:0xc0~0xd6;
第三行:0x97~0xa7;第四行:0xd7~0xe7;
修改記錄:無
***********************************************************/
typedef unsigned char Uchar;
typedef unsigned int Uint;

本文引用地址:http://m.butianyuan.cn/article/201611/316731.htm

#define LCDCmdPort P0
#define LCDDataPort P0
sbit LCD_RS = P2^7;
sbit LCD_E = P2^6;

/* LCD忙檢測(cè)函數(shù) */
void LCDBusy(void)
{
Uchar i;
for(i=0;i<80;i++)
{}
}
/* LCD控制命令函數(shù) */
void LCDCmd(char c)
{
LCDBusy();
LCDCmdPort=c;
LCD_RS=0;
LCD_E=1;
LCD_E=0;
}
/* LCD數(shù)據(jù)輸入函數(shù) */
void LCDData(char d)
{
LCDBusy();
LCDDataPort=d;
LCD_RS=1;
LCD_E=1;
LCD_E=0;
}
/* LCD初始化函數(shù) */
void LCDInit(void)
{
LCD_E=1;
LCD_RS=1;
LCDCmd(0x38); //function set
LCDCmd(0x0c); //display on/off
LCDCmd(0x06); //set entry mode
LCDCmd(0x02); //return home
LCDCmd(0x01); //clear display
}
/* 顯示字符串函數(shù),addr顯示字符串起始地址 */
void LCDStr(Uchar addr,Uchar *s)
{
idata int d=0;
LCDCmd(addr); //顯示地址//
while (s[d]!=0x00)
LCDData(s[d++]); // char of LCM //
}
/*p為字符串或數(shù)組首地址,len為字符串個(gè)數(shù),該數(shù)組應(yīng)是≤4*20的二維數(shù)組或≤80的一維數(shù)組*/
void LCDSz(Uchar *p,Uchar len)
{
Uchar i;
LCDCmd(0x80); //顯示地址//
while(*p!=0x00)
{for(i=0;i {LCDData(*p++);}
break;
}
}



關(guān)鍵詞: PC2004LCM驅(qū)

評(píng)論


技術(shù)專區(qū)

關(guān)閉