基于CPLD四位计数显示.docVIP

  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文档。上传文档
查看更多
基于CPLD四位计数显示

基于CPLD四位计数显示   【摘 要】设计的计数器能实现从0到9999的计数,并具备清零功能。计数器采用原理图层次化设计的方法,用四位七段数码管显示。通过分时复用技术,实现数码管的分时复用和熄灭前导零。运用QuartusⅡ软件进行设计和功能仿真,最终下载到EPM240T100C5N开发板上验证。   【关键词】CPLD;分时复用;前导零;多位计数   0 引言   CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL发展出来的器件,是一种用户根据自身需要而自行构造逻辑功能的可编程数字集成电路。其基本设计方法是使用集成开发软件平台,采用多种输入方法,如原理图、硬件描述语言、状态图及输入输出响应法等,并生成相应的目标文件。通过下载电缆将构造代码下载到目标芯片中,实现所设计的数字系统。   使用的集成开发软件平台为QuartusⅡ。QuartusⅡ为Altera公司的综合性PLD/FPGA开发软件,具有原理图、VHDL、VerilogHDL、AHDL和Megafunction等多种设计输入方式,内嵌有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。   一般来说,QuartusⅡ软件开发平台为使用者给予了和结构基本无关系的全集成化环境。把软件布局、软件布线以及软件系统的验证都全部放入到一个无缝环境中,使设计人员可以非常方便快捷地对 PLD 产品实现设计输入、编译、仿真以及器件编程下载。QuartusⅡ平台汇集了包括概念设计、算法开发、建模仿真等集成环境,是一款综合性非常强的开发软件,能够很好地实现自设计输入至硬件配置的完整 PLD 设计方法及步骤流程,是能够在一个相对单一的特定设计空间内,给予一系列综合、仿真和下载的软件工具,这对加强硬件系统设计的环境有着积极的意义。   设计四位计数器中使用了原理图的方式,在QuartusⅡ上来描叙整个设计流程,同时采用功能仿真的方式来进行结果的验证,并经过下载电缆将构造代码写入EPM240T100C5N开发板中进行最终的验证。采用分时复用技术来实现数码管的控制,分时复用技术是用一条线路传输多路数据,基于分时段使用同一线路的技术。在此设计中,有四个七段数码管,若不用分时复用技术则每个七段数码管都需要与之对应的引脚和译码器,一共需要28(7*4)个引脚和四个译码器。而使用分时复用技术只需要一个数码管的引脚加上四个位选的引脚,一共只需11(7+4)个引脚和一个译码器。这对于系统I/O资源紧张的设计是个有效节省I/O资源的方法,并节省设计的成本。   1 设计四位计数器   四位计数采用74LS161的同步置数法,每一位的计数状态为(0000)→(0001)→(0010)→(0011)→(0100)→(0101)→(0110)→(0111)→(1000)→(1001)→(0000)。四位计数使用4个74LS161级联,分别表示个位十位百位千位,最大能表示的数为9999。采用原理图层次化设计的方式,将4个74LS161的CLK时钟脉冲输入端串连在一起。计数采用同步置数法,使用个位的进位使十位CEP和CET使能。每当有一个进位到来的时候上一位使能一次,在时钟脉冲的作用下加1。这样就实现了初步的计数器。   于是发现一个问题:当十位为8的时候,个位的进位信号到来会使十位为9。由于采用的置数法,当十位数中当出现1001的时候,就会产生一个进位信号并且会重置当前位。这就导致计数器十位百位千位的9不能正常显示。   经过对这个现象的分析,发现是在进行计数器设计的时候,没有考虑到十位百位千位重置问题,简单的以为和个位一样出现9就重置并产生进位。通过对计数原理和同步置数法的分析,发现十位百位千位的重置不是出现9就重置。例如十位,如果要将十位数重置为0,只有当十位本身为9且个位产生下一个进位的时候,才能重置十位并给百位一个进位信号。设计的思路为当脉冲到来时开始计数,产生的进位信号直接给上一位数,上一位数由于有进位信号的使能于是加1。如果十位要给上一位进位信号且重置自身,那么就需要下一个进位信号和自身的进位信号通过一个与非门得到一个低位信号。低位信号重置自身,并通过一个非门产生进位。设计的原理图和通过QuartusⅡ功能仿真的结果如图1所示。   图 1 四位计数原理图及仿真结果图   2 四位显示的分时复用   图2 四位显示的分时复用原理图   四位计数显示采用了分时复用技术。分时复用是用不同时段来传输和处理不同的信号,能达到多路传输和处理的目的。四位显示的分时复用原理图如图2所示。通过一个4选1的选择器来选择显示的位数。将一个周期划分为4个等分的时间,每个等分的时间通过4选1的选择器来选择一个输入,

文档评论(0)

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

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

1亿VIP精品文档

相关文档