st7920驱动的12964液晶显示步骤

st7920驱动的12964液晶显示步骤

ID:15554700

大小:703.00 KB

页数:17页

时间:2018-08-04

st7920驱动的12964液晶显示步骤_第1页
st7920驱动的12964液晶显示步骤_第2页
st7920驱动的12964液晶显示步骤_第3页
st7920驱动的12964液晶显示步骤_第4页
st7920驱动的12964液晶显示步骤_第5页
资源描述:

《st7920驱动的12964液晶显示步骤》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、写液晶程序的步骤:1、先认真看12864液晶的技术资料(不要放过每一个字,每一个字都很关键)2、特别是指令说明,时序图,时序参数这是至关重要的一点。3、开始写程序了,说白了液晶是另一种芯片,只是现在用单片机来驱动它吧了。来驱动12864液晶显示,首先要初始化(就是在驱动12864液晶前做好准备工作就相当于,启动单片机定时器一样做好初始化准备工作)1,当模块在接受指令前,微处理必须先确认模块内部处于非忙碌状态,即读取BF的标志,当BF为0方可接受新的指令。初始化过程:延时几MS,1,voidinit_lcd(void)//这是初始化子程序1、{2、rst=1;//

2、3、psb=0;//串口驱动;PSB=1,并口驱动4、Write_Cmd(,0x30);/*30---基本指令动作,写扩充功能指令*/5、Write_Cmd(,0x01);/*清屏,地址指针指向00H*/6、delay(100);7、Write_Cmd(0x06);8、/*光标的移动方向,进入点设定,I/D=1光标右移,S=1文字移动有效*/9、Write_Cmd(0x0c);/*开显示,关游标*/0x0f就是开显示,开游标10、}11、写指令过程:看到时序图可知,当RS=0时,R/W=0时,且在E=1时再变为E=0的下降沿把准备好的指令码送给12864液晶芯片

3、12、voidWrite_Cmd(unsignedcharCmd)写指令子程序13、{14、Check_Busy();//BF是否等于0,因为等于1时是写不进去的,直等到为015、RS=0;16、RW=0;17、E=1;18、DataPort=Cmd;//这就把以准备的指令数送进去了19、DelayUs2x(5);20、E=0;21、DelayUs2x(5);22、}23、写数据过程:看到上面的时序图可知,只有当RS=1时,R/W=0时,E=1到0时才能把数据写进去。24、voidWrite_Data(unsignedcharData)写数据子程序25、{26、

4、Check_Busy();//这个就是检查BF是否有空的子程序,一般延时一点时间就可以了不用一至检查的27、RS=1;28、RW=0;29、E=1;1、DataPort=Data;//这就把以要写的数据送进去了2、DelayUs2x(5);3、E=0;4、DelayUs2x(5);5、}数据写进去就是你要显示的东西,,例如你要显示汉字。看一显示汉字子程序吧voidchn_disp(ucharcode*chn)6、{7、uchari,j;8、Write_Cmd(0x30);//这是写指令让显示做好准备9、Write_Cmd(0x80);//这是数据写进去要让字显示

5、的开始的地方,这是起始地址10、for(j=0;j<4;j++)11、{12、for(i=0;i<16;i++)13、Write_Data(chn[j*16+i]);14、}15、}16、ucharcodetab[]={//这是显示的东西17、"成都电子高专技术"18、"WWW.CEC.EDU.CN"19、};20、看你下12864的显示地址方配方式St7920驱动是分上半屏和下半屏驱动的,起始地址是这样的,上半屏X方向0x80-0x87和0x90-97,Y方向是从0x80-0x9f;下半屏X方向0x88-0x8f和0x98-0x9f,Y方向的一样0x80-0x

6、9f注意:显示汉字和显示图象是不一样的。显示图象的步骤1,先关绘图显示.2把水平元组的地址写到RAM中,在Y方向的元组地址写到RAM中。3将图片数据全写到RAM中。4开启绘图显示。所以显示汉字和显示图片不好混显。液晶显示它们是有记忆功能的,如果不清屏它是一至显示原来的。但图片显示的地方不能盖住汉字显的地方。也就是说如果上面有汉字,只要不清屏,接着显示图片汉字还是看的到,可是图片就显示的不完整,汉字把图片盖住了。所以显示几张图片显完后显示下的的必须清屏。但这样我们可以在汉字空格的地方显示图片那样不就做到了汉字和图片混显示了吗?现在来做一个简单的汉字和图片的混显的程

7、序吧。我们上半屏显汉字,下半屏显图片voidchn_disp1(ucharcode*chn)//汉字显示在上半屏字程序{uchari,j;Write_Cmd(0x30);//基本指令Write_Cmd(0x80);//汉字一行显示起始地址j=0;for(i=0;i<16;i++)Write_Data(chn[j*16+i]);Write_Cmd(0x90);//汉字二行显示起始地址j=1;for(i=0;i<16;i++)Write_Data(chn[j*16+i]);}voidimg_disp1(ucharcode*img)//在下半屏显示的图片字程序{uch

8、ari,j;for(j=

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

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

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