欢迎来到天天文库
浏览记录
ID:40526671
大小:33.50 KB
页数:4页
时间:2019-08-04
《51单片机12864液晶显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//本程序使用带中文字库的液晶显示器LCD12864#include#include//定义引脚连接#defineLCD_DATAP0//数据口sbitRS=P3^5;//并行的指令/数据选择信号,H数据,L命令sbitRW=P3^6;//并行读写选择信号,H读,L写sbitE=P3^4;//并行使能端,H有效,L无效sbitPSB=P3^7;//串并行选择端,H选择并行,L选择串行sbitff=P1^7;//忙碌标志//待显示的内容unsignedcharcodeTab1[]={"机会总是留给
2、准备"};unsignedcharcodeTab2[]={"梅州搜搜网"};unsignedcharcodeTab3[]={"211工作室"};unsignedcharcodeTab4[]={"TEL:07532114432"};//延时子程序voidDelay1mS(unsignedinttt)//延时tt毫秒{unsignedchari;while(tt--)for(i=113;i>0;i--);;}bitCheckBusy()//读BF标志位,检查LCD是否就绪{RS=0;_nop_();RW=1;_nop_();E=1;_no
3、p_();if(LCD_DATA&0x80)return1;elsereturn0;}voidWait()//等待LCD就绪{while(CheckBusy()==1)ff=0;ff=1;}/*unsignedcharRead_Data()//读数据{Wait();RS=1;RW=1;E=1;_nop_();returnLCD_DATA;}*/Write_Data(unsignedchardat)//写一个字节数据{Wait();RS=1;RW=0;E=1;_nop_();LCD_DATA=dat;E=0;_nop_();}Write
4、_Command(unsignedchardat)//写命令{Wait();RS=0;RW=0;E=1;_nop_();LCD_DATA=dat;E=0;_nop_();}Write_String(unsignedchar*p)//写字符串{charcnt=0;while(*(p+cnt)!=' '){Write_Data(*(p+cnt));cnt++;}}voidLCD_Init()//LCD初始化{Write_Command(0x30);//基本指令,扩充指令为34HDelay1mS(1);Write_Command(0x0c
5、);//显示开,关光标.开光标0X0EDelay1mS(1);Write_Command(0x01);//清屏Delay1mS(1);}voidSet_Position(unsignedcharx,unsignedchary)//设置待显示的位置{unsignedcharp;switch(x%4){case0:p=0x80;break;//第一行开始地址case1:p=0x90;break;//第二行case2:p=0x88;break;//第三行case3:p=0x98;break;//第四行}p+=y;Write_Command(
6、p);}main(){PSB=1;//并行LCD_Init();Set_Position(0,0);Write_String(Tab1);Set_Position(1,0);Write_String(Tab2);Set_Position(2,0);Write_String(Tab3);Set_Position(3,0);Write_String(Tab4);while(1);}
此文档下载收益归作者所有