《可编程器件及应用课程设计报告》
题目数字秒表
学院信电工程学院
专业电子信息科学与技术
班级。姓名。
学号。指导教师。
课程设计任务书………3
一、系统组成模块连图………4
二、模块器件及其程序………4
1、分频器4
2、十进制计数器………5
3、六进制计数器………6
4、动态扫描………7
5、译码显示管………8
三、系统**9
1、六进制计数器………9
2、十进制计数器………9
3、动态扫描………9
4、译码显示管………10
5、分频器10
6、系统**………11
7、硬件实现………11
四、心得体会12
一、系统组成模块连接图。
二、模块器件及其程序。
1、分频模块及其程序。
本模块实现脉冲分频,本实验使用的ep2c5的clk3所以进行10分频产生100hz的脉冲。
library ieee;
use use
entity div is
port (clk:in std_logic;
clk1:out std_logic);
end div;
architecture beh** of div is
signal temp:std_logic_vector(3 downto 0);
signal clk3:std_logic;
beginprocess(clk)
beginif clk'event and clk='1'then
if temp="1001" then clk3<=not clk3;temp<="0000";
else temp<=temp+'1';
end if;
end if;
end process;
clk1<=clk3;
end beh**;
2、十进制程序。
产生99毫秒、秒的低位、分的低位的功能。
library ieee;
use use
use entity cnt10 is
port(clk,clr,start:in std_logic;
cout:out std_logic;
daout:buffer std_logic_vector(3 downto 0));
end cnt10;
architecture beh** of cnt10 is
beginprocess(clk,clr,start)
beginif clr='1' then daout<="0000";
elsif(clk'event and clk='1')then
if start='1' then
if daout="1001" then daout<="0000";cout<='1';
else daout<=daout+'1';cout<='0';
end if;
end if;
end if;
end process;
end beh**;
3、六进制程序。
产生秒的高位、分的高位。
library ieee;
use use
use entity cnt6 is
port(clk,clr,start:in std_logic;
cout:out std_logic;
daout:buffer std_logic_vector(3 downto 0));
end cnt6;
architecture beh** of cnt6 is
beginprocess(clk,clr,start)
beginif clr='1' then daout<="0000";
elsif(clk'event and clk='1')then
if start='1' then
if daout="0101" then daout<="0000";cout<='1';
else daout<=daout+'1';cout<='0';
end if;
end if;
end if;
end process;
end beh**;
4、动态扫描程序
动态的扫描六个数码管,实时的显示出相应的数字。
library ieee;
use use
use entity seltime is
port(clk,clr,start:in std_logic;
dain0,dain1,dain2,dain3,dain4,dain5:in std_logic_vector(3 downto 0);
daout:out std_logic_vector(3 downto 0);
sel:out std_logic_vector(2 downto 0));
end seltime;
architecture beh** of seltime is
signal temp:std_logic_vector(2 downto 0);
signal d_out:std_logic_vector(3 downto 0);
beginsel<=temp;
process(clk)
beginif clk'event and clk='1' then
if temp="101" then
temp<="000";
elsetemp<=temp+'1';
end if;
end if;
end process;
process(temp,clr,dain0,dain1,dain2,dain3,dain4,dain5)
beginif clr='1' then
d_out<="0000";
elseif temp="000" then d_out<=dain0;
elsif temp="001" then d_out<=dain1;
elsif temp="010" then d_out<=dain2;
elsif temp="011" then d_out<=dain3;
elsif temp="100" then d_out<=dain4;
elsif temp="101" then d_out<=dain5;
else d_out<="0000";
end if;
end if;
end process;
daout<=d_out;
end beh**;
5、译码显示管程序。
显示管电路的作用是在74ls138的驱动将计数值在led数码管上显示出来。计时电路产生的值在经过bcd七段译码后,驱动led数码管。
library ieee;
use entity xianshi is
port(num:in std_logic_vector(3 downto 0);
led:out std_logic_vector(7 downto 0));
end xianshi;
architecture beh** of xianshi is
beginprocess(num)
beginled<=(others=>'1');
case num is
when"0000"=>led<="00111111";
when"0001"=>led<="00000110";
when"0010"=>led<="01011011";
when"0011"=>led<="01001111";
when"0100"=>led<="01100110";
when"0101"=>led<="01101101";
when"0110"=>led<="01111101";
EDA课程设计数字秒表
课程设计。题目数字秒表设计 院系信息工程学院 班级 姓名 指导教师。系统设计要求。课程设计。第1章 系统设计要求3 第2章 实验目的3 第3章 实验原理3 第4章 系统设计方案3 第5章 主要vhdl源程序4 1 十进制计数器的vhdl源程序4 2 六进制计数器的vhdl源程序5 3 蜂鸣器的vhd...
EDA课程设计数字秒表
电子课程设计。数字秒表的设计。学院 电子信息工程学院 专业班级 通信111502 姓名 马淑慧 学号 201115030218 指导教师 王海东 2013年12月。目录。1.设计任务及要求1 二。总体框图1 三。选择器件1 四。功能模块2 4.1 分频模块2 4.2 0.01秒模块3 4.3 秒模块...
EDA数字秒表设计课程设计
专业 自动化。班级学号 5090431姓名 2011年6月15日。数字秒表设计实验任务书。一 设计实验目的 在max plusii软件平台上,熟练运用vhdl语言,完成数字时钟设计的软件编程 编译 综合 使用eda实验箱,实现数字秒表的硬件功能。二 设计实验说明及要求 1 数字秒表主要由 分频器 扫...