液晶屏(带字库)51单片机3线串口驱动程序.doc

液晶屏(带字库)51单片机3线串口驱动程序.doc

ID:49755409

大小:33.00 KB

页数:11页

时间:2020-03-04

液晶屏(带字库)51单片机3线串口驱动程序.doc_第1页
液晶屏(带字库)51单片机3线串口驱动程序.doc_第2页
液晶屏(带字库)51单片机3线串口驱动程序.doc_第3页
液晶屏(带字库)51单片机3线串口驱动程序.doc_第4页
液晶屏(带字库)51单片机3线串口驱动程序.doc_第5页
资源描述:

《液晶屏(带字库)51单片机3线串口驱动程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.#includetypedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguitn32;sbitCS=P1^0;//片选信号引脚sbitSDA=P1^1;//数据线sbitSCK=P1^2;//串行时钟线//sbitRST=P1^3;//复位引脚//sbitPSB=P1^4;//串并控制引脚codeuint8strint1[]="ILoveYou!";/*voiddelay5ms(void)//误差0us{unsignedchara,b;for(b=185;b>0;b--)for(a

2、=12;a>0;a--);}*///发送一个字节voidSend_Byte(uint8dat){Word资料.uint8i;SCK=0;for(i=0;i<8;i++){SDA=dat&0x80;SCK=1;dat<<=1;SCK=0;}}//读取一个字节数据uint8Read_Byte(void){uint8i;uint16byte=0;SCK=0;for(i=0;i<16;i++){byte<<=1;SCK=1;if(SDA)byte

3、=0x0001;SCK=0;}Word资料.byte=((byte>>4)

4、(byte>>8))&0x00ff;return((uint8)(b

5、yte));}//读忙标志voidRead_Busy(void){uint8temp;CS=1;do{Send_Byte(0xfc);//发送读命令temp=Read_Byte();//读取数据}while(temp&0x80);CS=0;}//发送命令voidWrite_Cmd(uint8cmd){uint8temph=0;uint8templ=0;//制作发送命令格式Word资料.temph=cmd&0xf0;templ=(cmd&0x0f)<<4;Read_Busy();CS=1;Send_Byte(0XF8);//发送命令命令//发送命令Send_Byte(temph);S

6、end_Byte(templ);CS=0;}//发送数据voidWrite_Dat(uint8dat){uint8temph=0;uint8templ=0;//制作发送数据格式temph=dat&0xf0;templ=(dat&0x0f)<<4;Read_Busy();Word资料.CS=1;Send_Byte(0XFA);//发送数据命令Send_Byte(temph);//发送数据Send_Byte(templ);CS=0;}//在指定位置显示半字宽字符voidDis_HCGROM(uint8x,uint8y,uint8dat){uint8addr;switch(y){case

7、0:addr=0x80+x;break;case1:addr=0x90+x;break;case2:addr=0x88+x;break;case3:addr=0x98+x;break;default:break;}Write_Cmd(addr);Write_Dat(dat);}Word资料.//指定位置显示字符串voidDis_String(uint8x,uint8y,uint8len,uint8*dat){uint8addr,i;switch(y){case0:addr=0x80+x;break;case1:addr=0x90+x;break;case2:addr=0x88+x;

8、break;case3:addr=0x98+x;break;default:break;}Write_Cmd(addr);for(i=0;i

9、te_Cmd(addr);Write_Dat(dat/100%10+'0');Write_Dat(dat/10%10+'0');Write_Dat(dat/1%10+'0');}//制定位置显示16位无符号数字voidDis_UNum16(uint8x,uint8y,uint8dat){uint8addr;switch(y){case0:addr=0x80+x;break;case1:addr=0x90+x;break;case2:addr=0x88+x;break;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。