基于cpld的vhdl语言数字钟(含秒表)设计

基于cpld的vhdl语言数字钟(含秒表)设计

ID:3143048

大小:182.50 KB

页数:14页

时间:2017-11-19

基于cpld的vhdl语言数字钟(含秒表)设计_第1页
基于cpld的vhdl语言数字钟(含秒表)设计_第2页
基于cpld的vhdl语言数字钟(含秒表)设计_第3页
基于cpld的vhdl语言数字钟(含秒表)设计_第4页
基于cpld的vhdl语言数字钟(含秒表)设计_第5页
资源描述:

《基于cpld的vhdl语言数字钟(含秒表)设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于CPLD的VHDL语言数字钟设计基于CPLD的VHDL语言数字钟(含秒表)设计利用一块芯片完成除时钟源、按键、扬声器和显示器(数码管)之外的所有数字电路功能。所有数字逻辑功能都在CPLD器件上用VHDL语言实现。这样设计具有体积小、设计周期短(设计过程中即可实现时序仿真)、调试方便、故障率低、修改升级容易等特点。本设计采用自顶向下、混合输入方式(原理图输入—顶层文件连接和VHDL语言输入—各模块程序设计)实现数字钟的设计、下载和调试。一、功能说明已完成功能1.完成秒/分/时的依次显示并正确计数;2.秒/分/时各段个位满10正确进位,秒/分能做到满60向前进位;3.定时闹钟:实现整点报时

2、,又扬声器发出报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整;5.利用多余两位数码管完成秒表显示:A、精度达10ms;B、可以清零;C、完成暂停可以随时记时、暂停后记录数据。待改进功能:1.闹钟只是整点报时,不能手动设置报时时间,遗憾之一;2.秒表不能向秒进位,也就是最多只能记时100ms;3.秒表暂停记录数据后不能在原有基础上继续计时,而是复位重新开始。【注意】秒表为后来添加功能,所以有很多功能不成熟!二、设计方案1.数字钟顶层设计外部输入要求:输入信号有1kHz/1Hz时钟信号、低电平有效的秒/微秒清零信号CLR、低电平有效的调分信号SETm

3、in、低电平有效的调时信号SEThour;外部输出要求:整点报时信号SOUND(59分51/3/5/7秒时未500Hz低频声,59分59秒时为1kHz高频声)、时十位显示信号h1(a,b,c,d,e,f,g)、时个位显示信号h0(a,b,c,d,e,f,g)、分十位显示信号m1及分个位m0、秒十位s1及秒个位s0、微秒十位ms1及微秒个位ms0;数码管显示位选信号SEL0/1/2等三个信号。2.内部功能模块主要有:Fenp分频模块:主要是整点报时用的1kH与500Hz的脉冲信号,这里的输入信号是1KHz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这

4、里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。实现带有100进制进位和清零功能,暂定等功能的微秒模块MINSECONDB输入为1Hz脉冲和低电平的清零信号CLR与暂定信号STOP,输出微秒个位、十位及进位信号CO(虽然没有实现进位功能,但还是编写了这个端口,只是在连线时悬空)。实现60进制带有进位和清零功能的秒计数模块SECOND,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。14基于CPLD的VHDL语言数字钟设计实现60进制带有进位和置数功能的分计数模块MINUTE,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号C

5、O。实现24进制的时计数模块HOUR,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。实现分时复用功能模块SELTIME,输入为秒(含个/十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。实现整点报时功能模块ALERT,输入为分/秒信号,输出为高频声控Q1K和Q500。实现译码显示功能模块DISPLAY,输入为D,输出为Q一、设计框图频率信号输入分频微秒模块秒模块分模块时模块置数/位选显示模块进位进位进位高/低电平二、模块说明(含程序代码)1.分频模块14基于CPLD的VHDL语言数字钟设计采用原理图输入方式实现2分频与1000分频,但这里并没有用到1000分

6、频,因为后来考虑到精度问题,将千分频用直接输入了。程序如图:利用三个7490进行硬件分频!1.微秒模块采用VHDL语言输入方式,以时钟clk,清零信号clr以及暂停信号STOP为进程敏感变量,程序如下:14基于CPLD的VHDL语言数字钟设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityMINSECONDbisport(clk,clrm,stop:instd_logic;----时钟/清零信号secm1,secm0:outstd_logic_vector(3downto0);----秒

7、高位/低位co:outstd_logic);-------输出/进位信号endMINSECONDb;architectureSECofMINSECONDbissignalclk1,DOUT2:std_logic;beginprocess(clk,clrm)variablecnt1,cnt0:std_logic_vector(3downto0);---计数VARIABLECOUNT2:INTEGERRANGE0TO10;b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。