数字钟上机实训课程设计报告_第1页
数字钟上机实训课程设计报告_第2页
数字钟上机实训课程设计报告_第3页
数字钟上机实训课程设计报告_第4页
数字钟上机实训课程设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计报告要求一、题目分析1、分析要求,确定总体方框图;2、确定必须完成的 技术指标 或功能要求 (必须有依据、合理、不能带有随意性) 。二、选择方案根据总体方框图及各部分分配的技术指标(或功能)找出可实现的不同方案。从可能性、繁简程度、可靠性、通用性等方面进行分析,有理有据选定方案。三、细化框图根据选定的方案,以自顶向下的方法实现此方案的细化框图,确定功能模块、控制模块等。四、编写应用程序并仿真五、全系统联调,画出整机电路,波形图等。六、硬件测试及说明。七、结论八、课程总结九、参考文献目录十、附录(源程序)注:要求每位同学从自己所做的工作角度按以上顺序写出设计报告,要求正文不少于3000字,不

2、包括源程序,源程序(加中文注释)作为附录,a4 纸打印。vhdl 课程设计设计报告一、设计要求1、具有以二十四小时计时、显示、整点报时、时间设置和闹钟的功能。2、设计精度要求为 1s。二系统功能描述1 . 系统输入:系统状态及校时、定时转换的控制信号为k、mode、set;时钟信号 clk, 采用 1024hz;系统复位信号为reset。输入信号均由按键产生。系统输出: led 显示输出,蜂鸣器声音信号输出。多功能数字钟系统功能的具体描述如下:2. 计时:正常工作状态下,每日按24h 计时制计时并显示,蜂鸣器无声,逢整点报时。3. 校时:在计时状态显示下,按下“set键” ,进入“小时”校准状

3、态,之后按下“k 键”则进入“分”校准状态,继续按下“ k 键”则进入“秒复零”状态,第三次按下“k 键”又恢复到正常计时显示状态。1) “小时”校准状态:在“小时”校准状态下,显示“小时”数码管以1hz 的频率递增计数。2) “分”校准状态:在“分”校准状态下,显示“分”的数码管以1hz 的频率递增计数。3) “秒”复零状态:在“秒复零”状态下,显示“秒”的数码管复零。4. 整点报时:蜂鸣器在“59”分钟的第“ 51” 、 “53” 、 “55” 、 “57秒发频率为512hz 的低音,在“59”分钟的第“59”秒发频率为1024hz 的高音,结束时为整点。5. 显示:要求采用扫描显示方式驱

4、动6 个 led 数码管显示小时、分、秒。闹钟:闹钟定时时间到,蜂鸣器发出周期为1s 的“滴”、 “滴”声,持续时间为10s;闹钟定时显示。6. 闹钟定时设置:在闹钟定时显示状态下,按下“set 键” ,进入闹钟的“时”设置状态,之后按下“k 键”进入闹钟的“分”设置状态,继续按下“k 键”则进入“秒”设置状态,第三次按下“k 键”又恢复到闹钟定时显示状态。1)闹钟“小时”设置状态:在闹钟“小时”设置状态下,显示“小时”的数码管以1hz 的频率递增计数。2)闹钟: “分”设置状态:在闹钟“分”设置状态下,显示“分”的数码管以1hz 的频率递增计数。三、控制器的 mds 图及多功能数字系统结构逻

5、辑框图1、控制器的 mds 图s0:显示计时时间s1:调计时的时s2:调计时的分s3:调计时的秒s4:显示闹铃时间s5:调闹铃的时s6:调闹铃的分s7:调闹铃的秒2、多功能数字系统结构逻辑框图s0 s4 s2 s3 s7 s1 s5 s6 mode=1,set=0 k=1 k=0 set=1 k=1 k=0 set=1 k=1 k=1 k=1 k=1 chschtcmscmtcstcssmode=1,set=0 四、各功能模块设计说明及源程序1、控制器:设计说明:根据外部的输入控制信号,完成各个状态之间的转换,并在相应状态输出相应的控制信号,从而对整个系统的工作进行控制。控制器 : libra

6、ry ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity contl is port(clk,reset,k,set:in std_logic; cht,cmt,cst,cha,cma,csa,flashh,sel_showflashm,flashs:out std_logic); end contl; architecture ar of contl is type state_type is(s0,s1,s2,s3,s4,s5,s6,s7); signal state:state_type; beg

