欢迎来到天天文库
浏览记录
ID:45095015
大小:36.50 KB
页数:10页
时间:2019-11-09
《51单片机 12864液晶显示程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/*========================LCD12864液晶并行驱动程序==========================程序名称:12864液晶驱动程序(并行模式)============================================================================*/#include#defineucharunsignedchar#defineuintunsignedintuchart,p;/********
2、************************引脚定义***********************************/#defineRSP1_0//RS=0为执行指令;RS=1为执行数据;#defineRWP1_1//读写#defineEP1_2//使能#definePSBP1_3//低电平(串口驱动);高电平(并口驱动)#defineRSTP1_4//LCD复位/********************************定义数组**************************
3、*********/ucharcodetitle[]={"LCD并行接口测试"};ucharcodewebsite[]={"qwertyuioopplkjh"};ucharcodedig[]={"0123456789"};ucharcodedig2[]={0,1,2,3,':'};///*******************************相关子程序**********************************/voidInit_lcd();//初始化液晶voidlcd_busy()
4、;//忙标志查询voiddelay100us();//100us延时程序voidwrite(ucharx,ucharData);//写单字节函数voidShow(ucharaddress,ucharL,ucharSTR1[]);voidShow_dig(ucharaddress,uintnumber);/*******************************延时子程序**********************************/voiddelay100(intn){unsigned
5、chari;while(n--)for(i=0;i<100;i++);}/*******************************LCD忙标志查询******************************/voidlcd_busy(void){ucharbusy;P0=0xff;RS=0;RW=1;do{E=1;busy=P0;E=0;}while(busy>0x7f);}/*****************************写指令或数据***********************
6、***********/voidwrite(ucharx,ucharData){lcd_busy();//忙查询if(x==0){RS=0;RW=0;//写单字节命令字}elseif(x==1){RS=1;RW=0;//写单字节数据}E=1;P0=Data;E=0;P0=0xff;}/*******************************初始化LCD**********************************/voidInit_lcd(void){delay100(20);//启动
7、等待,等LCM讲入工作状态PSB=1;//并口驱动模式RST=0;delay100(4);RST=1;//复位LCDwrite(0,0x30);//8位介面,基本指令集write(0,0x0c);//显示打开,光标关,反白关write(0,0x01);//清屏,将DDRAM的地址计数器归零}/*******汉字和字符显示,参数入口:Show(地址,显示宽度,汉字数组)************/voidShow(ucharaddress,ucharL,ucharSTR1[]){uchari;writ
8、e(0,address);for(i=0;i
此文档下载收益归作者所有