实用电路设计.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.7 字符液晶显示控制 ? 基于 DE2-70 平台用 FPGA 控制字符液晶实 现字符的显示。字符液晶由液晶显示器和专 用的行、列驱动器、控制器及必要的连接件 装配而成,可显示数字和英文字符。字符液 晶本身具有字符发生器,显示容量大,功能 丰富,一般最少可显示 1 行 8 个或 l 行 16 个字 符,每个字符由 5 × 7 、 5 × 8 或 5 × 11 的一 组像素点阵排列构成,字符间有一定的间隔, 行与行间也有一定的间隔。 用状态机实现字符显示控制 ? H1602B 液晶模块的读 / 写操作、屏幕和光标的操 作都是通过指令编程来实现的,为了方便控制,采 用状态机实现设计。在设计中设置 8 个状态,分别 是起始状态 CLEAR ,设置 CGRAM 状态 SETCGRAM ,工作方式设置状态 SETFUNCTION ,显示方式设置状态 SWITCHMODE ,输入方式设置状态 SETMODE ,光标归位状态 RETURNCURSOR , 字符移位状态 SHIFT ,写 RAM 状态 WRITERAM ,状态编码采用 One-Hot 方式。 9.8 VGA 图像显示控制器设计 VGA 显示器采用光栅扫描方式,即轰击荧光屏的电子束 在 CRT 显示器上从左到右、从上到下做有规律的移动,其 水平移动受水平同步信号 HSYNC 控制,垂直移动受垂直同 步信号 VSYNC 控制。扫描方式一般分为逐行扫描和隔行扫 描,这里采用逐行扫描。完成一行扫描的时间称为水平扫 描时间,其倒数称为行频率,完成一帧(整屏)扫描的时 间称为垂直扫描时间,其倒数称为场频,又称刷新率。 VGA 工业标准要求的时钟频率如下: 时钟频率( Clock frequency ) 25.175MHz (像素输出 的频率) 行频( Line frequency ) 31469Hz 场频( Field frequency ) 59.94Hz VGA 行扫描时序 VGA 场扫描时序 VGA 时序 行扫描时序要求(单位:像素,即输出一个像素 Pixel 的时间间隔) 场扫描时序要求(单位:行,即输出一行 Line 的时间间隔) 场同步头 场图像 场周期 对应位置 V_Tf V_Ta V_Tb V_Tc V_Td V_Te V_Tg 时间( Lines ) 2 2 25 8 480 8 525 行同步头 行图像 行周期 对应位置 H_Tf H_Ta H_Tb H_Tc H_Td H_Te H_Tg 时间( Pixels ) 8 96 40 8 640 8 800 VGA 图像显示控制器设计 VGA 图像显示控制器结构框图 本例显示的图像选择标准图像 LENA ,如图 9.32 所示, 图像的尺寸为 128 × 128 点,格式为 .bmp 文件, R , G , B 三基色信号分别用 5 bit , 6 bit , 5 bit 来表示的 LENA 图像的显示效果,与用 真彩显示的图像效果比较 , 直观感受没有很大的区别。图像数据由自己编写 Matlab 程序得到,具体如例 9.17 所示,该程序从 lena.bmp 图 像中得到 R , G , B 三基色数据并将数据写入 ROM 存储 器的 *.mif 文件中(本例中为 lena16.mif ) 。 R , G , B 三基色信号分别采用 5 bit , 6 bit , 5 bit 表示的 LENA 图像 9.9 点阵式液晶显示控制 GDM12864 的结构及指令 GDM12864A 原理简图 第 9 章 Verilog 设计进阶 9.1 加法器设计 ◆ 级连加法器 ◆ 数据流描述的加法器 ◆ 超前进位加法器 ◆ 流水线加法器 ( 1 )级连加法器 a[0] b[0] cin sum[0] 1 位 全加器 a[1] b[1] cin[1] 1 位 全加器 a[7] b[7] cin[7] 1 位 全加器 sum[1] sum[7] a[2] b[2] cin[2] 1 位 全加器 sum[2] cout module add_jl(sum,cout,a,b,cin); input[7:0] a,b; input cin; output[7:0] sum; output cout; full_add1 f0(a[0],b[0],cin,sum[0],cin1); full_add1 f

文档评论(0)

jinzhuang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档