设为首页 加入收藏

TOP

基于basys2驱动LCDQC12864B的verilog设计图片显示(一)
2017-10-10 12:20:02 】 浏览:679
Tags:基于 basys2 驱动 LCDQC12864B verilog 设计图片 显示

  话不多说先上图

 

前言

       在做这个实验的时候在网上找了许多资料,都是关于使用单片机驱动LCD显示,确实用单片机驱动是要简单不少,记得在FPGA学习交流群里问问题的时候,被前辈指教,说给我最好的指教便是别在玩这个了,多看看关于FPGA方面的书籍,比做这个单片机做的东西价值强多了。现在想来确实,自从学习FPGA以来,看过的书没有多少,只是想做个什么了,就在网上找找例程,照抄下来,把算法推理一遍,下个板子实现了,便以为自己会了懂了,要是自己在写一个便问题百出。那么菜鸟始终是菜鸟。自己根本没有掌握FPGA的设计思想和优势,用着FPGA做着单片机的东西,这种东西练练手就足够了,所以,做完这个实验LCD就到此为止了,我也要好好想想该如何进行下面的学习了。在这个上面我还是花费了不少时间,所以写一篇博文总结记录想,回头看的时候,以警醒自己。

摘要                                                                 

         做完这个实验我最大的感触是一定要会读数据手册。拿到元件(LCD12864),上面有16个的引脚,先要搞清楚每个引脚的功能,这时候就一定要会读数据手册。我个qc12864b的中文手册琢磨了很久才看懂了一些简单的操作指令,包括在手册上要提取出来,元件的驱动时序,扫描时钟,引脚定义,操作指令,功能描述等。

LCD显示原理

扫描时钟

      

  从手册上可以读出,qc12864b(这是我所使用LCD12864的型号)的扫描时钟介于470—590khz之间,最适为530khz,为了方便分频,所以取500khz。

 

引脚说明

  VSS        电源地,0v ­——接开发板GND就行

  VDD      电源正极(5v,3.3v)

  VO        液晶显示偏压,调整对比度

  RS         RS=1时,当mpu进行读模块操作,指向地址寄存器

          当mpu进行写模块操作,指向指令寄存器

               RS=0时,无论进行读/写操作,都指向数据寄存器

  R/W             高电平读操作,低电平写操作

  E           使能信号,高电平读取信息,下降沿执行命令

  DB0      数据总线第0位

  DB1      数据总线第1位

  DB2      数据总线第2位

  DB3      数据总线第3位

  DB4      数据总线第4位

  DB5      数据总线第5位

  DB6      数据总线第6位

  DB7      数据总线第7位

  PSB      串并控制端口,H为并行,L为串行,直接接5v

  RST       液晶复位端口,低电平有效

  A           背光正极输入,调整电压大小可以调整亮度

  K           背光负极输入,一般直接接地

指令说明

       具体指令说明,这里就不一一列出,可查阅qc12864b中文数据手册,我在阅读这一部分的时候耗费了很长时间,这些指令是驱动LCD显示文字与图片的核心,所以必须要掌握。

并口显示时序

 

Verilog实现方案

  从时序图可以看出在使能信号的一个周期内可以完成写入数据操作,扫描时钟与使能信号周期相同即可。

状态转移图

  状态机初始化位置          IDLE                            lcd_data = 8’hzz

  功能设计                          SETFUNCTION            lcd_data = 8’h36//扩充指令绘图显示

  显示设置      

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于Test--Pattern Generator IP.. 下一篇基于Vivado调用ROM IP core设计DDS

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目