基于PIC单片机19264点阵型液晶显示屏接口设计.docVIP

基于PIC单片机19264点阵型液晶显示屏接口设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PIC单片机19264点阵型液晶显示屏接口设计

基于PIC单片机19264点阵型液晶显示屏接口设计   摘 要:文章以19264点阵液晶显示屏为例,介绍了PIC单片机与19264点阵显示屏的硬件接口电路,并给出了使用C30编写的底层驱动接口程序和部分应用层代码,所给出的接口设计方法对相关点阵屏的使用有一定的借鉴意义。   关键词:19264;单片机;接口技术   前言   单片机应用系统中,显示模块有数码管、1602、12864、19264点阵屏,这些都是最常见s的、可用于电子开发的显示屏。其中19264点阵显示屏功耗低,体积小、显示信息量大,除了能显示字母和数字外,还能显示图片,被广泛的应用于工控领域。文章以19264点阵屏为例,介绍其与PIC单片机的接口技术。对于不带字库的液晶显示屏应用有一定的借鉴作用。   1 硬件接口设计   19264液晶显示屏生产厂家比较多,但是根据通讯方法有SPI,II2C、并行口这几种方式,我们选取并行口YXD-19264显示模块为例,介绍硬件接口电路设计。YXD-19264显示模块是一种图形点阵液晶显示模块,它主要由行驱动器、列驱动器及192×64全点阵液晶显示器组成。可完成线、圆、BMP图片等图形显示,也可以显示12×4个(16×16点阵)汉字,工作温度为-10℃~+55℃,存储温度存储温度为-20℃~+66℃,工作电流约1.3mA(无背光4,无负压)4m(无背光,带负压)底背光电流小于200mA(5.6Ω限流电阻)。   YXD-19264模块接口电路简单,对外只有20个管脚。管脚定义如表1所示。   单片机选用PIC通用系列16 位MCUPIC24FJ256GB110,它有16位数据宽度,24位指令宽度,片内闪存256KB,有多达85个可编程数字I/O,工作40MIPS,工作电压+3.6V-+5V,外围资源非常丰富,非常适用于工控领域。   按照YXD-19264的管脚定义和PIC24FJ256GB110芯片资源,设计的硬件连接如下:   (1)LCD的DB0-DB78位并行数据口接RB0-RB7;(2)LCD的R/W接RB8;(3)LCD的D/I接RB9;(4)LCD的/RST接RB10;(5)LCD的E接RB11;(6)LCD的CS1,CS2分别接RB12,RB13。   2 底层驱动程序接口设计   我们采用MPLAB C30 C编译器,此编译器支持标准C语言编写程序的格式。编写好的程序可读性好,便于移植,易于维护,可靠性高。以下所有程序都是在此平台下编写。   写数据和写命令:YXD19264点阵屏模块内部有一个驱动芯片,为了这个显示屏按照我们的要求正常工作,就必须按照其数据手册要求发送命令和数据。命令可以控制显示屏开关,设置起始行,设置页地址、设置Y地址,读取状态,发送显示数据等内容。命令和数据操作时必须按照时序图严格操作。   写操作时序(图1):   图1   void Write_LCD(BYTE screen, BYTE C_0R_D, BYTE load){   LCD_Check_Busy(screen);if (C_0R_D == CMD)SET_LCD_CMD;elseSET_LCD_DATA;   SET_LCD_WRITE;SET_LCD_E;LCD_DATA_TRIS = OUTPUT_DATA;Nop();   LCD_DATA_O = load;DelayUs(4);CLEAR_LCD_E;};   读取操作时序(图2):   图2   void BYTE Read_LCD(BYTE screen){   BYTE data=0;LCD_Check_Busy(screen);SET_LCD_DATA;LCD_DATA_TRIS=1;Nop();   SET_LCD_READ;SET_LCD_E;Nop();Nop();Nop();Nop();data = LCD_DATA_I;   CLEAR_LCD_E;SET_LCD_WRITE;LCD_Check_Busy(screen);SET_LCD_DATA;   LCD_DATA_TRIS= INPUT_DATA;Nop();SET_LCD_READ;SET_LCD_E;Nop();Nop();Nop();   data=LCD_DATA_I;CLEAR_LCD_E;SET_LCD_WRITE;return data;};   3 应用程序程序设计   3.1 初始化程序   显示模块在使用前都必须按照说明书严格初始化,初始化液晶显示屏有重要的两个步骤:第一步就是复位,复位时间一定要按照数据手册的时间完成,如果复位不完全,可能造成显示有乱码或者不显示的现象。第二步就是按照数据手册以写命令的

您可能关注的文档

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档