ZKX's LAB

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

2020-07-26知识22

基于FPGA的数字钟的设计 靠!你不会是农大的吧!基于FPGA数字时钟设计 给你一个八位数码管的程序(VHDL的)。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DIANZIZHONG ISPORT(CLK:IN STD_LOGIC;JIEZOU:IN STD_LOGIC;KAIGUAN:IN STD_LOGIC;MODE:IN STD_LOGIC;TIAOFEN:IN STD_LOGIC;TIAOSHI:IN STD_LOGIC;COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LIUSHUI:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LEDS1:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);LEDS2:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY;ARCHITECTURE BEHAVE OF DIANZIZHONG ISSIGNAL CLKIN1:STD_LOGIC;SIGNAL CLKIN2:STD_LOGIC;SIGNAL CLKIN3:STD_LOGIC;SIGNAL CLK1:STD_LOGIC;SIGNAL CO1:STD_LOGIC;SIGNAL CO2:STD_LOGIC;SIGNAL TEMP:INTEGER RANGE 0 TO 25;SIGNAL BCDOUT:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SEL:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL SEC1,SEC0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MIN1,MIN0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HOUR1,HOUR0:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)VARIABLE CNT:INTEGER RANGE 0 TO 12000000;BEGINIF(CLK'EVENT AND CLK='1')THENIF(CNT=12000000)THENCNT:=0;CLKIN1;ELSECNT:=CNT+1;。基于FPGA显示数字钟 这个应该要用SOPC做,因为在LCD上实现这个针式数字钟比较复杂,应该在软件上做,所以应该用上nios处理器,然后想办法在这个处理器上用软件的方法。至于你说如何实现时钟各针的变化,我想应该是改变图片的属性来实现各针的位置变化的。至于算法是怎样的,这个可以查一下C++做的数字钟,关于这方面的资料还是很多的。基于FPGA技术的数字时钟万年历设计 【实验目的】:设计一个24小时e799bee5baa6e79fa5e98193e59b9ee7ad9431333262353339制数字钟,要求能显示时,分,秒,并且可以手动调整时和分【试验中所用器材】:开发环境MAX—PLUSII,ZY11EDA13BE 试验系统,VHDL 语言.【设计原理】数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分为模60计数器,小时是模24计数器,分别产生3位BCD码。BCD码经译码,驱动后接数码管显示电路。秒模60计数器的进位作为分模60计数器的时钟,分模60计数器的进位作为模24计数器的时钟。为了实现手动调整时间,在外部增加了setm(调整分),seth(调整时)按键,当这两个按键为低电平时,电路正常计时,当为高电平时,分别调整分,时。同时在外部还增加了一个清零按键clr.和消抖动电路。【单元模块设计部分】消抖动电路关键部分signal key_in1,key_in2:std_logic:='0';beginprocess(clk,key_in)beginif clk'event and clk='1' thenkey_in1;key_in2;if key_in='1' and key_in1='1' and key_in2='1' then key_out;else key_out;时序仿真图模60计数器程序关键部分:signal md_temp,mg_temp:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr='1' 。基于FPGA的数字时钟能不用开发板吗,直接用QuartusII可以仿真出来吗 可以单个模块进行仿真,顶层文件需要的信号周期太多,不能仿真。可以用MODELSIM仿真。题目: 基于FPGA数字钟的设计与调试 这个设计很容易。核心的也就是几个计数器而已。秒计数器计数59后,分计数器+1,同时秒归0以此类推。当分计数器到59的时候,时计数器+1,同时分归0以此类推。当时计数器=23,分计数器=59,秒计数器=59时,全部复位为0另外整点报时功能,需要加入一个信号ring signal(这个信号时接给蜂鸣器的),也就是当分计数器=59,秒计数器=59时。给出一个ring signal=1,这个ring signal=1的信号要持续多久,就看你自己设计经过几个时钟周期,让其停止。而音调的高低:可以给蜂鸣器送不同的电压来确定。响几声的话:你可以设计成比如说,一个时钟周期,就是相当于你的2HZ的2秒钟首先 ring signal=1,然后下一个时钟周期ring sianl=0,再等于1,再等于0,再等于1,再等于0,再等于1,再等于0,这样四声低的就完成了,然后下一声高的,你就可以用另外一个信号ring siangl2持续一个时钟周期。ring signal2=1,再复位为0注意ring signal 和ring signal2的信号电压要给的不同,保证音调高低另外重要的是还需要一个模块来驱动数码管。就相当于说是告诉数码管在它显示1,2,3,4,5,6,7,8,9,0的时候,它的七段 灯是怎么样亮的。而且数码管还分共阴共阳极。可以根据其情况来给它。基于fpga数字时钟设计的主程序 如果你有兴趣,我把细节都给你module topinput clk,input rst,output CE,output SCLK,inout IO,output CS,output AO,output SCL,output SDIreg read_ds1302_start;wire read_ds1302_done;wire[23:0]read_ds1302_time;read_ds1302_time U1(clk,rst,read_ds1302_start,read_ds1302_done,read_ds1302_time,CE,SCLK,IO);reg write_lcd_start;wire write_lcd_done;write_lcd_time U2(clk,rst,CS,AO,SCL,SDI,write_lcd_start,write_lcd_done,read_ds1302_time);parameter T100ms=21'd2_000_000;reg[20:0]count;always@(posedge clk,negedge rst)if。rst)count;else if(count)count;elsecount;reg[1:0]i;reg[3:0]temp;always@(posedge clk,negedge rst)if。rst)beginread_ds1302_start;write_lcd_start;i;endelsecase(i)2'd0:if(count=T100ms)beginread_ds1302_start;i;end2'd1:beginread_ds1302_start;if(read_ds1302_done)if(read_ds1302_time[3:0]。temp)begintemp[3:0];write_lcd_start;i;endelsei;end2'd2:beginwrite_lcd_start;if(write_lcd_done)i;endendcaseendmodule基于FPGA的多功能数字钟 本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Altera QuartusⅡ4.1和ModelSim SE 6.0完成综合、仿真.此程序通过下载到FPGA芯片后,可应用于实际的数字钟显示中.设计一个基于FPGA的数字时钟 秒计数器计数59后,分计数器+1,同时秒归0以此类推。当分计数器到59的时候,时计数器+1,同时分归0以此类推。当时计数器=23,分计数器=59,秒计数器=59时,全部复位为0另外整点报时功能,需要加入一个信号ring signal(这个信号时接给蜂鸣器的),也就是当分计数器=59,秒计数器=59时。给出一个ring signal=1,这个ring signal=1的信号要持续多久,就看你自己设计经过几个时钟周期,让其停止。而音调的e68a84e8a2ade799bee5baa6e79fa5e9819331333264633438高低:可以给蜂鸣器送不同的电压来确定。响几声的话:你可以设计成比如说,一个时钟周期,就是相当于你的2HZ的2秒钟首先 ring signal=1,然后下一个时钟周期ring sianl=0,再等于1,再等于0,再等于1,再等于0,再等于1,再等于0,这样四声低的就完成了,然后下一声高的,你就可以用另外一个信号ring siangl2持续一个时钟周期。ring signal2=1,再复位为0注意ring signal 和ring signal2的信号电压要给的不同,保证音调高低另外重要的是还需要一个模块来驱动数码管。就相当于说是告诉数码管在它显示1,2,3,4,5,6,7,8,9,0的时候,它的七段 灯是怎么样亮的。而且数码管还分共阴共阳极。可以根据其情况。设计一个基于FPGA的数字时钟 一帆风顺年年好 万事如意步步高 横批:五福临门

#vector#ds1302#数字钟#fpga#程序调试

随机阅读

qrcode
访问手机版