电子课程设计。
---数字秒表的设计。
学院:电子信息工程学院
专业班级: 通信111502
姓名: 马淑慧
学号: 201115030218
指导教师: 王海东
2023年12月。
目录。1.设计任务及要求1
二。总体框图1
三。选择器件1
四。功能模块2
4.1 分频模块2
4.2 0.01秒模块3
4.3 秒模块5
4.4 分模块6
4.5 扫描模块7
4.6 数码管模块9
4.7 三八译码器模块11
五。总体设计电路图13
5.1总体电路设计原理图13
5.2**结果13
5.3管脚分配20
5.4硬件实现20
六.心得体会22
数字秒表的设计。
一.设计任务及要求。
设计一个数字秒表,用vhdl语言编程,并进行**,**。具体化技术指标如下:
1)数字秒表的计时范围是0秒-59分59.99秒,显示的最长时间为59分59秒;
2)数字秒表的计时精度是10ms;
3)复位开关可以在任何情况下使用,即便在计时过程中,只要按一下复位开关,计时器就清零,并做好下次计时的准备;
4)具有启/停开关,即按一下启/停开关,起动计时器开始计时,再按一下启/停开关则停止计时。
二.总体框图。
图1.总体框图。
由频率信号输出端输出频率为100hz的时钟信号,输入到0.0秒模块的时钟端clk,0.01秒模块为100进制的计数器,产生的进位信号count输入到下一级秒模块的时钟端,以此类推,直到分模块计数到59进60时,产生的进位信号不输出,计数清零。
将0.01秒、秒、分产生的计数通过置数/位选再通过显示模块实时显示。
三.器件选择。
1、pc机一台。
2、cpld/fpga适配器板:标准配置epf10k10lc84-4接口板,**接口是数字芯片的**接口(digital jtag),主要用于cpld/fpga芯片的数据**。
3、实验箱:装有七段数码管,七段数码管真值表及字型如下:
表1.七段数码管真值表。
七段数码管字形如下:
图2.数码管字型图。
4.功能模块。
4.1 分频模块设计。
1.模块图。
图3.分频器模块图。
时钟脉冲是50mhz,因此在实验时需要对其进行分频,才能实现功能,若需要100hz的时钟,则需要对脉冲进行250000次分频;此外,实验还需要数码管动态显示的扫描时钟,本实验采用1000次分频。
2.程序。library ieee;
use use
entity div is
port (clk:in std_logic;
clk1:out std_logic);
end div;
architecture beh** of div is
beginprocess(clk)
variable num:integer range 0 to 250000;
variable q:std_logic;
beginif clk'event and clk='1'then
if num=250000 then num:=0;q:=not q;
else num:=num+1;
end if;
end if;
clk1<=q;
end process;
end beh**;
4.2 0.01秒模块设计。
1.模块图。
图4.0.01秒模块图。
0.01秒模块由两个十位计数器组成,可以实现带有100进制进位和清零功能,暂停等功能。0.
01秒个位输入为100hz脉冲,其进位信号输出,作为周期时钟信号,为0.01秒十位提供脉冲。个位模块和十位模块都有清零信号clear和秒表启停位start,输出0.
01秒个位、十位及进位信号cout。
2.**图。
由于该模块是由两个十进制级联而成的,现对一个十进制模块**,**图如下:
图5.十进制**图。
由**的结果可以看出来,从0000开始计数,当计数计到1001时,自动清零,所以该结果显示其功能是一个十进制计数器。
3.程序。由于两个十进制模块是一样的,所以现只给出一个十进制模块:
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='0' 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**;
4.3 秒模块。
1.模块图。
图6.秒模块图。
秒模块是由一个十位计数器和一个六位计数器组成,其中十位计数器为秒个位计数,六位计数器为秒十位计数,可以实现带有60进制进位和清零功能,暂停等功能。秒个位输入为0.01秒十位进位脉冲,其进位信号输出,作为周期时钟信号,为秒十位提供脉冲。
个位模块和十位模块都有清零信号clear和秒表启停位start,输出秒个位、十位及进位信号cout。
2.**图。
秒模块是有一个十进制和一个六进制级联而成的,十进制**图如图5所示,现给出六进制**图:
图7.六进制**图。
由**的结果可以看出来,从0000开始计数,当计数计到0101时,自动清零,所以该结果显示其功能是一个六进制计数器。
3.程序。十进制模块在0.01秒模块中已经给出,现只给出六进制程序:
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='0' 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.4 分模块。
图8.分模块图。
分模块和秒模块原理一样,也是由一个十位计数器和一个六位计数器组成,其中十位计数器为分个位计数,六位计数器为分十位计数。分模块生成的器件可以实现带有60进制进位和清零功能,暂停等功能,分个位输入为秒十位进位脉冲,其进位信号输出,作为周期时钟信号,为分十位提供脉冲。个位模块和十位模块都有清零信号clear和秒表启停位start,输出分个位、十位及进位信号cout。
(由于分模块的程序及**图同秒模块一样,现不重复给出)
4.5扫描模块。
1.模块图。
图9.扫描模块图。
该模块的功能是对输入信号依次进行扫描显示,产生对数码管的选择信号。
2.**图。
图10.扫描模块**图。
本次**中,设定dain0是由0000-0001连续变化,dain1是由0010-0011连续变化,dain2是由0100-0101连续变化,dain3是由0110-0111连续变化,dain4是由1000-1001连续变化,dain5是由1010-1011连续变化。由**结果可以看出,当sel=000时,选中dain0,输出dain0中的数据;当sel=001时,选中dain1,输出dain1中的数据;当sel=010时,选中dain2,输出dain2中的数据;当sel=011时,选中dain3,输出dain3中的数据;当sel=100时,选中dain4,输出dain4中的数据;当sel=101时,选中dain5,输出dain5中的数据。
EDA课程设计数字秒表
课程设计。题目数字秒表设计 院系信息工程学院 班级 姓名 指导教师。系统设计要求。课程设计。第1章 系统设计要求3 第2章 实验目的3 第3章 实验原理3 第4章 系统设计方案3 第5章 主要vhdl源程序4 1 十进制计数器的vhdl源程序4 2 六进制计数器的vhdl源程序5 3 蜂鸣器的vhd...
EDA课程设计数字秒表
可编程器件及应用课程设计报告 题目数字秒表 学院信电工程学院 专业电子信息科学与技术 班级。姓名。学号。指导教师。课程设计任务书 3 一 系统组成模块连图 4 二 模块器件及其程序 4 1 分频器4 2 十进制计数器 5 3 六进制计数器 6 4 动态扫描 7 5 译码显示管 8 三 系统 9 1 ...
EDA数字秒表设计课程设计
专业 自动化。班级学号 5090431姓名 2011年6月15日。数字秒表设计实验任务书。一 设计实验目的 在max plusii软件平台上,熟练运用vhdl语言,完成数字时钟设计的软件编程 编译 综合 使用eda实验箱,实现数字秒表的硬件功能。二 设计实验说明及要求 1 数字秒表主要由 分频器 扫...