欢迎来到天天文库
浏览记录
ID:9389361
大小:87.50 KB
页数:17页
时间:2018-04-29
《eda课程设计-电子钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、EDA课程设计-电子钟一、设计要求1、基本功能要求:设计一个电子时钟,要求可以显示时、分、秒,用户可以设置时间。扩展功能要求:2、跑表功能,闹钟功能,调整数码管的亮度。二、系统结构控制键—jian5、jian4、jian7、jian8:数码管显示段选信号输出sg:——选择6位数码管中的某一个显示数据;发光二极管控制信号输出—led(7~0)闹钟声音输出—speaker通过一个10M信号分出各种所需频率功能介绍运行后,选择模式7,8位数码管分显示时间的时、分、秒,当前为模式0:时间显示模式,按键7为模式选择键,按下按键7,系统进入模式1,第二次按下为模式2,设置时间模式,第三次按下
2、为跑表模式,第四次为闹钟设置模式,第五次为亮度调节模式:设置时间模式,按键4控制更改数码管的位,按键5控制选中数码管的数值,时间设置完成后,按键按键8,设置时间会保存住,并在模式0中显示;系统进入模式2:秒表模式,按键4为开始/结束键,按键5为清零键;系统进入模式3:闹钟设置模式,相关设置与模式1相同,当当前时间与闹钟设置时间相同时,喇叭就会响;系统进入模式4:亮度调节模式,通过按键4设置亮度,共三种亮度;再按下按键7,系统又会进入模式0。4、RTL图三、VHDL源程序1、libraryieee;--通过10M分出所需频率useieee.std_logic_1164.all;us
3、eieee.std_logic_unsigned.all;entityfenpinisport(clk_10M:instd_logic;clk_10000:outstd_logic;clk_100:outstd_logic;clk_1:outstd_logic);endentity;architecturesub1offenpinissignalQ_1:std_logic_vector(8downto0);signalQ_2:std_logic_vector(6downto0);signalQ_3:std_logic_vector(6downto0);signalclk10000
4、:std_logic;signalclk100:std_logic;signalclk1:std_logic;beginprocess(clk_10M)beginifclk_10M'eventandclk_10M='1'thenifQ_1=500thenQ_1<="";clk10000<=notclk10000;ifQ_2=100thenQ_2<="";clk100<=notclk100;ifQ_3=100thenQ_3<="";clk1<=notclk1;elseQ_3<=Q_3+1;endif;elseQ_2<=Q_2+1;endif;elseQ_1<=Q_1+1;endif
5、;endif;endprocess;clk_10000<=clk10000;clk_100<=clk100;clk_1<=clk1;endsub1;2、libraryieee;--扫描数码管useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityxianshiisport(clk_10000:instd_logic;jian4:instd_logic;moshi:inintegerrange0to4;a0,a1,a3,a4,a6,a7:inintegerrange0to9;sg11:outstd_logic_
6、vector(6downto0);bt11:outstd_logic_vector(7downto0));end;architectureoneofxianshiissignalcnt8:std_logic_vector(2downto0);signala:integerrange0to15;signallight:std_logic;signalflash:integerrange0to2;signalcount1,count2:integerrange0to10;beginp1:process(cnt8,light,a0,a1,a3,a4,a6,a7)begincasecnt
7、8iswhen"000"=>bt11<=""&(light);a<=a0;when"001"=>bt11<=""&(light)&'0';a<=a1;when"010"=>bt11<="00000"&(light)&"00";a<=15;when"011"=>bt11<="0000"&(light)&"000";a<=a3;when"100"=>bt11<="000"&(light)&"0000";a<=a4;when"101"=>bt11<="00"&(light)&"0000
此文档下载收益归作者所有