標(biāo)題:
LCD1602液晶屏顯示I LOVE YOU
[打印本頁]
作者:
51hei社區(qū)
時間:
2016-1-16 05:34
標(biāo)題:
LCD1602液晶屏顯示I LOVE YOU
#include <reg52.H>
#define uint unsigned int
#define uchar unsigned char
uchar string1[]={"I LOVE YOU"};
uchar string2[]={"FOR EVER! "};
/****delay1ms***/
/*函數(shù)功能:延時1ms
參數(shù):count
返回類型:無
*/
void delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
/***lcd_busy***/
/*函數(shù)功能:判斷p0.7口是否為1,為1則為忙
參數(shù):無
返回類型:p0.7的值
***/
sbit rs = P2^7;
sbit rw = P2^6;
sbit en = P2^5;
uchar lcd_busy(void)
{uchar busy;
rs=0;
rw=1;
en=1;
delay1ms(1);
busy=P0&0x80;
delay1ms(1);
en=0;
return (busy);
}
/**lcd_write***/
/*函數(shù)功能:向LCD中寫數(shù)據(jù)和命令
參數(shù):s=0 時向lcd寫命令
s=1 時向lcd寫數(shù)據(jù)
date 為要向lcd寫入的數(shù)據(jù)
返回類型:無
***/
#define cmd 0
#define dat 1
void lcd_write(uchar s,uchar date)
{while (lcd_busy());
rs=s;
rw=0;
en=1;
delay1ms(1);
P0=date;
delay1ms(1);
en=0;
}
/*****lcd_init****/
/*函數(shù)功能:將lcd進(jìn)行初始化處理
參數(shù):無
返回類型:無
****/
void lcd_init(void)
{lcd_write(cmd,0x38); //設(shè)置16X2顯示,5X7點陣,8位數(shù)據(jù)接口
lcd_write(cmd,0x0c); //開顯示,不顯示光標(biāo),無光標(biāo)閃爍
lcd_write(cmd,0x06); //AC累加,屏幕不移動
lcd_write(cmd,0x01); //清屏
}
/***lcd_XY****/
/***函數(shù)功能:實現(xiàn)位置定位
參數(shù):X Y的值
返回類型:無
***/
void lcd_xy(uchar x,uchar y)
{
if(y==0) //表示在第一行顯示
lcd_write(cmd,0x80|x);
if(y==1) //表示在第二行顯示
lcd_write(cmd,0x80|0x40|x);
}
/**lcd_print***/
/*****函數(shù)功能:顯示LCD數(shù)據(jù)
參數(shù):*string
返回類型:無
***/
void lcd_print(uchar *string) //string 表示要顯示的數(shù)據(jù)
{
while(*string!='\0')
{lcd_write(dat,*string);
string++;
}
}
/***lcd_display()***/
/*函數(shù)功能:顯示
參數(shù):無
返回類型:無
*/
void lcd_display()
{lcd_xy(3,0);
lcd_print(string1);
lcd_xy(4,1);
lcd_print(string2);
}
/****主函數(shù)****/
void main()
{
while(lcd_busy());
lcd_init();
while(1)
{
lcd_display();
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1