12864液晶与单片机接线图和代码.docx
《12864液晶与单片机接线图和代码.docx》由会员分享,可在线阅读,更多相关《12864液晶与单片机接线图和代码.docx(8页珍藏版)》请在冰豆网上搜索。
![12864液晶与单片机接线图和代码.docx](https://file1.bdocx.com/fileroot1/2023-2/1/96b00196-2e9e-4a73-b12b-73e003e0dd9b/96b00196-2e9e-4a73-b12b-73e003e0dd9b1.gif)
12864液晶与单片机接线图和代码
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
//延时子程序模块
//====================================================
voidmdelay(uintdelay)
{uinti;
for(;delay>0;delay--)
{for(i=0;i<80;i++)//1ms延时.
{;}
}
}
//====================================================
voidshow();//液晶显示程序
//=====================================================
//12864液晶显示部分子程序模块
//=====================================================
sbitrs=P2^4;
sbitrw=P2^5;
sbite=P2^6;
#definelcddataP0
sbitbusy=P0^7;//lcdbusybit
voidwr_d_lcd(ucharcontent);
voidwr_i_lcd(ucharcontent);
voidclrram_lcd(void);
voidinit_lcd(void);
voidbusy_lcd(void);
voidrev_row_lcd(ucharrow);
voidrev_co_lcd(ucharrow,ucharcol,ucharmode);
voidclr_lcd(void);
voidwr_co_lcd(ucharrow,ucharcol,ucharlcddata1,ucharlcddtta2);
voidwr_row_lcd(ucharrow,char*p);
//====================================================
//液晶初始化
//====================================================
voidinit_lcd(void)
{
wr_i_lcd(0x06);/*光标的移动方向*/
wr_i_lcd(0x0c);/*开显示,关游标*/
}
//====================================================
//填充液晶DDRAM全为空格
//====================================================
voidclrram_lcd(void)
{
wr_i_lcd(0x30);
wr_i_lcd(0x01);
}
//====================================================
//对液晶写数据
//content为要写入的数据
//====================================================
voidwr_d_lcd(ucharcontent)
{
busy_lcd();
rs=1;
rw=0;
lcddata=content;
e=1;
;
e=0;
}
//====================================================
//对液晶写指令
//content为要写入的指令代码
//====================================================
voidwr_i_lcd(ucharcontent)
{
busy_lcd();
rs=0;
rw=0;
lcddata=content;
e=1;
e=0;
}
//====================================================
//液晶检测忙状态
//在写入之前必须执行
//====================================================
voidbusy_lcd(void)
{
lcddata=0xff;
rs=0;
rw=1;
e=1;
while(busy==1);
e=0;
}
//====================================================
//指定要显示字符的坐标
//====================================================
voidgotoxy(unsignedchary,unsignedcharx)
{
if(y==1)
wr_i_lcd(0x80|x);
if(y==2)
wr_i_lcd(0x90|x);
if(y==3)
wr_i_lcd((0x80|x)+8);
if(y==4)
wr_i_lcd((0x90|x)+8);
}
//====================================================
//液晶显示字符串程序
//====================================================
voidprint(uchar*str)
{
while(*str!
='\0')
{
wr_d_lcd(*str);
str++;
}
}
//====================================================
//液晶显示主程序模块
//====================================================
voidshow()
{
gotoxy(1,0);
print("啸风MCUDIY");
mdelay(200);
gotoxy(2,0);
print("【电子世界】");
mdelay(200);//扫描延时
gotoxy(3,0);
print("WWW.EEPW");
mdelay(200);//扫描延时
gotoxy(4,0);
print("12864液晶测试");
mdelay(200);//扫描延时
}
//====================================================
//主程序
//====================================================
main()
{
init_lcd();
clrram_lcd();
for(;;)
{
show();//液晶显示数据
}
}
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!