打印
[FPGA]

基于CPLD的数字秒表设计

[复制链接]
1069|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MHB_520|  楼主 | 2015-12-19 22:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于CPLD的数字秒表设计
一,设计简介
本设计是一款基于CPLD的数字秒表,具有计时、暂停和清零功能,计时最大时间为99.99秒,程序采用Verilog HDL语言设计,开发环境为QuartusII9.0软件平台。
二,设计内容
此秒表是基于CPLD设计的,其中包括按键处理模块、定时模块、数码管显示编码模块和数码管驱动模块。其中按键处理模块是将输入的按键进行识别,包括按键消抖以及相应按键的标志位置位等。file:///C:/Users/MHB/AppData/Local/Temp/ksohtml/wps1C1A.tmp.jpg
其次为定时模块,本定时模块为对秒的定时,定时的基本单位为10ms为了避免使用除法单元,设计时采用十位和各位分开计时功能,即各位计时超过9则向十位进一的原则,这样十位和各位可以分开计时,而不用使用除法分别取十位和各位,以下为定时模块。
file:///C:/Users/MHB/AppData/Local/Temp/ksohtml/wps1C3A.tmp.jpg
再者就是编码模块,即对上述模块产生的十进制数进行编码,编成数码管所能识别并能显示的码,以下为编码模块
file:///C:/Users/MHB/AppData/Local/Temp/ksohtml/wps1C3B.tmp.jpg
最后就是数码管驱动模块,因为在本设计中采用的是四位数码管,所以为了使其显示所定的时间,必须采用动态扫描的方式进行显示,其中动态显示的时间步长为1ms,此模块就是数码管的驱动模块,段选送要显示的数字,即前面编码器产生的数据,位选则采用3-8译码器进行控制要显示的位,以下为数码管的驱动模块。
file:///C:/Users/MHB/AppData/Local/Temp/ksohtml/wps1C4B.tmp.jpg
总体电路模块如下所示。
file:///C:/Users/MHB/AppData/Local/Temp/ksohtml/wps1C5C.tmp.jpg
因为定时器定时的最大时长为99.99秒,所以会产生四个十进制数据,故使用四个编码器对这四个数据进行编码。
三,设计结果
设计之后进行测试时,本设计达到之前预期的结果,能够正常计时、暂停以及清零等功能。本设计有待于再次提高,包括计时数据存储等功能,后续将继续开发。

相关帖子

沙发
reaperzero| | 2015-12-20 12:58 | 只看该作者
。。。。
这个放上来,你要说明什么。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