ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:392.36KB ,
资源ID:5741521      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5741521.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDL数字秒表设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VHDL数字秒表设计.docx

1、VHDL数字秒表设计VHDL数字秒表设计 专 业: 自动化 班级学号: 5090629 姓 名: 刘丹 2011年 6 月14 日VHDL语言课程设计-秒表设计一、设计实验目的:在MAX+plusII软件平台上,熟练运用VHDL语言,完成数字时钟设计的软件编程、编译、综合、仿真,使用EDA实验箱,实现数字秒表的硬件功能。二、设计实验说明及要求:1、数字秒表主要由:分频器、扫描显示译码器、一百进制计数器、六十进制计数器(或十进制计数器与6进制计数器)、十二进制计数器(或二十四进制计数器)电路组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外,数字秒表需有清零控制端,以及启

2、动控制端、保持保持,以便数字时钟能随意停止及启动。2、数字秒表显示由时(12或24进制任选)、分(60进制)、秒(60进制)、百分之一秒(一百进制)组成,利用扫描显示译码电路在八个数码管显示。3、能够完成清零、启动、保持(可以使用键盘或拨码开关置数)功能。4、时、分、秒、百分之一秒显示准确。三、我的设计思路: 1、四个十进制计数器:用来分别对百分之一秒、十分之秒、秒和分进行计数; 2、两个6进制计数器:用来分别对十秒和十分进行计数;3、一个24进制计数器,用来对小时进行计数; 3、分频率器:用来产生100Hz的计数脉冲; 4、显示译码器:完成对显示译码的控制。四、设计过程:1.分频器:由10M

3、Hz变为100Hz,10MHz的周期是10的(-7)次方,而100Hz的周期是10的(-2)次方,而且方波是高低相间,只有高电平有效,所以100Hz的周期需要取一半,即秒,这样算出的分频倍数就是50000分频器代码:将10MHz脉冲变成100Hz程序:library ieee;use entity fenpin isport(clr,clk: in bit;q: buffer bit);end fenpin;architecture a of fenpin is signal counter:integer range 0 to 49999;begin process(clr,clk) beg

4、inif (clk=1 and clkevent) then if clr=1 then counter=0;elsif counter=49999 then counter=0; q= not q;else counter=counter+1; end if; end if; end process;end a;分频器的仿真图:2.十进制计数器:原理为加法计数器,从0加到9,计到10个数时由cout进位程序:library ieee; use use entity c10 is port(clr,start,clk: in bit;cout: out bit;daout: out std_l

5、ogic_vector(3 downto 0);end c10;,architecture a of c10 is signal temp:std_logic_vector(3 downto 0);begindaout=temp;process(clk,clr)begin if clr=1 then temp=0000; cout=1001 then temp=0000;cout=1; else temp=temp+1; cout=0; end if; end if; end if; end process;end a;十进制计数器仿真图:3.六进制计数器:原理为加法计数器,从0 加到5计到第

6、六个数时由cout进位。程序:library ieee;use use c6 is port(clr,start,clk: in bit; daout: out std_logic_vector(3 downto 0); cout: out std_logic);end c6;architecture a of c6 is signal temp:std_logic_vector(3 downto 0);begindaout=temp; process(clk,clr) begin if clr=1 then temp=0000; cout=0101 then temp=0000;cout=1

7、; else temp=temp+1; cout=0; end if; end if; end if; end process; end a;6进制计数器仿真图:4、二十四进制计数器采用一个二进制的计数器和一个四进制的计数器相结合到一起,低位从0到9,到9向高位进一,当低位计到四,高位计到2,进行进位输出,即每二十四个数进行一次进位输出library ieee;use c24 isport(clr,start,clk:in std_logic;hour1,hour0:out std_logic_vector(3 downto 0);end c24;architecture a of c24 i

8、sbegin process(clr,clk)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clr=1 then cnt0:=0000; cnt1:=0000;elsif clkevent and clk=1 thenif start=1 thenif cnt1=0010 and cnt0=0011then cnt1:=0000;cnt0:=0000;elsif cnt01001 then cnt0:=cnt0+1;else cnt0:=0000;cnt1:=cnt1+1;end if;end if;end if;hour1=c

9、nt1;hour0=cnt0;end process;end a;24进制计数器仿真图:5.数据选择和数码管选择模块代码:其功能是选择计数端口来的数据,当相应的数据到来时数据选择器数据后输数给数码管,并由数码管显示。八个数码管分别显示小时,分钟,秒,百分秒library ieee;use seltime isport(clk: in bit;dain0,dain1,dain2,dain3,dain4,dain5,dain6,dain7: in std_logic_vector(3 downto 0);sel: out std_logic_vector(2 downto 0);daout: ou

10、t std_logic_vector(3 downto 0);end seltime;architecture a of seltime issignal temp:integer range 0 to 7;beginprocess(clk)beginif (clk=1and clkevent) thenif temp=7 then temp=0;else tempsel=000;daoutsel=001;daoutsel=010;daoutsel=011;daoutsel=100;daoutsel=101;daoutsel=110;daoutsel=111;daoutledledledled

11、ledledledledledledled=0000000;-00Hend case;end process;end a;五、秒表原理图六:实验总结通过本次的课程设计,我初步了解了vhdl语言的编程思想,以及利用EDA软件进行电子电路设计的方法,通过对一个课题的分析,将实验的内容进行分块解读,具体到每一个模块的具体作用,然后将各个功能的模块通过连线进行总体的电路实现,也可以通过Vhdl语言对各个模块进行组合,然后需要在程序编译成功的基础上,安装硬件,将程序下载到具体的芯片上进行硬件的实现。通过整个实验的完成,我从老师和同学那里学到了更多关于vhdl编程,仿真以及硬件实现的知识,自己以前模糊不清的地方也通过此次的课程设计了解清楚了,并且通过这次课程设计,我也锻炼了独立思考,独立操作的能力,虽然对于vhdl语言的应用我还很生疏,但是此次的课程设计却让我学到了很多,也对这门语言有了更深的理解,对eda软件的使用有了更多的体会。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1