7、in process(clk,reset,k,set) begin if(rising_edge(clk)then if(reset=1)then statesel_show=1; cht=1;flashh=1; if(k=1)then state=s2; else statesel_show=1; cmt=1;flashm=1; if(k=1 )then state=s3; else statesel_show=1; cst=1;flashs=1; if(k=1 )then state=s0; else statesel_show=0; if(k=0 and set=1)then state

8、=s5; elsif(k=1 and set=0)then state=s0; else statesel_show=0; cha=1;flashh=1; if(k=1)then state=s6; else statesel_show=0; cma=1;flashm=1; if(k=1 )then state=s1; else statesel_show=0; csa=1;flashs=1; if(k=0 and set=1)then state=s4; else statesel_show=1; if(k=0 and set=1)then state=s1; elsif(k=1 and s

9、et=0)then state=s4; else state=s0; end if; end case; end if; end process; end ar; 2、计时校时电路:设计说明:该电路实现计时、校时功能。源程序:二十四进制计数器:源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity m24 is port(en,clk : in std_logic; p0,p1 :out std_logic_vector(3 downto 0); end m24; architec

10、ture ar of m24 is signal q0,q1:integer range 0 to 15; begin process(clk) begin if (rising_edge(clk) then if (en=0 or (q0=3 and q1=2) then q0=0; q1=0; elsif(q0=9) then q0=0; q1=q1+1; else q0=q0+1; end if; end if; p0= conv_std_logic_vector(q0,4); p1= conv_std_logic_vector(q1,4); end process; end ar; 六

11、十进制计数器:源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity m60 is port(en,clk : in std_logic; x: out std_logic; p0,p1:out std_logic_vector(3 downto 0); end m60; architecture ar of m60 is signal q0,q1:integer range 0 to 15; begin process(clk) begin if (rising_edge(clk

12、) then if (en=0 or (q0=9 and q1=5) then q0=0; q1=0; x=1; elsif(q0=9) then q0=0; q1=q1+1; else q0=q0+1;x=0; end if; end if; p0= conv_std_logic_vector(q0,4); p1= conv_std_logic_vector(q1,4); end process; end ar; 选择器源程序:library ieee; use ieee.std_logic_1164.all; entity conl is port(f1,f4,c: in std_logi

13、c; f :out std_logic); end conl; architecture ar of conl is begin process(c,f1,f4) begin if(c=0)then f=f1; else f=f4; end if; end process; end ar; 3、显示控制电路:设计说明:该模块控制最终显示的计时时间还是闹铃时间。源程序:library ieee; use ieee.std_logic_1164.all; entity show_con is port(ts1,ts2,tm1,tm2,th1,th2,bs1,bs2,bm1,bm2,bh1,bh2:

14、in std_logic_vector(3 downto 0); s1,s2,m1,m2,h1,h2,line:out std_logic_vector(3 downto 0); sel_show ,clk,flashs,flashm,flashh:in std_logic); end show_con; architecture ar of show_con is signal q:integer range 0 to 1; begin process(clk) begin if(rising_edge(clk)then q=q+1; if(flashh=1and q=1)then h1=1

15、111;h2=1111; elsif(flashm=1and q=1)then m1=1111;m2=1111; elsif(flashs=1and q=1)then s1=1111;s2=1111; else if(sel_show=1 )then s1=ts1; s2=ts2; m1=tm1; m2=tm2; h1=th1; h2=th2; else s1=bs1; s2=bs2; m1=bm1; m2=bm2; h1=bh1; h2=bh2; end if; end if; end if; line=1110; end process; end ar; 4、定时比较电路:设计说明 :包含

16、两个模块,定时模块和比较模块;完成定时时间的设定、定时时间的输出、计时时间与定时时间比较并输出相应的比较结果控制蜂鸣器的工作,从而实现闹铃功能。比较模块源程序:library ieee; use ieee.std_logic_1164.all; entity com_t_d is port(clk : in std_logic; comout: out std_logic; th1,th2,tm1,tm2,ts1,ts2,h1,h2,m1,m2:in std_logic_vector(3 downto 0); bh1,bh2,bm1,bm2,bs1,bs2:out std_logic_vect

17、or(3 downto 0); end com_t_d; architecture ar of com_t_d is begin process(clk) begin if(rising_edge(clk)then if(th1=h1 and th2=h2 and tm1=m1 and m2=tm2)then comout=1; bh1= th1; bh2= th2; bm1= tm1; bm2= tm2; bs1= ts1; bs2= ts2; else comout=0; bh1= th1; bh2= th2; bm1= tm1; bm2= tm2; bs1= ts1; bs2= ts2;

18、 end if; end if; end process; end ar; 定时模块逻辑框图:总图:5、报时闹铃电路:设计说明:该模块整点报时和闹铃输出。源程序:library ieee; use ieee.std_logic_1164.all; entity bel is port(m1,m2,s1,s2:in std_logic_vector(3 downto 0); bell:out std_logic; compout,f512,f1024,clk,k:in std_logic); end bel; architecture ar of bel is begin process(m1,

19、m2,s1,s2,compout,clk) begin if(rising_edge(clk)then if(k=1)then if(compout=1) then bell=f1024; elsif(m1=0101 and m2=1001 and s1=0101 and s2=0001 )then bell=f512; elsif(m1=0101 and m2=1001 and s1=0101 and s2=0011 )then bell=f512; elsif(m1=0101 and m2=1001 and s1=0101 and s2=0101 )then bell=f512; elsif(m1=0101 and m2=1001 and s1=0101 and s2=0111 )then bell=f512; elsif(m1=0101 and m2=1001 and s1=0101 and s2=1001 )then bell=f512; else bell=clk; end if; else bellqqqqqqqqq=xxxxxxxx; end cas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论