当前位置:文档之家› fpga数字钟课程设计报告

fpga数字钟课程设计报告

fpga数字钟课程设计报告
fpga数字钟课程设计报告

f p

g a数字钟课程设计报

Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

课程设计报告

设计题目:基于FPGA的数字钟设计

班级:电子信息工程1301

姓名:王一丁

指导教师:李世平

设计时间:2016年1月

摘要

EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。

关键词:EDA VHDL语言数字钟

目录

摘要

1 课程设计目的

2 课程设计内容及要求

设计任务

设计要求

3 VHDL程序设计

方案论证

系统结构框图

设计思路与方法

状态控制模块

时分秒模块

年月日模块

显示模块

扬声器与闹钟模块

RTL整体电路

4 系统仿真与分析

5 课程设计总结,包括.收获、体会和建议

6 参考文献

1 课程设计目的

(1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。

(2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。

(3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

2 课程设计内容及要求

设计任务

(1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。

(2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第

四、五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。

(3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。设计要求

(1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。

(2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

3 VHDL程序设计

方案论证

该数字钟可以实现:计时功能、整点报时、闹钟和预置时间功能,因此时钟系统可分为5个模块:功能选择模块、时分秒计数模块、年月日计数模块、显示模块、扬声器模块、脉冲产生模块。(1)功能选择模块是有状态机构成的,功能为依次进行、设置时间、设置闹钟时间。

调整工作状态:数字钟的初始状态显示时分秒,在setpin按键产生一个脉冲,显示切换为年月日。

设置时间:第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、五、六、七个脉冲到来时分别可以预置时期、时、分、秒。第八个脉冲到来后,预置结束恢复初始状态,正常显示时分秒。

设置闹钟时间:闹钟在setpin1按键产生第一个脉冲时设定闹钟的时,第二个脉冲设定分,第三个脉冲设定秒,第四个脉冲恢复显示时分秒。

(2)时分秒计数模块包括正常计时、闹钟、整点报时三个功能。

正常计时功能通过软件编写,60进制的秒计数器,60进制的分计数器,24进制的时计数器。时分秒的计数器具有清0、置数、进位和计数功能。其中reset为清0信号,当reset为0时,时分秒的计数器清0。当set产生第四个脉冲后,连续产生的set信号使分秒计数器依次进行置数。以upclk为时钟,通过up对预置位进行控制,当up为高时且upclk有脉冲到来时,预置位加一,否则减一。当set产生第八个脉冲时,数字钟恢复时分秒的显示。

闹钟功能是在正常计数功能上拓展,分为闹钟时间预置和闹钟响应两个部分。闹钟时间预置功能:当set1连续产生脉冲时,依次对闹钟的时分秒位进行预置。以upclk为时钟,通过up对预置位进行控制,当up为高时且upclk有脉冲到来时,预置位加一,否则减一。当set1产生第四个脉冲时,数字钟恢复时分秒的显示。与此同时在程序中增添变量时计时功能可以持续运行。闹钟响应功能:通过预置后,储存的变量与计时器模块的时、分、秒进行比对,当

时、分、秒相同时,模块产生一个一段时间的高电平,传输给闹钟响应模块。

整点报时功能:当计数器中的分位等于59,秒位等于59时,模块产生一段高电平,输出给扬声器模块进行报时。

(3)年月日计数模块分为年月日计数功能,年月日预置数功能。

年月日计数功能:以时位的进位脉冲为计时脉冲,闰年二月份为29天,普通年二月份为28天。一月、三月、五月、七月、八月、十月、十二月为31天,四月、六月、九月、十一月为30天。

年月日预置数功能:当set产生第一个脉冲后,依次进行年月日数器置数。以upclk为时钟,通过up对预置位进行控制,当up为高时且upclk有脉冲到来时,预置位加一,否则减一。

(4) 显示模块:以时分秒,年月日模块的输出、状态标志为输入信号,通过状态控制模块产生的状态标志对显示模块进行控制,显示计时、预置时的不同状态。

(5)扬声器模块:输入信号为分位、秒位和状态信号,当计时时钟到达整点是输出高电平,其他时刻输出低电平。

(6)脉冲产生模块:对输入的信号进行1000分频,产生周期为一秒的时钟信号,用于数字钟的时钟输入。

系统结构框图

设计思路与方法

状态控制模块

状态控制模块实现对各个功能模块的整体设计,包括对时间与日期的显示与调整,闹钟的显示与调整等控制操作。状态机的输入为setpin,setpin1,upclk。状态机的状态有11种状态。

g:闹钟设

置时位;

g:闹钟设置分位;2g:闹钟设置秒位;

1

s:时钟显示时分秒;1s:时钟显示年月日;2s:钟设置年;

s:时钟设置月;4s:时钟设置日;5s:时钟设置时;

3

s:时钟设置分;7s:设置秒

6

在产生如上状态的同时产生Tlock,flag状态标志,此标志用来进行时钟设置、闹钟设置与显示控制。

RTL 电路图

实现代码如下:

process(upclk)

begin

if (upclk='1' and upclk'LAST_VALUE='0')then

state<=next_state; -- 实现状态变换

end if;

end process;

process(state,setpin,setpin1)

begin

next_state<=state;

case(state) is

when s0 =>

Tlock<="0000";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0; end if;

if(setpin='1' and setpin'LAST_VALUE='0') then

next_state<=s1; end if;

when s1=>

Tlock<="0001";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s2;end if;

when s2=>

Tlock<="0010";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s3;end if;

when s3=>

Tlock<="0011";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s4;end if;

when s4=>

Tlock<="0100";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then

next_state<=s5;end if;

when s5=>

Tlock<="0101";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then

next_state<=s6; end if;

when s6=>

Tlock<="0110";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s7;end if;

when s7=>

Tlock<="0111";

flag<='1';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s0; end if;

when g0=>

Tlock<="1000";

flag<='0';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g1;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s0;end if;

when g1=>

Tlock<="1001";

flag<='0';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=g2;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s0; end if;

when g2=>

Tlock<="1010";

flag<='0';

if(setpin1='1' and setpin1'LAST_VALUE='0')then next_state<=s0;end if;

if(setpin='1' and setpin'LAST_VALUE='0') then next_state<=s0;end if;

when others=>

next_state<=s0;

end case;

end process;

时分秒模块

时分秒模块的输入为ce(使能端),clk0(系统输入时钟),

clk1(upclk时钟),flag(标志位),lock(状态位),up(预置位增减控制),ov(进位位),op(闹钟与扬声器响应)。

时分秒模块的RTL电路图

时钟选择方式:在初始状态和显示年月日的状态下,时分秒模块的时钟输入为系统时钟输入(clk0),在其他状态下,时分秒模块的时钟输入为(upclk时钟)用来进行置位。

实现代码入下:

process(lock,clk0,clk1)

begin

if(lock="0000" or lock="0001")then

clk<=clk0; --正常计数时选择clk0

else clk<=clk1; --预置的时候clk1

end if;

end process;

时钟计时功能,在显示年月日,时分秒的状态时,时钟正常计数。当数字钟处于置数状态时,年、月、日、时、分、秒时钟停止计时,各个位显示预置数。在闹钟的预置功能实现的同时,通过增添变量,在设置闹钟的同时保证时钟的正常计数,在闹钟预置结束后,恢复到初始的时钟显示。

年月日模块

年月日模块分为日期增加和日期减小两个部分,日期增加:在显示时分秒,显示年月日和设置完秒位的状态下,如果是二月,通过函数判断是否为闰年,其他月份对大小月进行判断,大月为31天,小月为30天,代码如下:

if(clk'event and clk='1')then

if(ce='1')then

if(lock="0000")or(lock="0001")or(lock="0100"and

up='1')then

if(mon0="0010"and mon1="0000") then

Feb_add_day(Td0,Td1,tempy0,tempy1,date0,date1);

elsif((mon0="0001"and

mon0="0000")or(mon0="0011")or(mon0="0101")

or(mon0="0111")or(mon0="1000")or(mon0="0000"and

mon1="0001")or(mon0="0010"and mon1="0001"))then

oddmonth_add_day(Td0,Td1,date0,date1);

else evenmonth_add_day(Td0,Td1,date0,date1);

end if;

end if;

日期减少同理,代码如下:

if(lock="0100"and up='0')then

if(mon0="0010"and mon1="0000")then

Feb_add_day(Td0,Td1,tempy0,tempy1,date0,date1);

elsif((mon0="0001"and

mon1="0000")or(mon0="0011")or(mon0="0101")

or(mon0="0111")or(mon0="1000")or(mon0="0000"and mon1="0001")

or(mon0="0010"and mon1="0001"))then

oddmonth_sub_day(Td0,Td1,date0,date1);

else evenmonth_sub_day(Td0,Td1,date0,date1);

END IF;

end if;

end if;

end if;

当以日位的进位为输入,当存在输入脉冲时,通过函数对月份进行加减,代码如下:

begin

if(clk'event and clk='1')then

if(ce='1')then

if(lock="0000")or (lock="0001")or

(lock="0011"and up='1')then

add_month(Tm0,Tm1,mon0,mon1);

end if;

if(lock="0011"and up='0')then

sub_month(Tm0,Tm1,mon0,mon1);

end if;

if (lock="0000")or (lock="0001") then

if(mon0="0010"and mon1="0001")then

sub_year(Ty0,Ty1,year0,year1);

end if;

end if;

if(lock="0010"and up='1')then

add_year(Ty0,Ty1,year0,year1);

end if;

if(lock="0010"and up='0')then

sub_year(Ty0,Ty1,year0,year1);

end if;

end if;

end if;

显示模块

显示模块的输入为年、月、日、时、分、秒、lock(状态标志),通过if语句,状态机一共提供11钟状态。在不同状态下,给显示模块的年月日时分秒不同的输入,从而得到要求的显示。

显示电路的RTL电路

代码如下:

process(lock,sec0,sec1,min1,min0,hour1,hour0,date0,date1,mo n0,mon1,year0,year1)

begin

if(lock="0000")then

a0<=sec0;a1<=sec1;b0<=min0;b1<=min1;c0<=hour0;c1<=hour1; end if;

if(lock="0001")then

a0<=date0;a1<=date1;b0<=mon0;b1<=mon1;c0<=year0;c1<=year1; end if;

if(lock="0101")or(lock="1000")then

a0<="1111";a1<="1111";b0<="1111";b1<="1111";c0<=hour0;c1<=h our1;

end if;

if(lock="0110")or(lock="1001")then

a0<="1111";a1<="1111";b0<=min0;b1<=min1;c0<="1111";c1<="111 1";

end if;

if(lock="0111")or(lock="1010")then

a0<=sec0;a1<=sec1;b0<="1111";b1<="1111";c0<="1111";c1<="111 1";

end if;

if(lock="0010")then

a0<="1111";a1<="1111";b0<="1111";b1<="1111";c0<=year0;c1<=y ear1;

end if;

if(lock="0011")then

a0<="1111";a1<="1111";b0<=mon0;b1<=mon1;c0<="1111";c1<="111 1";

end if;

if(lock="0100")then

a0<=date0;a1<=date1;b0<="1111";b1<="1111";c0<="1111";c1<="1 111";

end if;

end process;

end led_disp_arc;

脉冲发生电路将提供的1000hz频率分频成1hz(供系统时钟)。f1000为1000hz输入,second_wave为分频输出。

分频器的RTL电路

代码如下:

process(f1000,cnt)

begin

if(f1000'event and f1000='1')then

if(cnt="00000011")then

cnt<="000000000";second_wave<=not second_wave;

else cnt<=cnt+'1';

end if;

end if;

end process;

end second_wave_arc;

扬声器模块

模块的输入为clk(系统时钟),op(响应信号),vcc(闹钟使能端),ala(高电平输出)。当vcc为高时,且当op有响应信号输入(高),闹钟产生一定时长的高电平。

闹钟的RTL电路

代码如下:

signal temp1:std_logic_vector(3 downto 0);

begin

process(op,vcc,clk)

begin

if clk'event and clk='1' then

if(vcc='1')then

if(temp1="1111")then

ala<=not ala;

else

temp1<=temp1+'1';

ala<='1';

end if;

end if;

end if;

end process;

end alarm_arc;

整体RTL电路

4 系统仿真与分析

对基本要求的仿真

初态设置:setpin1=0;up=0;setpin置连续8个脉冲,f1000为频率为1000hz的方波。

分析:在setpin第一次脉冲到来时,显示年月日,因为数字钟是初始状态所以年月日均为0。Setpin。第二次脉冲到来时对时进行预置数,因为up=0,所以设置时位,时位在不断地减小,在后面各位预置的过程中,每一位的预置过程都是减小。第三次脉冲来到是对分位进行预置,第四次脉冲到来时对秒位进行预置。第四次脉冲到来时对年进行预置,第五次脉冲到来时对月进行预置,第六次脉冲到来时对日进行预置。第七次脉冲到来时,数字钟显示时分秒,从仿真结果可以看出来,此时时钟是从预置的时间开始计时的,第八次脉冲到来时,此时时钟显示的是年月日,此时显示的年月日为预置的年月日。

从上述分析可以看出,经过仿真的程序基本达到数字钟的基本要求,系统可靠。

对闹钟状态转换的仿真

初始设置:初态设置:setpin1设计一个脉冲;up=0;setpin置连续2个脉冲,f1000为频率为1000hz的方波。

当第一个setpin脉冲到来时,显示年月日,第二个setpin脉冲来临时时钟对年进行预置,此后setpin1的第一个脉冲到来,时钟的状态转为对闹钟时间的设置,达到实验要求。

对闹钟功能的仿真

初始设置:初态设置:setpin1设计三个脉冲;up=0;f1000为频率为1000hz的方波。

数字钟的原状态显示时分秒,由于未进行初始化,所以时分秒从0开始计时,当setpin1第一个脉冲到来时,数字钟对闹钟的时刻的时位进行预置,当setpin1第二个脉冲到来时,数字钟对闹钟的时刻的分位进行预置,当setpin1第三个脉冲到来时,数字钟对闹钟的时刻的秒位进行预置,当第四个脉冲到来是恢复显示时分秒,此时的时分秒已经计数到51秒,符合预期,在设置闹钟的同时,时钟依旧计数,达到要求。

同时从初始时刻,闹钟的扬声器产生一定时长高电平可以看出整点报时功能良好,达到设计要求。

5 课程设计总结(收获、体会和建议)

本次VHDL设计的数字钟定义了三种类型的端口,分别是in、out、buffer。In和out端口使用简单,buffer端口具有回读功能,因为buffer类型的端口不能连接到其他类型的端口上,因此不利于子模块原件例化,不利于大型设计。

进程(Process)是VHDL中最为重要的部分,在本次设计中。我出现了对于时钟引入,输出多驱动,一个进程中不允许出现两个时

电子技术课程设计多功能数字时钟范文

电子技术课程设计多功能数字时钟

电子技术课程设计 数字钟的设计 一、设计任务与要求 1.能直接显示“时”、“分”、“秒”十进制数字的石英数字 钟。 2.能够24小时制或12小时制。 3.具有校时功能。能够对小时和分单独校时,对分校时的时候, 停止分向小时进位。校时时钟源能够手动输入或借用电路中的时钟。 4.整点能自动报时,要求报时声响四低一高,最后一响为整点。 5.走时精度高于普通机械时钟(误差不超过1s/d)。 二、方案设计与认证 1、课题分析 数字时钟一般由6个部分组成,其中振荡器和分频器组成标准的秒信号发生器,由不同进制的计数器,译码器和显示器组成计时系统。秒信号送入计数器进行计数,把累计的结果以“时”、“分”、“秒”的十进制数字显示出来。“时”显示由二十四进制计数器、译码器和显示器构成,“分”、“秒”显示分别由六十进制计数器、译码器构成。其原理框图如图1所示。

2、方案认证 (1)振荡器 振荡器是计时器的核心,主要用来产生时间标准信号,也叫时基信号。数字钟的精度,主要取决于时间标准信号的频率及稳定度。振荡器的频率越高,计时的精度就越高,但耗电量将增大。一般采用石英晶体振荡器经过分频后得到这一信号,也可采用由555定时器构成的多谐振荡器作为时间标准信号。 (2)分频器 振荡器产生的时基信号一般频率都很高,要使它变成能用来计时的“秒”信号,需由分频器来完成。分频器的级数和每级的分频次数要根据时基频率来定。例如,当前石英电子钟多采用32768 Hz的标准信号,将此信号经过15级二分频即可得到周期为1s的

“秒”信号。也可选用其它频率的时基信号,确定好分频次数后再选择合适的集成电路。 (3)计数器 数字钟的“秒”、“分”信号产生电路都由六十进制计数器构成,“时”信号产生电路由二十四进制计数器构成。“秒”和“分”计数器用两块十进制计数器来实现是很容易的,它们的个位为十进制,十位为六进制,这样,符合人们一般计数习惯。“时”计数也能够用两块十进制计数器实现,只是做成二十四进制。上述计数器均可用反馈清零法来实现。 (4)译码显示电路 因本设计选用的计数器全部采用二-十进制集成块,因而计数器的译码显示均采用BCD-七段显示译码器,显示器采用共阴极或共阳极的七段显示数码管。 (5)校时电路 在刚开机接通电源或计时出现误差时,都需要对时间进行校正。校“时”电路的基本原理是将周期为0.5s的脉冲信号直接引进“时”计数器,同时将“分”计数器置零,让“时”计数器快速计数,在“时”的指示达到需要的数字后,切断0.5s的脉冲信号。 (6)整点报时电路 数字钟整点报时是最基本的功能之一。此电路要求每当“分”和

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

基于FPGA的数字时钟的设计1

基于FPGA的数字时钟的设计课题: 基于FPGA的数字时钟的设计 学院: 电气信息工程学院 专业: 测量控制与仪器 班级 : 08测控(2)班 姓名 : 潘志东 学号 : 08314239 合作者姓名: 颜志林 2010 年12 月12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉与掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题与故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计与组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用与掌握,使学生在实验原理的指导下,初步具备基本电路的分析与设计能力,并掌握其应用方法;自行拟定实验步骤,检查与排除故障、分析与处理实验结果及撰写实验报告的能力。综合实验的设计目的就是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟就是一种计时装置,它具有时、分、秒计时功能与显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固与掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识与了解。

1、课题要求 1、1课程设计的性质与任务 本课程就是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析与解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力与严谨的工作作风。 1、2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别就是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别就是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真与测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1、3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时, 鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的就是在七点时进行闹钟功能,鸣叫 过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

数字钟课程设计实验报告

《电子技术课程设计报告》 教学院:电气与电子信息工程学院 专业班级:xx级电子信息工程(x)班 学号:xxxxxxxxxxxx 学生:坏水 指导教师:xxxxxxxxxxxx 时间:2011.10.10~10.23 地点:电子技术实验室

课程设计成绩评定表

电子技术课程设计任务书 2011~2012学年第一学期 学生:坏水专业班级:xx电信本x班 指导教师:xxxxxxxxx 工作部门:电气与电子信息工程学院 一、课程设计题目:多功能数字钟电路的设计/直流稳压电源的设计 二、课程设计容(含技术指标): ①拟定多功能数字钟和直流稳压电源的组成框图,要现电路的基本功能,使用 的器件少,成本低; ②画出数字钟和直流稳压电源的主体电路逻辑图; ③测试多功能数字钟的逻辑功能,同时满足基本功能与扩展功能的要求; ④设计并安装各单元电路,要求布线整齐、美观,便于级联与调试;

四、基本要求 1.基本功能:要求设计出+5V的直流稳压电源。数字钟要求以数字形式显示时、分、秒的时间。小时计数器的计时要求为“12翻1”,要求具有手动校时功能。 2.扩展功能:定时控制,其时间自定;仿广播电台正点报时,自动报整点时数或触摸报整点时数(主要体现在理论知识上进行电路设计)。 (一)实训题目:直流稳压电源和多功能数字钟。 (二)实训目的: 1、巩固和加深学生对模拟电子技术,数字逻辑电路等课程基本知识的理解,综 合运用课程中所学到的理论知识去独立完成一个实际课题。 2、根据课程需要,通过查阅手册和文献资料,培养学生独立分析和解决实际问 题的能力。 3、通过电路方案的分析、论证和比较,设计计算和选用元气件,通过电路组装, 调试和检测环节,掌握电路的分析方法和设计方法。 4、熟用常用电子元气件的类型和特性,并掌握合理选用原则。 5、掌握电路图、PCB图的设计方法,学会电路的安装与调试。 6、掌握常用仪器、仪表的正确使用方法,学会电路整机指标的测试方法。(三)实训要求

EDA课程设计——多功能数字钟

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 0802503 学号: 080250331 指导教师: 井岩

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

FPGA设计的报告课程设计

FPGA课程设计 实 验 报 告

实验一:设计一个可控的100进制可逆计数器 一、实验要求 用DE2-115开发板下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、关键词 可控制、可逆、100进制、复位、暂停、递增、递减 三、内容摘要 module updown_count(qout,reset,clk,plus,minus); output[7:0] qout;/*定义一个8位的输出,其目的是 低四位和高四位分别表示计数器的个位和十位。*/ input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零 reg[7:0] qout;//qout的数据类型为寄存器型 always @(posedge clk)//当clk上升沿到来时执行一遍下列程序 begin if(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过else begin case({minus,plus})//case语句模块,包含加,减和暂停四个模块 2'b10: if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一begin qout[3:0]<=9;//给个位赋值 if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值 else qout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一end else qout[3:0]<=qout[3:0]-1;//个位减一 /*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/ 2'b01: if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一begin

FPGA实训报告——简易数字钟

桂林电子科技大学职业技术学院 课题:FPGA实训 专业:电子信息工程技术 学号: 姓名:

目录 关键词: (1) 引言: (1) 设计要求: (1) EDA技术介绍: (1) Verilog HDL简介: (1) 方案实现: (2) 工作原理: (2) 总结: (3) 结语: (3) 程序设计: (4)

数字钟 关键词:EDA、Verilog HDL、数字钟 引言: 硬件描述语言HDL(Hardware Des-cription Language)是一种用形式化方法来描述数字电路和系统的语言。目前,电子系统向集成化、大规模和高速等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计发放在业界得到迅猛发展,HDL在硬件设计领域的地位将与C和C++在软件设计领域的地位一样,在大规模数字系统的设计中它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法,而成为主要的硬件描述工具。 Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另外一种是VHDL。现在它们都已经成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。 此次以Verilog HDL语言为手段,设计了多功能数字钟,其代码具有良好的可读性和易理解性。 设计要求: 数字钟模块、动态显示模块、调时模块、到点报时模块等;必须有键防抖动功能。可自行设计8位共阴数码管显示;亦可用FPGA实验平台EDK-3SAISE上的4位数管,但必须有秒指导灯。 EDA技术介绍: 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 Verilog HDL简介: 硬件描述语言Verilog是Philip R.Moorby于1983年在英格兰阿克顿市的Gateway Design Automation硬件描述语言公司设计出来的,用于从开关级到算法级的多个抽象设

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

FPGA课程设计报告

F P G A 课 程 设 计 报 告 学部:信息科学与技术学部 专业:通信工程 班级:10级1班 学号:100103011125 姓名:万洁 指导老师:祝宏 合作伙伴:张紫君 2012.12.13

一.《任务书》: 实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周) 实验三多功能数字钟系统(14-15周)二.实验书写格式: 一:题目要求 二:程序代码 三:操作步骤及运行结果截图 四:心得体会 三.实验附录: 一:老师提供的资源 二:关于实验所用EP4CE115F29板的简介

实验一100进制的可逆计数器 一、设计一个可控的100进制可逆计数器,要求用实验箱下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、程序如下: module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器 input CLR,PLUS,MINUS,CLK; output [7:0]OUT; reg [7:0]OUT; always@(posedge CLK) begin if(!CLR) //如果CLR为零,输出为零;反之,运行else程序 OUT[7:0]<=0; else

begin if(PLUS==0 && MINUS==1) //100进制的递减计数 begin if (OUT[3:0]==0) begin OUT[3:0]<=9; if (OUT[7:4]==0) OUT[7:4]<=9; else OUT[7:4]<=OUT[7:4]-1; end else OUT[3:0]<=OUT[3:0]-1; end if(PLUS==1 && MINUS==0) //100进制的递增计数 begin if (OUT[3:0]==9) begin OUT[3:0]<=0; if (OUT[7:4]==9) OUT[7:4]<=0; else OUT[7:4]<=OUT[7:4]+1; end else OUT[3:0]<=OUT[3:0]+1; end if(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数 if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零end end endmodule 三、运行程序 1、在quarters II9.1输入程序 打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.

Verilog HDL数字时钟课程设计

课程设计报告 课程设计名称:EDA课程设计课程名称:数字时钟 二级学院:信息工程学院 专业:通信工程 班级:12通信1班 学号:1200304126 姓名:@#$% 成绩: 指导老师:方振汉 年月日

目录 第一部分 EDA技术的仿真 (3) 1奇偶校验器 (3) 1.1奇偶校验器的基本要求 (3) 1.2奇偶校验器的原理 (3) 1.3奇偶校验器的源代码及其仿真波形 (3) 28选1数据选择器 (4) 2.18选1数据选择器的基本要求 (4) 2.28选1数据选择器的原理 (4) 2.38选1数据选择器的源代码及其仿真波形 (5) 34位数值比较器 (6) 3.14位数值比较器的基本要求 (6) 3.24位数值比较器的原理 (6) 3.34位数值比较器的源代码及其仿真波形 (7) 第二部分 EDA技术的综合设计与仿真(数字时钟) (8) 1概述 (8) 2数字时钟的基本要求 (9) 3数字时钟的设计思路 (9) 3.1数字时钟的理论原理 (9) 3.2数字时钟的原理框图 (10) 4模块各功能的设计 (10) 4.1分频模块 (10) 4.2计数模块(分秒/小时) (11) 4.3数码管及显示模块 (13) 5系统仿真设计及波形图........................... 错误!未定义书签。5 5.1芯片引脚图.................................... 错误!未定义书签。5 5.2数字时钟仿真及验证结果 (16) 5.3数字时钟完整主程序 (17) 6课程设计小结 (23) 7心得与体会 (23) 参考文献 (24)

数电课程设计报告数字钟的设计

数电课程设计报告数字钟的设计

数电课程设计报告 第一章设计背景与要求 设计要求 第二章系统概述 2.1设计思想与方案选择 2.2各功能块的组成 2.3工作原理 第三章单元电路设计与分析 3.1各单元电路的选择 3.2设计及工作原理分析 第四章电路的组构与调试 4.1遇到的主要问题 4.2现象记录及原因分析 4.3解决措施及效果 4.4功能的测试方法,步骤,记录的数据 第五章结束语 5.1对设计题目的结论性意见及进一步改进的意向说明5.2总结设计的收获与体会 附图(电路总图及各个模块详图) 参考文献

第一章设计背景与要求 一.设计背景与要求 在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。 设计一个简易数字钟,具有整点报时和校时功能。 (1)以四位LED数码管显示时、分,时为二十四进制。 (2)时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时。 (3)整点报时采用蜂鸣器实现。每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束。 (4)才用两个按键分别控制“校时”或“校分”。按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化。 二.设计要求 电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用。在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选

FPGA课程设计多功能数字钟讲解

多功能数字钟 开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计 学院:信息科学与工程学院 专业:集成电路设计与集成系统班级: 学号: 姓名: 任课教师: 2015 年7 月21 日

说明 一、论文书写要求与说明 1.严格按照模板进行书写。自己可以自行修改标题的题目 2.关于字体: a)题目:三号黑体加粗。 b)正文:小四号宋体,行距为1.25倍。 3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!! 二、设计提交说明 1.设计需要提交“电子稿”和“打印稿”; 2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。 3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。 4.“打印稿”由班长收齐后交到:12教305办公室; 5.上交截止日期:2015年7月31日17:00之前。

第一章绪论 (3) 关键词:FPGA,数字钟 (3) 第二章FPGA的相关介绍 (4) 2.1 FPGA概述 (4) 2.2 FPGA特点 (4) 2.3 FPGA设计注意 (5) 第三章Quartus II与Verilog HDL相关介绍 (7) 3.1 Quartus II (7) 3.2 Verilog HDL (7) 第四章设计方案 (8) 4.1数字钟的工作原理 (8) 4.2 按键消抖 (8) 4.3时钟复位 (8) 4.4时钟校时 (8) 4.5数码管显示模块。 (8) 第五章方案实现与验证 (9) 5.1产生秒脉冲 (9) 5.2秒个位进位 (9) 5.3按键消抖 (9) 5.4复位按键设置 (10) 5.5 数码管显示。 (10) 5.6 RTL结构总图 (11) 第六章实验总结 (14) 第七章Verilog HDL源代码附录 (15)

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

多功能数字钟(课程设计版)

题目: 多功能数字钟电路设计 器材:74LS390,74LS48,数码显示器BS202, 74LS00 3片,74LS04,74LS08,电容,开关,蜂鸣器,电阻,导线 要求完成的主要任务: 用中、小规模集成电路设计一台能显示日、时、分秒的数字电子钟,要求如下: 1.由晶振电路产生1HZ标准秒信号。 2.秒、分为00-59六十进制计数器。 3.时为00-23二十四进制计数器。 4.可手动校正:能分别进行秒、分、时的校正。只要将开关置于手动位置。可分别对秒、分、时进行连续脉冲输入调整。 5.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500HZ),整点时再鸣叫一次高音(1000HZ)。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日

索引 摘要 (4) Abstract (4) 1系统原理框图 (6) 2方案设计与论证 (7) 2.1时间脉冲产生电路 (7) 2.2分频器电路 (10) 2.3时间计数器电路 (11) 2.4译码驱动及显示单元电路 (12) 2.5校时电路 (13) 2.6报时电路 (14) 3单元电路的设计 (15) 3.1时间脉冲产生电路的设计 (15) 3.2计数电路的设计 (16) 3.2.1 60进制计数器的设计 (16) 3.2.2 24进制计数器的设计 (16) 3.3 译码及驱动显示电路 (17) 3.4 校时电路的设计 (18)

3.5 报时电路 (19) 3.6电路总图 (21) 4仿真结果及分析 (22) 4.1时钟结果仿真 (22) 4.2 秒钟个位时序图 (22) 4.3报时电路时序图 (23) 4.4测试结果分析 (23) 5心得与体会 (24) 6参考文献 (24) 附录1原件清单 (26) 附录2部分芯片引脚图与功能表 (27)

fpga数字钟课程设计报告

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 学号:20133638 姓名:王一丁 指导教师:李世平 设计时间:2016年1月

摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟

目录 摘要 1 课程设计目的 2 课程设计内容及要求 2.1 设计任务 2.2 设计要求 3 VHDL程序设计 3.1方案论证 3.2 系统结构框图 3.3设计思路与方法 3.3.1 状态控制模块 3.3.2 时分秒模块 3.3.3 年月日模块 3.3.4 显示模块 3.3.5脉冲产生模块 3.3.6 扬声器与闹钟模块 3.4 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献

1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。 2 课程设计内容及要求 2.1 设计任务 (1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。 (2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、 五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。 (3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。 2.2 设计要求 (1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。 (2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

推荐-基于多功能数字钟的课程设计报告 精品

EDA技术课程设计 多功能数字钟 学院:城市学院 专业、班级: 姓名: 指导老师: 20XX年12月

目录 1、设计任务与要求 (2) 2、总体框图 (2) 3、选择器件 (2) 4、功能模块 (3) (1)时钟记数模块 (3) (2)整点报时驱动信号产生模块 (6) (3)八段共阴扫描数码管的片选驱动信号输出模块 (7) (4)驱动八段字形译码输出模块 (8) (5)高3位数和低4位数并置输出模块 (9) 5、总体设计电路图 (10) (1)仿真图 (10) (2)电路图 (10) 6、设计心得体会 (11)

一、设计任务与要求 1、具有时、分、秒记数显示功能,以24小时循环计时。 2、要求数字钟具有清零、调节小时、分钟功能。 3、具有整点报时,整点报时的同时输出喇叭有音乐响起。 二、总体框图 多功能数字钟总体框图如下图所示。它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。 系统总体框图 三、选择器件 网络线若干、共阴八段数码管4个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、 seltime(驱动4位八段共阴扫描数码管的片选 驱动信号输出模块)、deled(驱动八段字形译 码输出模块)。

四、功能模块 多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。 (1) 时钟记数模块: <1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。 VHDL程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hour24 is port( clk: in std_logic; reset:instd_logic; qh:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); ql:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); end hour24; architecture behav of hour24 is begin process(reset,clk) begin if reset='1' then qh<="000"; ql<="0000"; elsif(clk'event and clk='1') then if (qh<2) then if (ql=9) then ql<="0000"; qh<=qh + 1; else ql<=ql+1; end if; else if (ql=3) then ql<="0000"; qh<="000"; else ql<=ql+1; end if; end if; end if; end process; end behav; 仿真波形如下:

多功能数字钟电路设计

课程设计任务书 学生姓名: XXX 专业班级: 指导教师:工作单位: 题目: 多功能数字钟电路设计 初始条件:74LS390,74LS48,数码显示器BS202各6片,74LS00 3片,74LS04,74LS08各 1片,电阻若干,电容,开关各2个,蜂鸣器1个,导线若干。 要求完成的主要任务: 用中、小规模集成电路设计一台能显示日、时、分秒的数字电子钟,要求如下: 1.由晶振电路产生1HZ标准秒信号。 2.秒、分为00-59六十进制计数器。 3.时为00-23二十四进制计数器。 4.可手动校正:能分别进行秒、分、时的校正。只要将开关置于手动位置。可分别对秒、分、时进行连续脉冲输入调整。 5.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500HZ),整点时再鸣叫一次高音(1000HZ)。 时间安排: 第20周理论设计、实验室安装调试,地点:鉴主15楼通信实验室一 指导教师签名:年月日 系主任(或责任教师)签名:年月日

多功能数字钟电路设计 摘要 (1) Abstract (2) 1系统原理框图 (3) 2方案设计与论证 (4) 2.1时间脉冲产生电路 (4) 2.2分频器电路 (6) 2.3时间计数器电路 (7) 2.4译码驱动及显示单元电路 (8) 2.5校时电路 (8) 2.6报时电路 (10) 3单元电路的设计 (12) 3.1时间脉冲产生电路的设计 (12) 3.2计数电路的设计 (12) 3.2.1 60进制计数器的设计 (12) 3.2.2 24进制计数器的设计 (13) 3.3译码及驱动显示电路 (14) 3.4 校时电路的设计 (14) 3.5 报时电路 (16) 3.6电路总图 (17) 4仿真结果及分析 (18) 4.1时钟结果仿真 (18) 4.2 秒钟个位时序图 (18) 4.3报时电路时序图 (19) 4.4测试结果分析 (19) 5心得与体会 (20) 6参考文献 (21) 附录1原件清单 (22) 附录2部分芯片引脚图与功能表 (23) 74HC390引脚图与功能表 (23)

FPGA课程设计题目

1、彩灯控制器设计 内容及要求: 设计一个彩灯控制器,具体设计要求如下: (1)要有多种花型变化(至少设计5种),led至少16路 (2)多种花型可以自动变化 (3)彩灯变换的快慢节拍可以选择 (4)具有清零开关 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 2、数字秒表设计 内容及要求: 设计一用于体育比赛的数字秒表,具体设计要求如下: (1)6位数码管显示,其中两位显示min,四位显示see,显示分辨率为0.01 s。 (2)秒表的最大计时值为59min59.99see。 (3)设置秒表的复位/启动键,按一下该键启动计时,再按即清0。依此循环。 (4)设置秒表的暂行/继续键。启动后按一下暂行,再按继续。依此循环。 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 3、交通信号控制系统设计 内容及要求: 设计一个十字路口交通控制系统,具体设计要求如下: (1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒, 交通灯运行的切换示意图和时序图分别如图1、图2所示。 (2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。 (3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。 图1 交通灯运行切换示意图

B红 CP A绿 A黄 A红 B黄 B绿 5S 5S 图2 交通灯时序图 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 4、简易密码锁设计 内容及要求 设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。否则进入“错误”状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又自动等待下一个开锁状态。 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 5、出租车计价器设计 内容及要求 (1)设一个出租车自动计费器,计费包括起步价、行驶计费和等待计费三个部分,用4个数码管显示出金额数目,最大值为999.9元,最小计价单位为0.1元。行驶里程在3公里范围内且等待时间未超过三分钟时按起步价8元计费;行驶里程超过三公里后按每公里2元收费;等待时间超过三分钟后按每分钟1元收费。等待时间用两个数码管显示,最大值为59分钟。 总费用=起步价+(里程-3km )*里程单价+(等待时间-3)*等候单价 (2)能够实现的功能: 显示汽车行驶里程:用四位数字显示,单位为km 。 计程范围为0~99km ,计程分辨率为1km 。 显示等候时间:用两位数字显示分钟,单位为min 。计时范围为0~59min ,计时分辨率为1min 。

相关主题
文本预览
相关文档 最新文档