VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx

上传人:b****6 文档编号:16137784 上传时间:2022-11-20 格式:DOCX 页数:24 大小:1.38MB
下载 相关 举报
VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx_第1页
第1页 / 共24页
VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx_第2页
第2页 / 共24页
VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx_第3页
第3页 / 共24页
VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx_第4页
第4页 / 共24页
VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx

《VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx》由会员分享,可在线阅读,更多相关《VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

VHDL数字系统设计多功能手表的设计时钟秒表闹钟文档格式.docx

输出信号

hours时间模式的小时

minutes时间模式的分钟

seconds时间模式的秒

ahours闹钟模式的小时

aminutes闹钟模式的分

ring闹钟响铃信号

am_pm时间模式的a.m或者p.m指示(为0时表示a.m,为1时表示p.m)

aam_pm闹钟模式的a.m或者p.m指示(为0时表示a.m,为1时表示p.m)

disp_time1显示时间模式的时、分、秒标志,为1时显示,为零时不显示

disp_alarm显示闹钟模式的时、分标志,为1时显示,为零时不显示

中间信号:

   inc_hrs时间模式的小时加1

   inc_min时间模式的分钟加1

   inc_sec时间模式的秒加1

   inc_ahrs闹钟模式的小时加1

   inc_amin闹钟模式的分钟加1

alarm_off时间模式下如果闹钟响,关闹钟信号

   set_alarm闹钟模式下,开启关闭闹钟信号

   alarm_set闹钟模式下设置闹钟信号

S_hours时间模式的小时hours寄存信号

   S_minutes时间模式的分钟minutes寄存信号

   S_seconds时间模式的秒seconds寄存信号

   S_ahours闹钟模式的小时ahours寄存信号

   S_aminutes闹钟模式的分钟aminutes寄存信号

   S_ring闹钟模式的闹钟响铃ring寄存信号

   S_am_pm时间模式的am_pm寄存信号

   S_aam_pm闹钟模式的aam_pm寄存信号

   

3、主程序代码:

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useieee.numeric_bit.bit;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entitymainis

port(B1,B2,B3,clk,rst:

instd_logic;

hours,minutes,seconds,ahours,aminutes:

outstd_logic_vector(7downto0);

ring,am_pm,aam_pm,disp_time1,disp_alarm:

outstd_logic);

endmain;

architectureBehavioralofmainis

componentclockis----时钟模块

port(clk,rst,inc_hrs,inc_min,inc_sec,inc_ahrs,inc_amin,

set_alarm,alarm_off:

hours,ahours,minutes,aminutes,seconds:

inoutstd_logic_vector(7downto0);

am_pm,aam_pm,ring,alarm_set:

inoutstd_logic);

endcomponent;

componentcontrolis-----按键控制模块

alarm_off,set_alarm:

inoutstd_logic;

disp_time1,disp_alarm,inc_hrs,inc_min,inc_sec,

inc_ahrs,inc_amin:

signalinc_hrs,inc_min,inc_sec,inc_ahrs,inc_amin,

alarm_off,set_alarm,alarm_set:

std_logic;

signalS_hours,S_minutes,S_seconds,S_ahours,S_aminutes:

std_logic_vector(7downto0);

signalS_ring,S_am_pm,S_aam_pm:

begin

-----按键控制,时钟运行模块,以及最后输出模块使用并发语句设计

controllor:

controlportmap(B1,B2,B3,clk,rst,alarm_off,set_alarm,

disp_time1,disp_alarm,inc_hrs,inc_min,inc_sec,inc_ahrs,inc_amin);

clock1:

clockportmap(clk,rst,inc_hrs,inc_min,inc_sec,inc_ahrs,inc_amin,

            set_alarm,alarm_off,S_hours,S_ahours,S_minutes,S_aminutes,

            S_seconds,S_am_pm,S_aam_pm,S_ring,alarm_set);

hours<

=S_hours;

minutes<

=S_minutes;

seconds<

=S_seconds;

ahours<

=S_ahours;

aminutes<

=S_aminutes;

am_pm<

=S_am_pm;

aam_pm<

=S_aam_pm;

ring<

=S_ring;

endBehavioral;

(1)综合电路图:

5、按键控制模块说明:

(1)状态转移图:

(2)ASM图

  (3)信号说明:

  与前面重复的这里不再赘述

  present_state当前状态

  next_state下一个状态

  七个状态说明:

  time1时间显示模式

set_sec调整时间的秒模式

set_min,调整时间的分钟模式

set_hrs,调整时间的小时模式

alarm,闹钟模式

set_alarm_hrs,调整闹钟的小时模式

set_alarm_min调整闹钟的分钟模式

  

  (4)程序代码

libraryIEEE;

--useieee.numeric_bit.bit;

entitycontrolis

disp_time1,disp_alarm,inc_hrs,inc_min,inc_sec,inc_ahrs,inc_amin:

endcontrol;

architectureBehavioralofcontrolis

typestateis(time1,set_sec,set_min,set_hrs,alarm,set_alarm_hrs,set_alarm_min);

signalpresent_state,next_state:

state;

process(clk,rst)

begin

ifrst='

1'

then------异步复位

present_state<

=time1;

elsif(clk'

eventandclk='

)then------采用时钟边沿触发

present_state<

=next_state;

endif;

endprocess;

process(B1,B2,B3,present_state,rst)-----由按键控制的状态转换进程

ifrst='

then---------------异步复位

alarm_off<

='

0'

;

set_alarm<

else

casepresent_stateis

whentime1=>

---------------时间显示----------

inc_hrs<

inc_min<

inc_sec<

inc_ahrs<

inc_amin<

disp_time1<

disp_alarm<

----状态输出

ifB1='

thennext_state<

=alarm;

elsifB2='

=set_hrs;

elsifB3='

thenalarm_off<

=notalarm_off;

next_state<

elsenext_state<

endif;

whenset_hrs=>

--------------------------设置时间

inc_min<

inc_hrs<

inc_ahrs<

ifB2='

=set_min;

theninc_hrs<

whenset_min=>

-------------------设置分钟

ifB2='

=set_sec;

theninc_min<

whenset_sec=>

-------------------------设置秒

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1