网站大量收购闲置独家精品文档,联系QQ:2885784924

pld与数字系统设计实验报告.docVIP

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

PLD与数字系统设计实验报告 A组实验四:数字密码锁 1 实验要求 使用Xilinx公司的Spartan3S?400AN开发板上的相关模块,利用ISE开发软件完成数字密码锁的设计,要求实现如下功能: 利用实验板上的4×3小键盘,设计4位密码锁,当输入密码正确时,在液晶屏上显示OK”,否则,显示ERROR”,在输入过程中显示输入的数据个数当有错误的输入时显示ERROR”,当全部输入正确时才显示OK。 图1 4×3数字键盘 例如设置此模块的列为输入端口,行为输出端口。那么在按下某一个键时,该键所在的开关接通,由输入端口向输出端口输出一个有效电平,继而触发其他模块。 2.2 LCD液晶显示模块 开发板上使用的是无字库的12864LCD显示器,12864LCD显示模块是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭(但实验所用开发板上该模块实际是低电平表示亮、高电平表示灭)。存储这些点阵信息的RAM称为显示数据存储器。以下是关于显示屏的一些参数: 图2 128*64 LCD控制器结构框图 图3 128*64时序图 图 图 要显示某个图形就是将相应的点阵信息写入到相应的存储单元中。图形的点阵信息可以由自己设计也可借助字模软件,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。 由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。 显示点在64*64液晶屏上的位置由行号(line, 0~63)与列号(column, 0~63)确定。512*8 bits RAM中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress, 0~63)确定。每个存储单元存储8个液晶点的显示信息。 为了使液晶点位置信息与存储地址的对应关系更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵。每列中的8行点阵信息构成一个8bits二进制数,存储在一个存储单元中。(需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM区称为存储页。即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。因此存储单元地址包括页地址(Xpage, 0~7)和列地址(Yaddress, 0~63)。 例如点亮128*64的屏中(50, 30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,所以CS1有效;行地址50除以8取整得6,取余得2,该点在RAM中页地址为6,在字节中的序号为2;所以将二进制数入Xpage=6,Yaddress=29的存储单元中即点亮(50, 30)上的液晶点。 3 实验仪器 1.XUP(FPGA:spartan3S400AN)实验开发板 2.安装ISE软件的电脑 4 实验主要操作步骤 4.1 实验设计思想 实验采用分层次设计的方法,用硬件描述语言分别实现数字键盘数据的发送接收功能及液晶显示的功能模块,具体方法如下: 1. 通过ISE开发工具,新建个模块,分别为模块,。 ????????? 液晶显示模块:根据LCD显示模块的原理,将其控制分为指令控制部分和显示控制部分。其中使用状态机和分频器完成指令控制,每一个分频时钟周期到来时,执行状态机中的一个状态,即初始化命令或读写数据命令。 LCD字库模块:因为实验板上的12864LCD是无字库的,故利用字模软件将要用到的字模数据保存在模块中。 4.2 各模块设计实现 在理解数字键盘和LCD液晶显示的使用方法后,使用Verilog语言描述出各部分要实现的功能,完成实验的要求。 4.2.1 数字键盘模块的设计 下面是该模块功能实现的部分Verilog源程序: always @ ( posedge clk or negedge rst_s ) //产生周期为1ms的控制信号,占空时间为20ns begin if( !rst_s ) begin CountA = 16d0; ENA = 1b0; end else if( CountA == T1MS ) begin CountA = 16d0; ENA = 1b1; end else begin CountA = CountA + 1b1; ENA = 1b0; end end alwa

文档评论(0)

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

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

1亿VIP精品文档

相关文档