- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带字库12864超详细扩展操作,写自定义字符,画图,画直线,画圆,读取数据等操作
在此指出,这一篇文章出至网络上zhaoshan413之手,感谢他的无私贡献,让大家轻松玩转带字库12864!~~
[p=30, 2, left]之前说学完12864字库液晶后和大家交流一下心得,一直没有时间,今天整理一下发上来,希望对想学习的朋友能有点帮助…首先说明一点,本人也是初学者,自感水平不高,若有不足及不对之处,望情指正…以下以并行口传输为例,别的还不会,呵呵![/p][p=30, 2, left]先传一下ST7920的芯片说明书:[/p][p=30, 2, left]/bbs/redirect.php?tid=7676goto=lastpost#lastpost[/p][p=30, 2, left]
ST7920(字库)12864.pdf(2010-12-01 10:46:58, Size: 1.65 MB, Downloads: 1689)
[/p][p=30, 2, left]一、首先说一下关于驱动函数的书写,这些是液晶显示的基础? ?? ? 一般包括四个函数:? ?? ?1、写命令函数;? ?? ?2、写数据函数;? ?? ?3、读状态函数;? ?? ?4、读数据函数;? ?? ?这四个函数并不是必须全部写的,具体要看你实现的功能,如果只是单纯的显示汉字和字符,写命令、写数据、读状态这三个函数就够了,如过你还需要进行一些绘图的操作,那读数据函数也必须书写。? ?? ?另外关于读状态函数,其实也就是用于判忙操作,我看郭天祥的书里面是这样说的:原则上每次对控制器进行读写操作之前,都必须进行读写检测,由于单片机的操作速度慢于液晶控制器的反应速度,因此可不进行读写检测,或者只进行简短的延时即可。因此,读状态函数也可以不写,只用简短的延时函数替换即可。1、写操作的编写:首先看一下时序图[/p][p=30, 2, left]
时序.JPG
[/p][p=30, 2, left]由图可见操作很简单:1RS=1(写数据操作);或者RS=0(写命令操作);2RW=0;//指明为写操作3E=1;4DB=data;//data为你要写入的命令或数据值5E=0;[/p][p=30, 2, left]以下是我的驱动函数,仅供参考:[/p][p=30, 2, left]
CODE:
/********************************液晶端口定义**************************/#define??lcd_data? ?P0? ?? ?? ? //数据口 sbit??RS? ? = P2^4;? ?? ?? ?? ? //选择寄存器(并行) 0:指令寄存器 1:数据寄存器;sbit??RW? ? = P2^5;? ?? ?? ?? ? //读写控制脚(并行) 0:写入 1:读出sbit??E? ???= P2^6;? ?? ?? ?? ? //读写数据启始脚(并行)sbit??PSB? ?= P2^1;? ?? ?? ?? ? //串并方式选择引脚,0为串行模式,1为8/4位数据口模式sbit??RST? ?= P2^3;? ?? ?? ?? ? //复位引脚//********************************************************//延时函数//********************************************************void delay(unsigned int k){??? ?? ?unsigned int i;? ?? ?unsigned char j;? ?? ?for(i=0;ik;i++)? ?? ?{? ?? ?? ???for(j=0;j10;j++);? ?? ? }}//********************************************************//延时1ms函数//********************************************************void delay_ms(unsigned int k)//延时0.994us,晶振12M{? ? unsigned int x,y;? ? for(x=k;x0;x--)? ?? ?? ?for(y=121;y0;y--);} //********************************************************//写命令函数//********************************************************void LcdWcom
文档评论(0)