收藏 分销(赏)

多功能数字秒表.doc

上传人:仙人****88 文档编号:9450756 上传时间:2025-03-26 格式:DOC 页数:4 大小:39KB 下载积分:10 金币
下载 相关 举报
多功能数字秒表.doc_第1页
第1页 / 共4页
多功能数字秒表.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
------------------------------------- -- Title:多功能数字秒表 -- -- Author:Pan hongtao -- -- Data: 2006-10-1 -- ------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; -------------------------------------------------------------------- entity stopwatch is port( Clk : in std_logic; --时钟输入 reset : in std_logic; --复位输入 start,over : in std_logic; --秒表控制输入 ledag : out std_logic_vector(6 downto 0); --七段码管显示输出 SEL : buffer std_logic_vector(2 downto 0) --七段码管扫描驱动 ); end stopwatch; -------------------------------------------------------------------- architecture behave of stopwatch is signal Disp_Temp : integer range 0 to 15; signal Disp_Decode : std_logic_vector(6 downto 0); signal mSEC1,mSEC10 : integer range 0 to 9; signal SEC1,SEC10 : integer range 0 to 9; signal MIN1,MIN10 : integer range 0 to 9; signal HOUR1,HOUR10 : integer range 0 to 9; signal Clk1kHz : std_logic; signal Clk100Hz : std_logic; signal Start_Flag : std_logic; signal Music_Count : std_logic_vector(2 downto 0); begin PROCESS(clk) --generate 100hz clock signal variable cnt : INTEGER RANGE 0 TO 499999;--产生100Hz时钟的分频计数器 BEGIN IF clk='1' AND clk'event THEN IF cnt=499999 THEN cnt:=0; ELSE IF cnt<250000 THEN clk100hz<='1'; ELSE clk100hz<='0'; END IF; cnt:=cnt+1; END IF; END IF; END PROCESS; PROCESS(clk) --generate 1khz clock signal variable cnt1 : INTEGER RANGE 0 TO 49999;--产生1kHz时钟的分频计数器 BEGIN IF clk='1' AND clk'event THEN IF cnt1=49999 THEN cnt1:=0; ELSE IF cnt1<25000 THEN clk1khz<='1'; ELSE clk1khz<='0'; END IF; cnt1:=cnt1+1; END IF; END IF; END PROCESS; process(Clk100Hz) begin if(reset='0') then --系统复位 mSEC1<=0; mSEC10<=0; SEC1<=0; SEC10<=0; MIN1<=0; MIN10<=0; HOUR1<=0; HOUR10<=0; Start_Flag<='0'; elsif(start='0' and Start_Flag='0') then Start_Flag<='1'; elsif(over='0' and Start_Flag='1') then Start_Flag<='0'; elsif(Clk100Hz'event and Clk100Hz='1') then --正常运行 if(Start_Flag='1') then if(mSEC1=9) then mSEC1<=0; if(mSEC10=9) then mSEC10<=0; if(SEC1=9) then SEC1<=0; if(SEC10=5) then SEC10<=0; if(MIN1=9) then MIN1<=0; if(MIN10=5) then MIN10<=0; if(HOUR1=9) then HOUR1<=0; if(HOUR10=9) then HOUR10<=0; else HOUR10<=HOUR10+1; end if; else HOUR1<=HOUR1+1; end if; else MIN10<=MIN10+1; end if; else MIN1<=MIN1+1; end if; else SEC10<=SEC10+1; end if; else SEC1<=SEC1+1; end if; else mSEC10<=mSEC10+1; end if; else mSEC1<=mSEC1+1; end if; end if; end if; end process; process(SEL) begin if(HOUR1=0) then case (SEL+1) is when "111"=>Disp_Temp<=MIN10; when "110"=>Disp_Temp<=MIN1; when "101"=>Disp_Temp<=10; when "100"=>Disp_Temp<=SEC10; when "011"=>Disp_Temp<=SEC1; when "010"=>Disp_Temp<=10; when "001"=>Disp_Temp<=mSEC10; when "000"=>Disp_Temp<=mSEC1; end case; else case (SEL+1) is when "111"=>Disp_Temp<=HOUR10; when "110"=>Disp_Temp<=HOUR1; when "101"=>Disp_Temp<=10; when "100"=>Disp_Temp<=MIN10; when "011"=>Disp_Temp<=MIN1; when "010"=>Disp_Temp<=10; when "001"=>Disp_Temp<=SEC10; when "000"=>Disp_Temp<=SEC1; end case; end if; end process; process(Clk1khz) begin if(Clk1khz'event and Clk1khz='1') then --扫描累加 SEL<=SEL+1; ledag<=Disp_Decode; end if; end process; process(Disp_Temp) --显示转换 begin case Disp_Temp is when 0=>Disp_Decode<="0111111"; --0 when 1=>Disp_Decode<="0000110"; --1 when 2=>Disp_Decode<="1011011"; --2 when 3=>Disp_Decode<="1001111"; --3 when 4=>Disp_Decode<="1100110"; --4 when 5=>Disp_Decode<="1101101"; --5 when 6=>Disp_Decode<="1111101"; --6 when 7=>Disp_Decode<="0000111"; --7 when 8=>Disp_Decode<="1111111"; --8 when 9=>Disp_Decode<="1101111"; --9 when 10=>Disp_Decode<="1000000"; --- when others=>Disp_Decode<="0000000"; --全灭 end case; end process; end behave;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服