版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 实验五 数字时钟的设计实验性质:综合性 实验级别: 开课单位:信息与通信工程学院通信工程系 学时:4学时一、实验目的:1、学习用VHDL语言实现比较大型的电路的方法。 2、继续巩固cpld技术层次化设计方法。二、实验器材:计算机、Quartus II软件三、实验内容:设计一数字时钟,要求具有时、分、秒、计数显示功能,以24小时循环计时;具有清零,调节小时,分钟功能;具有整点报时功能。四、实验步骤:1、根据电路特点,用层次设计的概念,将此任务分成若干模块,规定每一模块的功能和各模块之间的接口。让几个学生分作和调试其中之一,然后再将各模块合起来联试。以培养学生之间的合作精神,同时加深层次化设计概
2、念。2、了解软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何融合。3、模块说明: 各种进制的计数及时钟控制模块(10进制、6进制、24进制) 扫描分时显示,译码模块 各模块都用VHDL语言编写五、实验模块:秒模块LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY second ISPORT(clk, reset,setmin : INSTD_LOGIC;enmin : OUTSTD_LOGIC;da0out: out std_logic_vector (
3、6 downto 0);END entity second;ARCHITECTURE fun OF second ISSIGNAL count: STD_LOGIC_VECTOR( 6 downto 0);BEGIN da0out = count; process ( clk , reset , setmin) begin - enmin=k; if (reset=0) then count = 0000000; elsif (setmin=0) then enmin = clk; elsif (clk event and clk=1) then if (count(3 downto 0)=1
4、001) then if (count 16#60#) then if (count=1011001) then enmin=1; count=0000000; ELSE count=count+7; end if; else count=0000000; end if; elsif (count 16#60#) then count = count+1; enmin=0 after 100 ns; else count=0000000; end if; end if; end process;END fun;分析: 脉冲从0计数至59,向前进1,enmin由低电平变至高电平。分模块LIBRA
5、RY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY minute ISPORT(clk, reset,sethour : INSTD_LOGIC;enhour : OUTSTD_LOGIC;da1out: out std_logic_vector (6 downto 0);END entity minute;ARCHITECTURE fun OF minute ISSIGNAL count: STD_LOGIC_VECTOR( 6 downto 0);BEGIN da1out = count; p
6、rocess ( clk , reset , sethour) begin - enmin=k; if (reset=0) then count = 0000000; elsif (sethour=0) then enhour = clk; elsif (clk event and clk=1) then if (count(3 downto 0)=1001) then if (count 16#60#) then if (count=1011001) then enhour=1; count=0000000; ELSE count=count+7; end if; else count=00
7、00000; end if; elsif (count 16#60#) then count = count+1; enhour=0 after 100 ns; else count=0000000; end if; end if; end process;END fun;分析: 脉冲从0计数至59,向前进1,enhour由低电平变至高电平。时模块LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY hour ISPORT(clk, reset,setweek : INSTD_LOGIC;
8、enweek : OUTSTD_LOGIC;da2out: out std_logic_vector (6 downto 0);END entity hour ;ARCHITECTURE fun OF hour ISSIGNAL count: STD_LOGIC_VECTOR( 6 downto 0);BEGIN da2out = count; process ( clk , reset , setweek) begin - enmin=k; if (reset=0) then count = 0000000; elsif (setweek=0) then enweek = clk; elsi
9、f (clk event and clk=1) then if (count(3 downto 0)=1001) then if (count 16#23#) then if (count=00100011) then enweek=1; count=0000000; ELSE count=count+7; end if; else count=0000000; end if; elsif (count 16#23#) then count = count+1; enweek=0 after 100 ns; else countyyyyyyyyyyyyyyyyyyyyyy=0000000; e
10、nd case; end process; end beh;分析: 将8421BCD码转化成7段码。 整点报时library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity speaker is port(clk:in std_logic; speaksec:in std_logic_vector(6 downto 0); speakmin:in std_logic_vector(6 downto 0); speak:out std_logic);end entity speaker;archite
11、cture fun of speaker isbeginprocess(clk,speakmin)begin if(clk event and clk=1)then if(speakmin=0000000 and speaksec=0000000)then speak=1;else speak=0;end if; end if;end process;end fun;分析: 当时钟计数到整点,即秒和分都等于0时蜂鸣器报警,以实现整点报时功能。输入:clk计数时钟信号,speaksec秒输出信号,speakmin分输出信号输出:报警信号输出转换模块六转一library IEEE;use IEEE
12、.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity sixtozero is Port ( d:in std_logic_vector(6 dow
13、nto 0); out6 : out std_logic; out5 : out std_logic; out4 : out std_logic; out3 : out std_logic; out2 : out std_logic; out1 : out std_logic; out0 : out std_logic); end sixtozero;architecture Behavioral of sixtozero isbeginprocess(d)Beginout6=d(6);out5=d(5); out4=d(4); out3=d(3); out2=d(2); out1=d(1);
14、 out0=d(0);end process;end Behavioral;二转一library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VCompone
15、nts.all;entity twotozero is Port ( d:in std_logic_vector(2 downto 0); out2 : out std_logic; out1 : out std_logic; out0 : out std_logic);end twotozero;architecture Behavioral of twotozero isbeginprocess(d)begin out2=d(2); out1=d(1); out0=d(0);end process;end Behavioral;3.三转一library IEEE;use IEEE.STD_
16、LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity tretozero is Port ( d:in std_logic_vector(6 downto 0); out3 : out std_logic; out2 : out std_logic; out1 : out std_logic; out0 : out std_logic); end tretozero;architecture Behavioral of
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高等数学2》课程教学大纲
- 2024年出售竹荪菌种合同范本
- 2024年出售垃圾车合同范本
- 2024年代还款三方协议书模板范本
- u007f关爱艾滋病病人
- 出科护理技术操作流程
- 人体解剖学培训课件
- 2024-2025学年第一学期期中考试八年级地理学科试卷
- 北京市大兴区2024~2025学年上学期七年级期中数学试卷(含答案)
- 广东省广州市外国语学校附属学校2023-2024学年七年级上学期期中考试语文试卷(含答案)
- 2009-2022历年江苏省苏州工业园区管委会直属事业单位统一公开招聘人员《综合知识与能力素质》试题(管理类)含答案2022-2023上岸必备汇编4
- ACS510变频器参数表
- G344项目临建工程施工方案-12号定稿
- 小学数学人教四年级上册(2022年新编)平行四边形和梯形认识平行四边形
- 少先队主题班会工作汇报模板009号课件
- 电气设备常见故障分析
- 人教版七年级数学上册 《实际问题与一元一次方程》教学课件(第1课时)
- 造纸和纸制品公司安全风险分级管控清单
- 双重预防体系培训考试卷(含答案)
- 共工怒触不周山-完整版PPT
- 多元统计分析习题及解答
评论
0/150
提交评论